2016-08-19 11 views
0

私は画像アップローダーアプリを開発しています。 1つの画像でうまく動作します。 イメージをクリックすると、イメージをアップロードする必要があるmedia_idとURLが取得されます。これは大丈夫です。sharedpreferencesで複数の画像をアップロード

複数の画像を選択すると、受信したレスポンスを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); 

複数の画像がある場合は、複数の応答があります(たとえば、1つ以上のmedia_idなど)。

これは私がそれらを受け取る方法です:

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

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

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

複数保存して後で渡す方法は?ありがとう。

答えて

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", 

    }, 

] 
+0

しかし、私は、例えばmedia_idこの、またはJSONで問題はありませんcontent_url – Janos

+0

チェックアウト私の編集 –

+0

に同じ鍵...と、複数の文字列を持っています。また、SharedPreferencesに2つのString配列を格納することもできます。 1つはmedia_id、もう1つはcontent_urlsです – Chris623

関連する問題