Загружать несколько изображений с помощью sharedpreferences

70
8

Я разрабатываю приложение для загрузки изображений. Он работает отлично с одной картиной. Когда я нажимаю на изображение, я получаю media_id и URL-адрес, где мне нужно загрузить изображение. Это нормально.

Когда я выбираю несколько изображений, я сохраняю полученный ответ в sharedpref - putString.

проблема в том, что всегда последняя находится в sharedpreferences, что логично. Я хочу сохранить все полученные ответы, чтобы их можно было передать при загрузке.

Я также попытался использовать 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", "");

Как сохранить несколько и передать их позже? Благодарю.

спросил(а) 2016-08-19T12:07:00+03:00 4 года, 1 месяц назад
1
Решение
57

Вы можете преобразовать его в строку 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",

},

]

ответил(а) 2016-08-19T12:16:00+03:00 4 года, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема