標籤:android camera imageview camera360 bitmap
Android系統裡調用手機拍照的功能有兩種方法一種直接調用手機內建的相機另一種就是使用自己做的拍照應用。比如Camera360 一款於各作業系統都有的的功能強大的手機攝影軟體;能拍攝出不同風格,不同特效的照片,同時具有雲端服務和互連網分享功能,全球使用者已經超過2.5億。現在專門的開發一款手機攝影軟體肯定沒多大意義,已經比不過這些前輩了,我們只需學會如何調用手機內建的攝像機完成拍照並把照片擷取過來,為使用者提供上傳頭像,發表圖文微博,傳送圖片的功能即可。完成上述的功能十分的簡單,甚至不需要在資訊清單檔添加任何許可權,只需要一步即可實現。
package com.example.g06_camera01;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.view.View;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity {private ImageView imageView;private Button button;private final int CAMREA_RESQUSET = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView = (ImageView) this.findViewById(R.id.imageView1);button = (Button) this.findViewById(R.id.button1);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(intent, CAMREA_RESQUSET);}});} //使用意圖的回傳值,判斷照片是否已拍攝完畢@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubsuper.onActivityResult(requestCode, resultCode, data);if (requestCode == CAMREA_RESQUSET && resultCode == RESULT_OK) {Bundle bundle = data.getExtras();Bitmap bitmap = (Bitmap) bundle.get("data");imageView.setImageBitmap(bitmap);}}}