第一种情况:SP保存集合数据
基本思路是将List数据转换成json格式字符串数据,再将String保存到本地SP当中,取值的时候再把保存的json字符串进行解析,获取到值就OK啦
val list = ArrayList<String>()
list.add("需要保存的内容")
val gson = Gson()
val json = gson.toJson(list)
SPUtils.put(this,"content",json)
val json = SPUtils.get(this, "content", "") as String
val gson = Gson()
val type = object : TypeToken<List<String>>(){
}.type
val result = gson.fromJson<List<String>>(json, type)
第二种情况:保存历史记录(SP的数据不被覆盖)
有时候项目中只有一小部分需使用保存历史记录,如果使用数据库有点杀猪焉用牛刀的感觉,那如何用SP保存多条历史记录了,基本的实现思路就是在第一种情况的基础上,把保存记录之前的数据先查询出来,再用集合addAll进去,然后再次保存新的集合,这样就实现了每次SP进去的数据不会被覆盖掉
val list = ArrayList<String>()
val json = SPUtils.get(this, "content", "") as String
val gson = Gson()
val type = object : TypeToken<List<String>>(){
}.type
val result = gson.fromJson<List<String>>(json, type)
if (result == null){
list.add("首次保存的内容")
}else{
list.add("再次保存的内容")
list.addAll(result)
val json = gson.toJson(list)
SPUtils.put(this,"content",json)
基本思路是将List数据转换成json格式字符串数据,再将String保存到本地SP当中,取值的时候再把保存的json字符串进行解析,获取到值就OK啦 val list = ArrayList<String>() list.add("需要保存的内容") val gson = Gson() val json = gson.toJso...
SharedPreferences简称Sp
(1)用于存储单一的小数据 是一种轻量级的数据存储方式,采用Key/value的方式 (boolean int float long String)进行映射,
(2)最终会在手机的/dat...
一、工具类,直接复制到你代码中
import android.content.Context;
import android.content.SharedPreferences;import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;import java.util.ArrayList;
import java.ut
在Android开发过程中有时需要用到一些简单的数据保存。
在系统自带的sharedpreferences中提供了一些列的数据类型,但有时候需要保存一个List集合,系统则没有现成的方法:
以保存场景为例:
public static String SceneList2String(List SceneList)
throws IOException {
android开发中将从数据库中获取的List数据进行迭代,将其中数据取出并赋值
List<Person> personList = mMySQLiteOpenHelper.queryFromDbById_person(ID);
for (Person per : personList) {
HP = per.getLife();
DEF = per.getDefense();
ATT = per.getAd
public class SharedPreferencesHelper {
private SharedPreferences sharedPreferences;
private static SharedPreferencesHelper mSharedPreferencesHelper;
* 保存手机里面的名字
原文:Android 使用SharePreferences保存List集合,保存List集合到本地保存的基本思路是将List数据转换成json格式数据,再保存//首先引入gson库
compile 'com.google.code.gson:gson:2.8.1'
保存List集合List<String> list = new ArrayList<String>();
Gs...
您可以使用Bundle的putParcelableArrayList方法将List集合打包到Bundle中,然后在另一个Activity中使用getParcelableArrayList方法获取该List集合。具体实现可以参考以下代码:
在发送方Activity中:
List<String> list = new ArrayList<>();
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("list", new ArrayList<>(list));
在接收方Activity中:
List<String> list = getIntent().getParcelableArrayListExtra("list");