使用SharedPreference存储对象集合

Gröbner基方法入门第I部分:项序和约化 Gröbner基方法入门第I部分:项序和约化 理想的准素分解与矩阵分解是计算代数的核心问题,它们在计算机代数、计算代数几何、代数编码和密码学、多维系统理论等学科都有非常重要的理论意义与应用价值.Gröbner基理论是研究理想的准素分解与矩阵素分解的重要工具之一.更简单地概括:Gröbner基方法是从任意一个多项式理想的一组给定生成元,计算另一组性质良好的生成元,并称为该理想的Gröbner基.它能用来判定任意多项式是否属于该理想. Gröbner基的代数算法是Buchberger在1960年代开发的,并 阅读详情

开发中有时需要存储对象集合,使用数据库又大材小用啦,所以这个时候可以使用SharedPreference,下面就是为了以后使用方便封装的工具类:

public class ListDataSaveUtil {

    private static final String DEFAULT_SP_NAME = "default_sp";
    private static final String key = "record";

    public static<T> List<T> getObject(Context context,Class<T> cls) {
        List<T> datalist=new ArrayList<T>();
        String json = getString(context, key, null);
        if (TextUtils.isEmpty(json)) {
            return null;
        }
        try {
            Gson gson = new Gson();
            JsonArray arry = new JsonParser().parse(json).getAsJsonArray();
            for (JsonElement jsonElement : arry) {
                datalist.add(gson.fromJson(jsonElement, cls));
            }

            return datalist;
        } catch (Exception e) {
            return null;
        }
    }

    public static<RouteType> void putObject(Context context, List<RouteType> datalist) {
        if (null == datalist || datalist.size() <= 0)
            return;
        Gson gson = new Gson();
        String json = gson.toJson(datalist);
        putString(context, key, json);
    }

    private static void putString(Context context, String key, String value) {
        SharedPreferences sp = context.getSharedPreferences(DEFAULT_SP_NAME, Context.MODE_PRIVATE);
        SharedPreferences.Editor edit = sp.edit();
        edit.putString(key, value);
        edit.commit();
    }

    public static String getString(Context context, String key, String defValue) {
        SharedPreferences sp = context.getSharedPreferences(DEFAULT_SP_NAME, Context.MODE_PRIVATE);
        return sp.getString(key, defValue);
    }
}

在需要存储的地方调用:

List<RouteType> list = ListDataSaveUtil.getObject(getApplicationContext(),RouteType.class);
    if (list == null){
		list = new ArrayList<>();
    }else {
        Iterator<RouteType> it=list.iterator();
        while(it.hasNext()){
            RouteType routeType = it.next();
            if(data.get(position).startStation.equals(routeType.startStation) && 	 data.get(position).endStation.equals(routeType.endStation)) {
            it.remove();}}
            }
            RouteType routeType = new RouteType();
            routeType.type = "2";
            routeType.startStation = data.get(position).startStation;
            routeType.endStation = data.get(position).endStation;
            routeType.routeName = data.get(position).routeName;
            routeType.title = data.get(position).routeName+"路("+data.get(position).startStation+"-"+data.get(position).endStation+")";
            list.add(routeType);
            ListDataSaveUtil.putObject(getApplicationContext(),list);

在需要取数据的地方调用:

List<RouteType> list = ListDataSaveUtil.getObject(getApplicationContext(),RouteType.class);

 

 

 

 

 

