使用sharedpreferences上传多张图片

时间:2016-08-19 09:07:41

标签: java android upload

我正在开发一个图片上传应用。它的工作正常,只有一张图片。 当我点击图片时,我得到了media_id和我必须上传图片的网址。这没关系。

当我选择多个图像时,我将收到的响应存储在sharedpref - putString。

问题是,总是最后一个是在共享偏好中,这是合乎逻辑的。我希望保存所有收到的回复,以便在上传开始时通过。

我也尝试过使用putStringSet,但是在这种情况下,我不能在上传时传递它,因为它等待字符串。

这是一个简单的解决方案吗?

String media_id = response.getString("media_id");
String content_url = response.getString("content_url");

SharedPreferences sharedPref1 = getSharedPreferences("server", Context.MODE_PRIVATE);
SharedPreferences.Editor editor2 = sharedPref1.edit(); 

editor2.putString("content_url", content_url);
editor2.putString("media_id", media_id);

如果我有多个图像,我会得到多个响应,(例如,不仅仅是一个media_id)。

这就是我收到它们的方式:

SharedPreferences sharedPref1 = getSharedPreferences("server", Context.MODE_PRIVATE);

        String content_url1 = sharedPref1.getString("content_url", "");

        String media_id1 = sharedPref1.getString("media_id", "");

如何保存多个并稍后传递它们?感谢。

1 个答案:

答案 0 :(得分:1)

您可以将其转换为JSON String并将该字符串存储在共享首选项中。

"images": [{
    "media_id": "some id for image1",
    "content_url": "some url for image1",

}, {
    "media_id": "some id for image2",
    "content_url": "some url for image3",

},
        {
  "media_id": "some id for image3",
  "content_url": "some url for image3",

   },

]