如何将多个图像从一个活动发送/保存到另一个活动?

时间:2014-04-03 06:18:09

标签: android image android-camera sharedpreferences image-gallery

假设我有四个或五个图像,无论是来自相机还是画廊那部分我做过。现在 我想让那些四或五个图像在另一个活动中我该怎么做, 正如你在olx应用程序中看到的那样。 任何人都可以帮助我解决这个问题。

在我的代码下面: -

 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();

 SharedPreferences sp = getSharedPreferences("ImageSharedPref", 0); // Open SharedPreferences with name AppSharedPref
 Editor editor = sp.edit();
 editor.putString("picturePath", picturePath); // Store selectedImagePath with key "ImagePath". This key will be then used to retrieve data.         
 editor.commit();

2 个答案:

答案 0 :(得分:0)

将所有图像路径存储在ArrayList> ,将此列表传递给intent,并在下一个活动中使用列表索引获取所有图像路径。

答案 1 :(得分:0)

将这些图像文件的路径保存在ArrayList中。

活动A:

ArrayList<Uri> myList = new ArrayList<Uri>();

intent.putExtra("pathList", myList);

活动B:

ArrayList<Uri> myList = (ArrayList<Uri>) getIntent().getSerializableExtra("mylist");

获得活动B中的路径列表后,您始终可以使用Uri访问它。

要获取从图库或相机中选择的图像的Uri:

public void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (resultCode == RESULT_OK) {

     Uri selectedImageUri = data.getData();