欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

android照相及照片上傳實現代碼

admin
2013年2月25日 13:26 本文熱度 4500
本文章來介紹了關于手機開發之android來實現android照相及照片功能,有需要學習的同學可以參考一下。
 代碼如下
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; 
        } 
    } 

該文章在 2013/2/25 13:26:08 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved