• <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 閱讀(466) 評論(0)  編輯 收藏 引用 所屬分類: Android開發
            久久久久一本毛久久久| 99久久综合狠狠综合久久止| 久久有码中文字幕| 中文字幕人妻色偷偷久久 | 亚洲国产精品成人久久蜜臀| 精品久久久久久无码不卡| 久久精品水蜜桃av综合天堂| 久久国产精品二国产精品| 久久精品水蜜桃av综合天堂| 久久成人精品| 亚洲国产精品婷婷久久| 久久毛片一区二区| 久久精品国产精品亚洲人人| 久久综合给合久久狠狠狠97色 | 久久国产精品成人影院| 久久久WWW成人| 国产精品久久一区二区三区 | 久久无码国产专区精品| 91久久精品国产91性色也| 人妻无码中文久久久久专区| 欧美一级久久久久久久大| 久久青青草原精品影院| 国产精品久久久久影院嫩草| 亚洲AV无码久久精品蜜桃| 久久男人中文字幕资源站| 老司机国内精品久久久久| 99精品久久久久中文字幕| 狼狼综合久久久久综合网| 久久久久亚洲av成人网人人软件| 久久激情五月丁香伊人| 久久99精品久久久久久野外| 久久福利青草精品资源站免费| 亚洲AV无码久久精品成人 | 亚洲国产另类久久久精品小说 | 久久er国产精品免费观看2| 久久人人爽人人爽人人AV | 国产免费久久精品99re丫y| 午夜精品久久久久成人| 久久亚洲国产精品成人AV秋霞 | 99久久99久久精品国产片| 嫩草影院久久99|