• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              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方法, 
                         * 這個方法執(zhí)行完后都會執(zhí)行onActivityResult方法, 所以為了區(qū)別到底選擇了那個方式獲取圖片要進行判斷, 
                         * 這里的requestCode跟startActivityForResult里面第二個參數對應 
                         
            */  
                        
            if (requestCode == 0)  
                        {  
                            
            try  
                            {  
                                
            // 獲得圖片的uri  
                                Uri originalUri = data.getData();  
                                
            // 將圖片內容解析成字節(jié)數組  
                                mContent = readStream(resolver.openInputStream(Uri.parse(originalUri.toString())));  
                                
            // 將字節(jié)數組轉換為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開發(fā)
            久久93精品国产91久久综合| 国产精品久久久久国产A级| 99久久精品无码一区二区毛片| 性欧美丰满熟妇XXXX性久久久| 精品国产乱码久久久久久郑州公司| 久久美女网站免费| 开心久久婷婷综合中文字幕| 久久精品国产久精国产思思| 91久久福利国产成人精品| 婷婷久久精品国产| .精品久久久麻豆国产精品 | 色偷偷91久久综合噜噜噜噜| 777午夜精品久久av蜜臀| 国产91久久精品一区二区| 久久青青草原精品国产不卡| 久久精品蜜芽亚洲国产AV| 香蕉99久久国产综合精品宅男自 | 欧美午夜A∨大片久久| 日韩AV无码久久一区二区 | 久久久久九国产精品| 99久久99这里只有免费费精品 | 99精品国产综合久久久久五月天| 久久精品成人欧美大片| 成人妇女免费播放久久久| 久久夜色精品国产欧美乱| 亚洲精品国产综合久久一线| 99久久国产综合精品五月天喷水 | 国产精品久久婷婷六月丁香| 色噜噜狠狠先锋影音久久| 久久综合狠狠综合久久综合88| 国产成人精品综合久久久久| 亚洲国产成人久久一区久久| 精品无码久久久久久国产| 国产A级毛片久久久精品毛片| 亚洲国产成人久久精品影视| 99热成人精品热久久669| 乱亲女H秽乱长久久久| 久久青青草原亚洲av无码app| 精品无码久久久久国产| 久久99国产乱子伦精品免费| 伊人久久综在合线亚洲2019|