2012-07-31 52 views
4

我想创建一个简单的应用程序,我想从SD卡获取图像,但无法成功。 我的代码是低于如何从android中的SD卡获取图像?

File myFile = new File("/sdcard/photo.jpg"); 
ImageView jpgView = (ImageView)findViewById(R.id.imageView); 
BitmapDrawable d = new BitmapDrawable(getResources(), myFile.getAbsolutePath()); 
jpgView.setImageDrawable(d); 

但是无法获取图像。

+0

你必须使用jpgView.setImageBitmap(d),而不是jpgView.setImageBitmap(d)。 – 2012-07-31 12:34:36

回答

14

使用下面的代码,而不是你的代码。

File f = new File("/mnt/sdcard/photo.jpg"); 
ImageView mImgView1 = (ImageView)findViewById(R.id.imageView); 
Bitmap bmp = BitmapFactory.decodeFile(f.getAbsolutePath()); 
mImgView1.setImageBitmap(bmp); 
2

试试这个...

Bitmap bitmap = BitmapFactory.decodeFile(myFile.getAbsolutePath()); 
jpgView.setImageBitmap(bitmap); 
3
package com.example.facebook; 
import android.net.Uri; 
import android.os.Bundle; 
import android.provider.MediaStore; 
import android.app.Activity; 
import android.content.Intent; 
import android.database.Cursor; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageView; 

public class Facebookhome extends Activity { 
    Button share; 
    Uri screenshotUri; 
    private static final int SELECT_PICTURE = 1; 
    private String selectedImagePath; 

    @Override 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_facebookhome); 
     share = (Button) findViewById(R.id.button1); 
     img = (ImageView) findViewById(R.id.imageView1); 

     share.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Intent intent = new Intent(); 
       intent.setType("image/*"); 
       intent.setAction(Intent.ACTION_GET_CONTENT); 
       startActivityForResult(
         Intent.createChooser(intent, "Select Picture"), 
         SELECT_PICTURE); 
      } 
     }); 
    } 

    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (resultCode == RESULT_OK) { 
      if (requestCode == SELECT_PICTURE) { 
       Uri selectedImageUri = data.getData(); 
       selectedImagePath = getPath(selectedImageUri); 
       System.out.println("Image Path : " + selectedImagePath); 
       img.setImageURI(selectedImageUri); 
      } 
     } 
    } 

    public String getPath(Uri uri) { 
     String[] projection = { MediaStore.Images.Media.DATA }; 
     Cursor cursor = managedQuery(uri, projection, null, null, null); 
     int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } 
} 
+0

从SD卡获取图像并访问该位图... !!!! :) – 2013-11-25 07:38:15