• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            life02

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              197 隨筆 :: 3 文章 :: 37 評論 :: 0 Trackbacks
            http://blog.csdn.net/raphael55/article/details/6838018
               
            package com.android.cist.camera.view;  
                  
                
            import java.io.ByteArrayOutputStream;  
                
            import java.io.InputStream;  
                
            import java.util.HashMap;  
                
            import java.util.Map;  
                  
                
            import android.app.Activity;  
                
            import android.app.AlertDialog;  
                
            import android.content.ContentResolver;  
                
            import android.content.DialogInterface;  
                
            import android.content.Intent;  
                
            import android.graphics.Bitmap;  
                
            import android.graphics.BitmapFactory;  
                
            import android.net.Uri;  
                
            import android.os.Bundle;  
                
            import android.os.Handler;  
                
            import android.os.Message;  
                
            import android.view.View;  
                
            import android.view.View.OnClickListener;  
                
            import android.widget.Button;  
                
            import android.widget.EditText;  
                
            import android.widget.ImageView;  
                
            import android.widget.LinearLayout;  
                
            import android.widget.Toast;  
                  
                
            import com.android.cist.R;  
                
            import com.android.cist.network.HttpUtil;  
                
            import com.android.cist.network.form.FormFile;  
                
            import com.android.cist.network.form.HttpFormUtil;  
                
            import com.android.cist.util.ApplicationUtil;  
                
            import com.android.cist.util.ImageUtil;  
                  
                
            public class CameraActivity extends Activity implements OnClickListener{  
                    
            private ImageView preview;  
                    
            private EditText carNo;  
                    
            private EditText addres;  
                    
            private EditText type;  
                    
            private Button back;  
                    
            private Button submit;  
                    
            private Button capture;  
                    
            private Button reCapture;  
                    
            private OnClickListener imgViewListener;  
                    
            private Bitmap myBitmap;  
                    
            private byte[] mContent;  
                    
            private Handler handler;  
                    String returnString;  
                    
            private CalendarView happenDate;  
                    
            private static final int REQUEST_CAMERA = 1;  
                    
            private static final int REQUEST_CALENDAR = 2;  
                  
                    @ Override  
                    
            public void onCreate ( Bundle savedInstanceState )  
                    {  
                        
            super.onCreate(savedInstanceState);  
                        setContentView(R.layout.camera);  
                        setUpViews();  
                        setUpListeners();  
                        ApplicationUtil.getInstance().addActivity(
            this);  
                    }  
                  
                    @ Override  
                    
            protected void onActivityResult ( int requestCode , int resultCode , Intent data )  
                    {  
                        
            super.onActivityResult(requestCode, resultCode, data);  
                  
                        ContentResolver resolver 
            = getContentResolver();  
                        
            /** 
                         * 因為兩種方式都用到了startActivityForResult方法, 
                         * 這個方法執行完后都會執行onActivityResult方法, 所以為了區別到底選擇了那個方式獲取圖片要進行判斷, 
                         * 這里的requestCode跟startActivityForResult里面第二個參數對應 
                         
            */  
                        
            if (requestCode == 0)  
                        {  
                            
            try  
                            {  
                                
            // 獲得圖片的uri  
                                Uri originalUri = data.getData();  
                                
            // 將圖片內容解析成字節數組  
                                mContent = readStream(resolver.openInputStream(Uri.parse(originalUri.toString())));  
                                
            // 將字節數組轉換為ImageView可調用的Bitmap對象  
                                myBitmap = getPicFromBytes(mContent, null);  
                                
            // //把得到的圖片綁定在控件上顯示  
                                preview.setImageBitmap(myBitmap);  
                            } 
            catch ( Exception e )  
                            {  
                                System.out.println(e.getMessage());  
                            }  
                  
                        } 
            else if (requestCode == REQUEST_CAMERA){  
                            
            try  
                            {  
                                
            super.onActivityResult(requestCode, resultCode, data);  
                                Bundle extras 
            = data.getExtras();  
                                myBitmap 
            = (Bitmap) extras.get("data");  
                                ByteArrayOutputStream baos 
            = new ByteArrayOutputStream();  
                                myBitmap.compress(Bitmap.CompressFormat.JPEG, 
            100, baos);  
                                mContent 
            = baos.toByteArray();  
                            } 
            catch ( Exception e )  
                            {  
                                e.printStackTrace();  
                            }  
                            
            // 把得到的圖片綁定在控件上顯示  
                            preview.setImageBitmap(ImageUtil.toRoundCorner(myBitmap, 10));//把拍攝的照片轉成圓角顯示在預覽控件上  
                        }else if(requestCode==REQUEST_CALENDAR){  
                            
            if(resultCode == RESULT_OK){  
                                happenDate.setCalendar(data.getIntExtra(
            "year"1900), data.getIntExtra("month"0), data.getIntExtra("day"1));  
                            }  
                        }  
                    }  
                  
                    
            public static Bitmap getPicFromBytes ( byte[] bytes , BitmapFactory.Options opts )  
                    {  
                        
            if (bytes != null)  
                            
            if (opts != null)  
                                
            return BitmapFactory.decodeByteArray(bytes, 0, bytes.length, opts);  
                            
            else  
                                
            return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);  
                        
            return null;  
                    }  
                  
                    
            public static byte[] readStream ( InputStream inStream ) throws Exception  
                    {  
                        
            byte[] buffer = new byte[1024];  
                        
            int len = -1;  
                        ByteArrayOutputStream outStream 
            = new ByteArrayOutputStream();  
                        
            while ((len = inStream.read(buffer)) != -1)  
                        {  
                            outStream.write(buffer, 
            0, len);  
                        }  
                        
            byte[] data = outStream.toByteArray();  
                        outStream.close();  
                        inStream.close();  
                        
            return data;  
                    }  
                  
                    @Override  
                    
            public void onClick(View v) {  
                        
            int id = v.getId();  
                        
            switch(id){  
                            
            case R.id.capture:{  
                                
            final CharSequence[] items =  
                                { 
            "相冊""拍照" };  
                                AlertDialog dlg 
            = new AlertDialog.Builder(CameraActivity.this).setTitle("選擇圖片").setItems(items,  
                                        
            new DialogInterface.OnClickListener()  
                                        {  
                                            
            public void onClick ( DialogInterface dialog , int item )  
                                            {  
                                                
            // 這里item是根據選擇的方式,  
                                                
            // 在items數組里面定義了兩種方式,拍照的下標為1所以就調用拍照方法  
                                                if (item == 1){  
                                                    Intent getImageByCamera 
            = new Intent("android.media.action.IMAGE_CAPTURE");  
                                                    startActivityForResult(getImageByCamera, REQUEST_CAMERA);  
                                                } 
            else{  
                                                    Intent getImage 
            = new Intent(Intent.ACTION_GET_CONTENT);  
                                                    getImage.addCategory(Intent.CATEGORY_OPENABLE);  
                                                    getImage.setType(
            "image/jpeg");  
                                                    startActivityForResult(getImage, 
            0);  
                                                }  
                                            }  
                                        }).create();  
                                dlg.show();  
                            }  
                            
            break;  
                            
            /*case R.id.reCapture:{ 
                                final CharSequence[] items = 
                                { "相冊", "拍照" }; 
                                AlertDialog dlg = new AlertDialog.Builder(CameraActivity.this).setTitle("選擇圖片").setItems(items, 
                                        new DialogInterface.OnClickListener() 
                                        { 
                                            public void onClick ( DialogInterface dialog , int item ) 
                                            { 
                                                // 這里item是根據選擇的方式, 
                                                // 在items數組里面定義了兩種方式,拍照的下標為1所以就調用拍照方法 
                                                if (item == 1) 
                                                { 
                                                    Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE"); 
                                                    startActivityForResult(getImageByCamera, 1); 
                                                } else 
                                                { 
                                                    Intent getImage = new Intent(Intent.ACTION_GET_CONTENT); 
                                                    getImage.addCategory(Intent.CATEGORY_OPENABLE); 
                                                    getImage.setType("image/jpeg"); 
                                                    startActivityForResult(getImage, 0); 
                                                } 
                                            } 
                                        }).create(); 
                                dlg.show(); 
                            } 
                            break;
            */  
                            
            case R.id.submit:{  
                                
            new PostThread().start();//開啟線程提交數據  
                            }  
                            
            break;  
                            
            case R.id.back:{  
                                CameraActivity.
            this.finish();//返回,銷毀當前Activity  
                            }  
                            
            break;  
                            
            default:  
                            
            break;  
                        }  
                    }  
                      
                } 
            posted on 2011-12-15 22:25 life02 閱讀(467) 評論(0)  編輯 收藏 引用 所屬分類: Android開發
            久久精品亚洲精品国产色婷| 久久天堂AV综合合色蜜桃网| 久久最近最新中文字幕大全| 久久久久综合网久久| 久久青青草原精品国产不卡| 久久亚洲精品无码VA大香大香| 男女久久久国产一区二区三区| 女人香蕉久久**毛片精品| 亚洲精品WWW久久久久久| 欧美一区二区三区久久综| 精品久久久无码中文字幕| 国色天香久久久久久久小说| 亚洲国产精品久久久久婷婷老年| 久久久久人妻一区精品| 国产∨亚洲V天堂无码久久久| 久久综合九色综合久99| 伊人久久大香线蕉亚洲| 久久99精品久久久久久水蜜桃| 久久综合噜噜激激的五月天| 久久久久香蕉视频| 国产精品久久久久天天影视| 久久久久久国产精品美女| 久久精品这里只有精99品| 66精品综合久久久久久久| 色诱久久久久综合网ywww| 久久天天躁狠狠躁夜夜不卡| 亚洲国产精品久久久久婷婷老年| 99久久人妻无码精品系列蜜桃| 伊人色综合久久天天人守人婷| 精品国产91久久久久久久a| 久久99久久99小草精品免视看 | 欧美久久一区二区三区| 国产精品久久久天天影视香蕉 | 久久精品国产亚洲av水果派| 久久精品国产免费观看三人同眠| 久久亚洲精品无码播放| 国产毛片久久久久久国产毛片 | 九九久久精品无码专区| 久久久久国色AV免费观看| 久久夜色精品国产| 大香伊人久久精品一区二区|