android 使用SharedPreferences保存list数据

List<Map<String, String>> list = new ArrayList<Map<String, String>>();

List<Map<String, String>> test = getInfo(this, "name");

for (int i = 0; i < test.size(); i++) {

Map<String, String> itemMap = test.get(i);

Iterator<Entry<String, String>> iterator = itemMap.entrySet()

.iterator();

while (iterator.hasNext()) {

Entry<String, String> entry = iterator.next();

if (!entry.getValue().equals(r.cashierNumber)) {

itemMap.put(entry.getKey(), entry.getValue());

}

}

itemMap.put(“test”, “test”);

list.add(itemMap);

saveInfo(this, "name", list);

}

public void saveInfo(Context context, String key,

List<Map<String, String>> datas) {

JSONArray mJsonArray = new JSONArray();

for (int i = 0; i < datas.size(); i++) {

Map<String, String> itemMap = datas.get(i);

Iterator<Entry<String, String>> iterator = itemMap.entrySet()

.iterator();

JSONObject object = new JSONObject();

while (iterator.hasNext()) {

Entry<String, String> entry = iterator.next();

try {

System.out.println(entry.getKey() + ":" + entry.getValue());

object.put(entry.getKey(), entry.getValue());

} catch (JSONException e) {

}

}

mJsonArray.put(object);

}

SharedPreferences sp = context.getSharedPreferences("listname",

Context.MODE_PRIVATE);

Editor editor = sp.edit();

editor.putString(key, mJsonArray.toString());

editor.commit();

}

public List<Map<String, String>> getInfo(Context context, String key) {

List<Map<String, String>> datas = new ArrayList<Map<String, String>>();

SharedPreferences sp = context.getSharedPreferences("listname",

Context.MODE_PRIVATE);

String result = sp.getString(key, "");

try {

JSONArray array = new JSONArray(result);

for (int i = 0; i < array.length(); i++) {

JSONObject itemObject = array.getJSONObject(i);

Map<String, String> itemMap = new HashMap<String, String>();

JSONArray names = itemObject.names();

if (names != null) {

for (int j = 0; j < names.length(); j++) {

String name = names.getString(j);

String value = itemObject.getString(name);

itemMap.put(name, value);

}

}

datas.add(itemMap);

}

} catch (JSONException e) {

}

return datas;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 08:06:10

android 使用SharedPreferences保存list数据的相关文章

Android使用SharedPreferences保存对象

核心原理: 对象序列化 步骤 1.要保存的对象实现序列化Serializable 2.将序列化的对象保存String(本文的做法是保存为byte数组在转为16进制的String类型保存起来) 3.将保存的String反序列化为对象 下面是完整代码 步骤1.要保存的对象实现序列化Serializable public class Sertest implements Serializable{ private String name; private int age; } 步骤2.将序列化的对象保

android手机端保存xml数据

[java] view plaincopy 1.前面写的这个不能继续插入数据,今天补上,当文件不存在的时候就创建,存在就直接往里面添加数据. [java] view plaincopy [java] view plaincopy 2.代码如下: [java] view plaincopy <pre name="code" class="java">package com.mqp.doc2xml; import java.io.File; import j

面试中被问到:Android中activity保存状态数据到底该在哪个方法中进行

今天接到一个电面,途中面试官问到一个问题,如果一个activity在后台的时候,因为内存不足可能被杀死,在这之前如果想保存其中的状态数据,比如说客户填的一些信息之类的,该在哪个方法中进行. 我听到的第一反应就是说:在onPause方法中进行保存状态的操作.但是面试官说:onPause()的持续时间很短,假如要进行一些长时间的操作呢? 然后我就纠结了,因为我知道,如果是因为内存不足而被清理,onDestroy()方法一般是不会被执行的.所以只好实话实说,只知道onDestroy在这种情况下不一定会

Android 利用SharedPreferences保存与删除 用户登录数据

创建SharedPreferences对象: SharedPreferences sharedPreferences = context.getSharedPreferences("userInfo", MODE_PRIVATE); Editor editor = sharedPreferences.edit(); editor.putString("username", “用户名”); editor.putString("userid", &q

Android使用SharedPreferences保存账号密码

有很多的应用都会有保存密码和账号的功能,比如QQ.接下来就讲讲使用SharedPreferences来保存密码和账号,也许有些人会考虑的数据库,但是我个人认为对于保存简单的数据,使用的数据库就大材小用了,SharedPreferences比较轻量级 首先写好布局,只有两个输入框和一个按钮 <EditText android:id="@+id/number" android:layout_width="match_parent" android:layout_h

Android之SharedPreferences(存储本地数据)

写入数据: // 更新写入本地缓存(用于下次无法定位时使用) // 1.实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences = getSharedPreferences("cityinfo", MODE_PRIVATE); // 2. 实例化SharedPreferences.Editor对象(第二步) SharedPreferences.Editor editor = mySharedPreference

Android Spinner + SharedPreferences 保存上一次选择的值

android下拉可选菜单Spinner创建:1, 创建一个HelloSpinner的android project2, 修改main.xml文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="

Android之使用SharedPreferences保存用户偏好参数

在Android应用中,我们常需要记录用户设置的一些偏好参数,,此时我们就需要用SharedPreferences和Editor将这些信息保存下来,在下次登录时读取. SharedPreferences保存的数据主要类似于配置信息格式的数据,因此它保存数据的形式为key-value对,下面我们来看下实例代码. 首先是界面布局,比较简单,就是一个普通的登陆界面. 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/r

【Android应用开发技术:数据存储】SharedPreferences

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells Github:https://github.com/AllenWells 应用程序一般都会涉及数据的输入和输出,应用程序的参数设置.程序运行状态数据等等这些都需要保存的外部存储器上,如果有大量数据需要存储则需要借助数据库,如果只有少量的数据需要保存,而且这些数据格式简单,则可以使用Sharedreferences来进行保存. SharedPrefe