키와 값 쌍 같은 일부 데이터를 내부 저장소에 저장하려고합니다. 그래서 키, 값 쌍을 저장하기 위해 HashMap을 사용하고 있습니다. 그러나이 HashMap을 sharedpreferences에 저장하고 검색하는 데 충분한 해결책은 없습니다. 해결책을 좀주세요.Android : sharedpreferences에서 Hashmap 데이터를 저장하고 검색하는 방법은 무엇입니까?
내가 아래에 내 코드를 삽입하고 :
HashMap<String, String> MapListMesasges = new HashMap<String, String>();
MapListMesasges.put(FromName, message.getBody());
preferences = mActivity.getSharedPreferences(
SharePreference_messages_history_name,
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
for (Entry<String, String> entry : MapListMesasges
.entrySet()) {
editor.putString(entry.getKey(), entry.getValue());
}
editor.commit();
및 Sharedprefernces에서 데이터를 검색 : 나는 또한 어댑터를 해시 맵 저장하고 목록보기로 설정합니다
preferences = mActivity.getSharedPreferences(
SharePreference_messages_history_name, Context.MODE_PRIVATE);
for (Entry<String, ?> entry : preferences.getAll().entrySet()) {
MapListMesasges.put(entry.getKey(), entry.getValue().toString());
}
. 내 주된 목적은 데이터를 공유 미리보기에 저장 및 검색하고 데이터를 listview에 표시하는 것입니다.
미리 감사드립니다.
당신이 점점되지 않았거나 로그 ??에서 데이터를 인쇄 적이 사용할 수 있습니까? –
무엇이 문제입니까? 값을 검색 할 때 null이 있습니까? –
'SharedPreferences'는 그런 식으로 사용되지 않습니다. 당신은 그런 식으로 사용할 수 있지만 코드는 제대로 작동하는 것처럼 보입니다. 그러나 정의되지 않은 키 집합이있는 경우 데이터베이스 또는 다른 것을 사용하는 것이 좋습니다. – zapl