공유 환경 설정에서 String 배열을 넣고 가져옵니다.
공유 환경 설정에 문자열 배열을 저장하고 그 후에 가져와야합니다. 나는 이것을 시도했다 :
prefsEditor.putString(PLAYLISTS, playlists.toString());
재생 목록은 String[]
그리고 얻을 :
playlist= myPrefs.getString(PLAYLISTS, "playlists");
재생 목록이 String
있지만 작동하지 않습니다.
어떻게 할 수 있습니까? 누구든지 나를 도울 수 있습니까?
미리 감사드립니다.
다음과 같이 배열의 고유 한 문자열 표현을 만들 수 있습니다.
StringBuilder sb = new StringBuilder();
for (int i = 0; i < playlists.length; i++) {
sb.append(playlists[i]).append(",");
}
prefsEditor.putString(PLAYLISTS, sb.toString());
그런 다음 SharedPreferences에서 문자열을 가져 오면 다음과 같이 구문 분석하면됩니다.
String[] playlists = playlist.split(",");
이것은 일을 할 것입니다.
API 레벨 11에서 putStringSet 및 getStringSet을 사용하여 문자열 세트를 저장 / 검색 할 수 있습니다.
SharedPreferences pref = context.getSharedPreferences(TAG, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putStringSet(SOME_KEY, someStringSet);
editor.commit();
SharedPreferences pref = context.getSharedPreferences(TAG, Context.MODE_PRIVATE);
Set<String> someStringSet = pref.getStringSet(SOME_KEY);
JSON을 사용하여 배열을 문자열로 직렬화하고 기본 설정에 저장할 수 있습니다. 비슷한 질문에 대한 내 대답과 샘플 코드를 참조하십시오.
Android에서 배열에 대한 공유 기본 설정을 만드는 코드를 어떻게 작성할 수 있습니까?
HashSet<String> mSet = new HashSet<>();
mSet.add("data1");
mSet.add("data2");
saveStringSet(context, mSet);
어디
public static void saveStringSet(Context context, HashSet<String> mSet) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = sp.edit();
editor.putStringSet(PREF_STRING_SET_KEY, mSet);
editor.apply();
}
과
public static Set<String> getSavedStringSets(Context context) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
return sp.getStringSet(PREF_STRING_SET_KEY, null);
}
private static final String PREF_STRING_SET_KEY = "string_set_key";
Store array list in prefrence using this easy function, if you want more info Click here
public static void storeSerializeArraylist(SharedPreferences sharedPreferences, String key, ArrayList tempAppArraylist){
SharedPreferences.Editor editor = sharedPreferences.edit();
try {
editor.putString(key, ObjectSerializer.serialize(tempAppArraylist));
editor.apply();
} catch (IOException e) {
e.printStackTrace();
}
}
And how to get stored array list from prefrence
public static ArrayList getSerializeArraylist(SharedPreferences sharedPreferences, String key){
ArrayList tempArrayList = new ArrayList();
try {
tempArrayList = (ArrayList) ObjectSerializer.deserialize(sharedPreferences.getString(key, ObjectSerializer.serialize(new ArrayList())));
} catch (IOException e) {
e.printStackTrace();
}
return tempArrayList;
}
ReferenceURL : https://stackoverflow.com/questions/7965290/put-and-get-string-array-from-shared-preferences
'Program Tip' 카테고리의 다른 글
Enumerable # collect에서 반복 건너 뛰기 (0) | 2021.01.10 |
---|---|
Java에서 디렉토리가 비어 있는지 확인하는 방법 (0) | 2021.01.10 |
Java에서 할 수있는 것처럼 PHP에서 한 번에 여러 변수를 할당 할 수 있습니까? (0) | 2021.01.10 |
SQL Server JOIN에 NULL 값이 없습니다. (0) | 2021.01.10 |
단계별 Symfony2 파일 업로드 (0) | 2021.01.10 |