Я хочу сохранить некоторые данные, такие как пара ключей и значений, во внутренней памяти. поэтому я использую HashMap для хранения пары ключ-значение. Но у меня нет достаточного решения для хранения и извлечения этого 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());
}
я также буду хранить хэш-карту в адаптере и устанавливать в список. Моя основная цель - хранить и извлекать данные в общие настройки, а также отображать данные в виде списка.
Заранее спасибо.
SharedPreferences
не предназначены для такого использования. Однако вы можете использовать его таким образом, и код выглядит так, как будто он будет работать. Но вам следует подумать об использовании базы данных или чего-то еще, если у вас есть неопределенный набор ключей. - person zapl   schedule 08.08.2013