Java 解析图像文件的路径
我有一个imageView,我正试图根据用户从其图库中选择的图像的文件路径设置图像。我将该路径放入数据库,然后将该路径传递到另一个活动中,以设置要显示的imageView。路径在所有步骤返回,如图所示Java 解析图像文件的路径,java,android,Java,Android,我有一个imageView,我正试图根据用户从其图库中选择的图像的文件路径设置图像。我将该路径放入数据库,然后将该路径传递到另一个活动中,以设置要显示的imageView。路径在所有步骤返回,如图所示 /external/images/media/23 在通过被调用的方法接收路径之后,在传递路径之前,我使用了多次祝酒来检查活动中的路径,因此我知道路径是从一个活动正确发送到另一个活动的。但是,当我使用以下代码设置imageView时,不会显示任何内容 File imgFile; //Bitmap
/external/images/media/23
在通过被调用的方法接收路径之后,在传递路径之前,我使用了多次祝酒来检查活动中的路径,因此我知道路径是从一个活动正确发送到另一个活动的。但是,当我使用以下代码设置imageView时,不会显示任何内容
File imgFile;
//Bitmap moviePic;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_movie_view);
Bundle income = getIntent().getExtras();
if(income != null)
{
mTitle = income.getString("title");
mYear = income.getString("year");
id = income.getLong("id");
mPath = income.getString("path");
}
Toast.makeText(this, "path: " + mPath, Toast.LENGTH_SHORT).show();
imV = (ImageView) findViewById(R.id.movieImage);
//moviePic = BitmapFactory.decodeFile(mPath);
imgFile = new File(mPath);
imV.setImageURI(Uri.fromFile(imgFile));
//imV.setImageResource(R.drawable.top);
mVT = (TextView) findViewById(R.id.movieViewTitle);
mVT.setText(mTitle);
mVY = (TextView) findViewById(R.id.movieViewYear);
mVY.setText(mYear);
delete = (Button) findViewById(R.id.deleteMovie);
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent deleting = new Intent();
deleting.putExtra("Id", id);
setResult(RESULT_OK, deleting);
finish();
}
});
}
我猜我的文件路径有问题。下面是我用来解析路径的代码
imgV.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent addImage = new
Intent(android.content.Intent.ACTION_PICK);
addImage.setType("image/*");
startActivityForResult(addImage, 1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
super.onActivityResult(requestCode, resultCode, intent);
switch(requestCode)
{
case 1:
if(resultCode == RESULT_OK)
{
Uri image = intent.getData();
imgV.setImageURI(image);
moviePath = image.getPath();
Toast.makeText(this, moviePath, Toast.LENGTH_LONG).show();
}
}
}
}
为了找到图像文件,我使用了android emulator,浏览谷歌图像并下载了一两个。当我查看DDMS时,它将它们放在mnt\sdcar\download\文件夹中,这显然不同于它们使用image.getPath()方法解析的路径。是否有其他方法可以解析路径?或者是我在仿真器文件路径的工作方式上遗漏了什么