歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android基礎教程之獲得本地照片

Android基礎教程之獲得本地照片

日期:2017/3/1 10:31:09   编辑:Linux編程

這是Intent的一個用法。

在ActivityAction裡面有一個“ACTION_GET_CONTENT”字符串常量,該常量讓用戶選擇特定類型的數據。

intent.setType("image/*"); 選擇本地所有的圖片。

返回該數據的URI.我們利用該常量生成該圖片的位圖Bitmap,然後為添加到圖片控件(ImageView)上就行了。

選擇你想要的圖片:

Android基礎教程之獲得本地照片源碼下載地址

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2012年資料/2月/17日/Android基礎教程之獲得本地照片/

main.xml

[java]
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <Button
  8. android:id="@+id/button"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. />
  12. <ImageView
  13. android:id="@+id/image"
  14. android:layout_width="fill_parent"
  15. android:scaleType="fitXY"
  16. android:layout_height="wrap_content"
  17. />
  18. </LinearLayout>

[java]

  1. package xiaosi.image;
  2. import java.io.FileNotFoundException;
  3. import android.app.Activity;
  4. import android.content.ContentResolver;
  5. import android.content.Intent;
  6. import android.graphics.Bitmap;
  7. import android.graphics.BitmapFactory;
  8. import android.net.Uri;
  9. import android.os.Bundle;
  10. import android.util.Log;
  11. import android.view.View;
  12. import android.view.View.OnClickListener;
  13. import android.widget.Button;
  14. import android.widget.ImageView;
  15. public class ImageActivity extends Activity {
  16. /** Called when the activity is first created. */
  17. private Button button = null;
  18. private ImageView imageView = null;
  19. @Override
  20. public void onCreate(Bundle savedInstanceState) {
  21. super.onCreate(savedInstanceState);
  22. setContentView(R.layout.main);
  23. button = (Button)findViewById(R.id.button);
  24. button.setText("選擇圖片");
  25. button.setOnClickListener(new ButtonListener());
  26. }
  27. private class ButtonListener implements OnClickListener{
  28. public void onClick(View v)
  29. {
  30. Intent intent = new Intent();
  31. /* 開啟Pictures畫面Type設定為image */
  32. intent.setType("image/*");
  33. /* 使用Intent.ACTION_GET_CONTENT這個Action */
  34. intent.setAction(Intent.ACTION_GET_CONTENT);
  35. /* 取得相片後返回本畫面 */
  36. startActivityForResult(intent, 1);
  37. }
  38. }
  39. @Override
  40. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  41. if (resultCode == RESULT_OK) {
  42. Uri uri = data.getData();
  43. Log.e("uri", uri.toString());
  44. ContentResolver contentResolver = this.getContentResolver();
  45. try {
  46. Bitmap bitmap = BitmapFactory.decodeStream(contentResolver.openInputStream(uri));
  47. imageView = (ImageView) findViewById(R.id.image);
  48. /* 將Bitmap設定到ImageView */
  49. imageView.setImageBitmap(bitmap);
  50. }
  51. catch (FileNotFoundException e){
  52. Log.e("Exception", e.getMessage(),e);
  53. }
  54. }
  55. super.onActivityResult(requestCode, resultCode, data);
  56. }
  57. }
Copyright © Linux教程網 All Rights Reserved