Android獲取本地圖片并顯示

jopen 9年前發布 | 5K 次閱讀 Java Android

import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Base64;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

public class MainActivity extends Activity {
private ImageView iv;
private OnClickListener imgViewListener;
private Bitmap myBitmap;
private int REQUEST_OK = 1;
private LinearLayout ly_list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.iv);
ly_list=(LinearLayout) findViewById(R.id.ly_list);
iv.setOnClickListener(new OnClickListener() {

        @Override  
        public void onClick(View arg0) {  
            // TODO Auto-generated method stub  
            Intent intent = new Intent();    
            //intent = new Intent(Intent.ACTION_GET_CONTENT);  
            /* 開啟Pictures畫面Type設定為image */    
            intent.setType("image/*");    
            /* 使用Intent.ACTION_GET_CONTENT這個Action */    
            intent.setAction(Intent.ACTION_GET_CONTENT);     
            /* 取得相片后返回本畫面 */    
            startActivityForResult(intent, 1);    

        }  
    });  
}  

@Override  
protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    // TODO Auto-generated method stub  
    if (requestCode  == REQUEST_OK) {  
        Uri selectedImage = data.getData();  
        try {  
            Bitmap bitmap = BitmapFactory.decodeStream(this  
                    .getContentResolver().openInputStream(Uri.parse(selectedImage.toString())));  
            iv.setImageBitmap(bitmap);  
            Toast.makeText(getApplicationContext(), "上傳成功",  
                    Toast.LENGTH_SHORT).show();  
        } catch (FileNotFoundException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
    }  
    super.onActivityResult(requestCode, resultCode, data);  
}  

// 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 in) throws Exception {
// byte[] buffer = new byte[1024];
// int len = -1;
// ByteArrayOutputStream outStream = new ByteArrayOutputStream();
//
// while ((len = in.read(buffer)) != -1) {
// outStream.write(buffer, 0, len);
// }
// byte[] data = outStream.toByteArray();
// outStream.close();
// in.close();
// return data;
// }

} </pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!