2013-11-28 6 views
0

Я хотел бы знать, как я смог бы получить доступ к строкам из своих общих настроек (я уже настроил), а затем выводя его в массив String, чтобы мой сборщик изображений был способный читать его (он должен быть массивом для чтения).Общие предпочтения для массива String

В одной деятельности я устанавливаю общие предпочтения:

 case R.id.FavouriteWallpaper: 

     SharedPreferences prefs; 
     prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putString("imgUrl", mImageUrl); 
     editor.commit(); 

    } 
    return super.onOptionsItemSelected(item); 
} 

В другом классе я получаю строку из общих предпочтений:

  SharedPreferences prefs; 
     prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); 
     prefs.getString("imgUrl", null); //Output imgUrl to String Array somehow 


// I would like my image fetcher to read a string array that has been fetched from shared preferences. 

mImageFetcher.loadImage(Fragment3.imgUrl[position 
       - mNumColumns], imageView); 

     return imageView; 
    } 
+0

u может взять идею из моего решения ... –

ответ

0

Вы не можете сохранить массив в SharedPrerences, но вы можете сохранить все свои URL-адреса в строке, такой как CSV (значения, разделенные запятой), и сохранить их в sharePreferences. Вы можете написать менеджер, который будет иметь 2 метода. Один, чтобы преобразовать ваш массив в CSV и сохранить, а второй получить CSV и преобразовать его в массив. Второй способ - сохранить данные, подобные JSONArray, для этого вам также нужно написать менеджер, который также будет иметь 2 метода, один из которых преобразует ваш массив в JSONArray и сохранит его в общих предпочтениях, а второй - для преобразования jsonArray в ваш массив.

+0

Хорошо, спасибо за совет, есть ли у вас какие-нибудь примеры, на которые я мог бы взглянуть? – Jack

+0

Я скоро поделюсь – Eddy

+0

[Вот ссылка] (https://github.com/croitor-ivan/sources/blob/master/SaveToSharedPrefs) – Eddy

0

вы можете получить строки с помощью цикла

экзамен ...

 SharedPreferences prefs; 
     prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putString("imgUrl", mImageUrl); 


for(int i=0; i<arraylist.size(); i++) 
{ 
editor.putString("imgUrl"+i, arraylist.get(i).toString()); 

} 
editor.commit(); 
Смежные вопросы