Android Studio - 如何从图库中获取图像然后保存
Android Studio - How do you get image from gallery and then save it
我有一个包含按钮的应用程序。当您按下按钮时,应用程序会将您转到手机 phone 的图片库。然后你 select 图像,它将出现在按钮上方的图像视图中。这一切都没有问题,但唯一不好的是当我关闭并重新打开应用程序时。图像消失了。有人知道这样做的方法吗?
代码如下:
Button imageButton = (Button) findViewById(R.id.pictureButton);
imageButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, 1);
}
});
这是用于打开图库的按钮。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
ImageView imageView = (ImageView) findViewById(R.id.userPicture);
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
}
这是处理获取图片并将其显示在应用程序上的代码。
至于我如何保存数据,我对文本、复选框和滑块使用共享首选项。但它只对图像不起作用。
所以我想要保存图像,以便在我重新打开应用程序时加载它。
U 可以将 picturePath 字符串保存到文件中。一个非常简单的方法是使用 Properties object。
然后每次打开activity,打开属性文件,读出保存的路径。然后你可以用你已有的部分代码重新设置它。
我有一个包含按钮的应用程序。当您按下按钮时,应用程序会将您转到手机 phone 的图片库。然后你 select 图像,它将出现在按钮上方的图像视图中。这一切都没有问题,但唯一不好的是当我关闭并重新打开应用程序时。图像消失了。有人知道这样做的方法吗?
代码如下:
Button imageButton = (Button) findViewById(R.id.pictureButton);
imageButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, 1);
}
});
这是用于打开图库的按钮。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
ImageView imageView = (ImageView) findViewById(R.id.userPicture);
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
}
这是处理获取图片并将其显示在应用程序上的代码。
至于我如何保存数据,我对文本、复选框和滑块使用共享首选项。但它只对图像不起作用。
所以我想要保存图像,以便在我重新打开应用程序时加载它。
U 可以将 picturePath 字符串保存到文件中。一个非常简单的方法是使用 Properties object。 然后每次打开activity,打开属性文件,读出保存的路径。然后你可以用你已有的部分代码重新设置它。