Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 【Android圖像處理】從相冊選擇一張圖片並分享

【Android圖像處理】從相冊選擇一張圖片並分享

編輯:關於Android編程

說到圖像處理,第一件事就是要從手機相冊選擇圖片,然後才是處理。其實,用代碼實現從手機相冊選擇一張圖片其實非常簡單:

添加一個Button,id設為btnOpen;
對該Button設置OnClickListener();OnClickListener方法中startActivityForResult,跳轉到選擇圖片的界面並帶回結果;實現onActivityResult()方法;

startActivityForResult方法如下:

 

//打開相冊按鈕事件偵聽器
		btnOpen.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				//跳轉到選擇圖片界面
				startActivityForResult(new Intent("android.intent.action.PICK",
						MediaStore.Images.Media.EXTERNAL_CONTENT_URI), REQUEST_GET_PHOTO); 

				Log.d("ee", "Image path: " + ImgPath);
			}
		});
onActivityResult方法如下:

 

 

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == RESULT_OK) {
			switch (requestCode) {
			case REQUEST_GET_PHOTO: {
				if (data != null) {
					Uri uri = data.getData();
					Log.e("uri", uri.toString());
					ContentResolver cr = this.getContentResolver();
					try {
						curBitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));

						ImageView imageView = (ImageView) findViewById(R.id.imageView);
						imageView.setImageBitmap(curBitmap);

						String[] filePathColumn = {MediaStore.Images.Media.DATA};

						Cursor cursor = getContentResolver().query(uri, filePathColumn, null, null, null);
						cursor.moveToFirst();
						int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
						ImgPath = cursor.getString(columnIndex);
						Log.e("Exception", ImgPath);
					} catch (FileNotFoundException e) {
						Log.e("Exception", e.getMessage(), e);
					}
				}
				break;
			}
			}
		}
	}
運行程序,點擊按鈕,選擇對應的圖片,結果如下:

 

\

同時要實現分享功能也是很簡單的:

再添加一個Button,id為btnShare;實現btnShare的OnClickListener方法,在其中調用分享圖片的方法;實現分享圖片的方法;

OnClickListener()方法如下:

 

btnShare.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				//分享圖片
				shareSingleImage(v,ImgPath);
			}
		});
其中shareSingleImage方法如下:

 

 

	/**
	 * 分享單張圖片
	 * 
	 * @param view
	 * @param imagePath  圖片路徑
	 */
	public void shareSingleImage(View view, String imagePath) {
		Uri imageUri = Uri.fromFile(new File(imagePath));
		Log.d("share", "uri:" + imageUri);

		Intent shareIntent = new Intent();
		shareIntent.setAction(Intent.ACTION_SEND);
		shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
		shareIntent.setType("image/*");
		//跳轉到分享界面   設置分享標題
		startActivity(Intent.createChooser(shareIntent, "分享到"));
	}    
接下來點擊分享按鈕,會出現如下界面:

 

\

總結:選擇圖片並且分享很簡單。現在也有專門的sdk,例如:微信開發者平台,QQ開發者平台...,但是這些開發平台都需要去注冊並且需要通過審核,一般來說,不同的平台審核的時間有所不同,可能會需要一個星期左右,因此采用Android系統自帶的分享功能是十分明智的選擇。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved