編輯:Android開發教程
系統已經有的東西,如果我們沒有新的需求的話,直接調用是最直接的。下面講講調用系統相機拍照並保 存圖片和如何調用系統相冊的方法。
首先看看調用系統相機的核心方法:
Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camera, 100);
相機返回的數據通過下面的回調方法取得,並處理
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == CAMERA && resultCode == Activity.RESULT_OK && null != data){ Bundle bundle = data.getExtras(); //獲取相機返回的數據,並轉換為圖片格式 Bitmap bitmap = (Bitmap)bundle.get("data"); } }
下面是調用系統相冊並取得照片的方法:
Intent picture = new Intent (Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(picture, 101);
或者
intent = new Intent();intent.setType("image/*");intent.setAction (Intent.ACTION_GET_CONTENT);((Activity) context).startActivityForResult(intent, 101);
下面是相應的回調方法:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == 101 && resultCode == Activity.RESULT_OK && null != data){ Uri selectedImage = data.getData(); String[] filePathColumns={MediaStore.Images.Media.DATA}; Cursor c = this.getContentResolver().query(selectedImage, filePathColumns, null,null, null); c.moveToFirst(); int columnIndex = c.getColumnIndex(filePathColumns[0]); String picturePath= c.getString(columnIndex); c.close(); } }
或者
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { switch (requestCode) { case 101: Uri uri = data.getData(); Cursor cursor = this.getContentResolver().query(uri, null, null, null, null); cursor.moveToFirst(); String imgNo = cursor.getString(0); // 圖片編號 String imgPath = cursor.getString(1); // 圖片文件路徑 String imgSize = cursor.getString(2); // 圖片大小 String imgName = cursor.getString(3); // 圖片文件名 cursor.close(); Bitmap bitmap = BitmapFactory.decodeFile(imgPath); break; default: return; } } }
查看本欄目更多精彩內容:http://www.bianceng.cn/OS/extra/
先明確幾個概念的區別:padding margin:都是邊距的含義,關鍵問題得明白是什麼相對什麼的邊距padding:是 控件的內容相對控件的邊緣的邊距.margin &
一、“點九”是andriod平台的應用軟件開發裡的一種特殊的圖片形式,文件擴展名為:.9.png智能手機中有自動橫屏的功能,同一幅界面會在隨著手機
這個例子需要Android系統中安裝了支持RecognizerIntent.ACTION_RECOGNIZE_SPEECH的應用,比如Google的 Voice Sear
前面Android簡明開發教程一:概述簡要的介紹了Android平台,本篇說明如何安裝搭建Android開發環境。Android開發支 持Windows (Windows