SUMO仿真教程(1) ——安装环境的设置(Windows 10系统) SUMO安装环境的设置 目录一.SUMO下载的官方网址二.下载步骤:三.环境设置:1.打开设置环境变量的界面2.用户(Administrator)变量设置3.系统变量设置四.总述 一.SUMO下载的官方网址 sumo的下载地址: 二.下载步骤: 1.以sumo1.8.0为示例进行演示,点击下载地址; 2.选择Windows64位的安装版本,如下图所示: 3.点击对应版本会跳转到如下图所示的界面,等待几秒后会自动下载(温馨提示:请将下载路径提前设置好): 4.到目标存储路径下查看下载完成的SUMO(本 阅读详情

相关推荐

YOLOv8改进:基于EfficientNetV2均衡缩放网络的特征提取层优化【YOLOv8】

YOLO(You Only Look Once)系列模型以其高效的实时目标检测能力而闻名。YOLOv8作为该系列的最新版本,通过引入改进的网络结构和算法优化,进一步提升了目标检测的性能。然而,YOLOv8在特征提取阶段的网络结构仍有改进的空间。EfficientNetV2是一种基于均衡缩放的卷积神经网络,它通过优化网络的宽度、深度和分辨率来实现高效的特征提取。与之前的EfficientNet版本相比,EfficientNetV2在速度和精度上都有显著提升,尤其在处理复杂目标检测任务时表现尤为突出。

博客 1545

sharedpreference 如何存储集合对象

转自:http://m.blog.csdn.net/blog/xiabing082/9792271 使用sharedpreference 如何存储集合对象的 public static String SceneList2String(HashMap hashmap) throws IOException { // 实例化一个ByteArrayOut

你好邱林和的专栏 3283

汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服

首先我们看下系统硬件和软件配置:汇川H5U PLC的编程软件是:AutoShop V4.6.3.0 硬件:PLC H5U-1614MTD-A16,汇川伺服型号:SV660NS1R6I 电机型号:MS1H1-10B30CB 100W 220V 3000R/M 0.32N*M 1.3A,禾川伺服驱动器型号:SV-X3EB075A-A2 伺服电机型号:SV-X2MH075A-N2LA。

RXXW_Dor的博客 2万+

如何用Android的sharepreference保存list数据集合

在Android开发过程中有时需要用到一些简单的数据保存。 在系统自带的sharedpreferences中提供了一些列的数据类型,但有时候需要保存一个List集合,系统则没有现成的方法: 以保存场景为例: public static String SceneList2String(List SceneList)             throws IOException {       //

蠹石sll 1421

android sharedpreferences 保存list,使用SharedPreferences存储List<T>

一次实际需求中需要把一个list存储到本地,那么有其中一种操作就是使用SharedPreferences。这里最后会给出泛型list存储。很显然,查看系统这个类提供的putXXX方法,并没有发现能够直接存储list的。倒是发现有一个 StringSet相关的。只是看似可行方式 putStringSet(String key, Set values);那把list转换为set存储,这样操作结果怎么...

weixin_28870939的博客 1262

Android SharedPreferences保存Map集合

Android中数据存储方式: 1 使用SharedPreferences存储数据; 2 文件存储数据; 3 SQLite数据库存储数据; 4 使用ContentProvider存储数据; 5 网络存储数据; 在开发中根据项目需要,选取合适的数据存储方式。 借此文章,记录一下自己在开发中利用SharedPreferences存储Map集合的实现方式: 存: public static Shared...

qq_39994562的博客 3148

SharedPreferences存储集合

思路:参考网上资料,存储json字符串,使用时进行解析即可,为避免重复,建议用set集合 例: /** * 获得用户登录过的所有账户 * @return 用户名的set集合 */ public static HashSet getAccountList() { SharedPreferences sp=getSharedPreferences(); HashS

wlxyhy的博客 734

[android] sharedPreference入门

/********************2016年5月6日 更新**************************************/ 知乎:Android 如何实现判断用户首次使用,比如首次使用时展示软件使用教程?   面条: 你需要的是SharedPreferencesSharedPreferences可以在本地存储一些简单的数据。   首次进入的时候判断在本地存储...

weixin_34015566的博客 75

安卓学习笔记——数据存储SharedPreference

Android提供了四种数据存储的方式 SharedPreference:一种常用的数据存储方式,其本质是基于XML文件存储键值对数据,通常用来存储一些简单的配置信息。 SQLite:一个轻量级数据库,支持基本SQL语法,是Android系统中常被采用的一种数据存储方式。 ContentProvider:Android系统中能实现应用程序之间数据共享的一种存储方式。 文件:即常说的文件存储方法,常用于存储数据量比较大的数据,但缺点是更新数据困难。 SharedPreference: 1、SharedPr

fuzhijieabc的博客 2094

sharedPreference保存List集合实现

/** * 保存产品项目名称 */ public void setProctNameList(List projectNames){ String listStr; try { listStr = SceneList2String(projectNames); editor.putString("productNameList", listStr); editor.commit()

Elise1的专栏 1174

SharedPreference 保存对象集合

这几天闲的蛋疼就又开始倒腾老项目,从业一年多,写过的代码能数的清,导致到现在写什么东西都必须看百度,没百度,没我。今天给大家分享一个sharedpreference 保存对象数组的例子,其实我也不知道这个东西到底应该怎么称呼。ListRespDataGetIndicatorBean> list = new ArrayList;知道的大神麻烦告知小弟一下。   好了,不废话了,直接上代

353

Gson互转Json Android中使用SharedPreference存储List集合

最近项目中需要用到将数据缓存至本地的逻辑 一开始准备用数据库来进行处理,但是感觉太麻烦了,后来因为懒癌复发,决定用sp做存储,而且数据也不多,一个list集合,数据比较少,写了个工具类,可以参考下 sp的存储都是类似map的key-value方式,而且是覆盖试的存储(如果key一样后面一次存储的会覆盖前面一次存储的值)这个map里面不能有重复值类似,好了,不多说,直接上代码 package ...

lplj717的博客 624

使用sharedpreferences保存对象集合的方法

使用sharedpreferences保存对象的方法,sharedpreferences是不能够直接保存对象的,我们需要将对象序列化成一个字符串进行存储。 例如:Person这样一个对象 public static void getJsonStringByEntity(Context context, Object object) { String strJson = ""; ...

qq_33670826的博客 1048

Android学习笔记三十三之数据存储SharedPreference

在上一篇中,我们介绍了Android实现文件存储数据的方式,这一篇我们介绍android的另外一种存储数据的方式——sharedPreference存储数据。SharedPreference存储是一种轻量级的存储,多用于保存比较简单的数据,比如用户是否登录、保存用户的登录名和登录密码等。Sharedpreference存储数据是通过XML的形式,类似于Map集合,键值对的形式,是Android中保

u012426327的专栏 590

Android数据存储:SQLite数据库、SharedPreference存储

Android的数据存储的方式,文件存储SharedPreference存储、SQLite数据库使用

weixin_47323733的博客 1192

存储数据之SharedPreference

官方文档: SharedPreferences getPreferences (int mode)这个方法实际是对getSharedPreferences(String, int)方法的一个简单包装,传如参数默认为activity的类名。   SharedPreferences使用方法 SharedPreferences是一个用于访问和修改用于访问和修改getSharedPreferen...

诺诺诺诺诺诺诺诺的博客 1157

Android—SharedPreference存储类-实现自动登录,记住密码

1.SharedPreference存储 SharedPreferences是用于保存用户一些简单设置数据,例如是否自动登陆,是否记住账号密码,登陆后显示的头像信息以及登录状态,是否在Wifi下才能联网等相关信息。在Android中我们通常使用一个轻量级的存储类——SharedPreferences来保存用户这些设置信息。SharedPreferences也是使用xml文件, 然后类似于Map集合使用键-值的形式来存储数据。 2.想要使用SharedPreferences存储数据,首先要获取到Shared

csdnbian的博客 1806

Kotlin-SharedPreference封装

一、App class App : Application() { companion object { lateinit var instance: Application private set } override fun onCreate() { super.onCreate() ...

zuochunsheng的博客 1832

安卓存储SharedPreference

1.键值对方式存储。 2.Android6.0之后只有一种模式,MODE_PRIVATE。 3.三种得到SharedPreferences对象 4.SharedPreference存储数据 eg: SharedPreferences.Editor editor=getSharedPreferences("File_name",MODE_PRIVATE).edit(); editor.p

ElaineTaylor1213的博客 316

Android MMKV简单使用举例:存储集合

MMKV官方介绍,简单使用都在里面,和SharedPreferences使用方式雷同 https://mp.weixin.qq.com/s/4MHgs4qpLt7krpmIp9rgRg 之前用SharedPreferences集合: https://blog.csdn.net/qq_39731011/article/details/81513956 改用MMKV存储集合 /* *作者:赵星海 *时间:18/06/08 09:51 *用途:增...

赵星海 5420

SharePreferences存储对象或者集合

导包: implementation 'com.google.code.gson:gson:2.8.1'   1.写一个json类 数据: //数据 private String json="{\"page\":\"88\",\"address\":[{\"name\":\"第零个\"},{\"name\":\"第一个\"},{\&quo

你全家都是博客 933

安卓作业----慕课移动应用开发作业20之使用SharedPreference实现简单注册登陆逻辑

本篇使用SharedPreference,实现简单的注册登陆界面 同时这也是中国大学慕课移动终端应用开发的网课作业20 原题目要求: (1)通过“注册”按钮,跳转到“注册”界面输入用户名和密码。 (2)点击“登录”按钮,匹配已“注册”的用户名和“密码”,用户名和密码正确与否,用Toast进行信息提示。 说明 1.有关SharedPreference的学习,建议大家阅读此篇博客:Android中SharedPreference的用法 2.由于需要存储复杂类型对象列表,我的解决方案是将List对象转换为json

baidu_41860619的博客 2900
上一篇: 手机短信验证码---倒计时
下一篇: ShareSDK各社交平台申请APPkey 的网址及申请流程汇总
JustinNick
博客等级 码龄10年 23粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值