企业网站主要有哪四种类型,服装网站建设的目的,网络营销方法可分为两类,大三亚客户端下载何为本地#xff0c;即写完之后除非手动修改#xff0c;否像嘎了一样在那固定死了
有些需求可能也会要求我们去写死数据#xff0c;因为这需求是一成不变的#xff0c;那么你通常会用什么方法写死呢#xff1f;
1. 本地存储-SharedPreferences
此方法可以长时间保存于手…何为本地即写完之后除非手动修改否像嘎了一样在那固定死了
有些需求可能也会要求我们去写死数据因为这需求是一成不变的那么你通常会用什么方法写死呢
1. 本地存储-SharedPreferences
此方法可以长时间保存于手机内存中除非手动清除(更换存储数据或者手机应用管理清除数据)或者卸载应用 常用的是存储基本数据类型这里给存储数据类以及集合的方法,原理很简单将数据类和集合转成String类型存起来获取时对应的解析即可 implementation com.google.code.gson:gson:2.6.2implementation com.alibaba:fastjson:1.1.57.android//存储数据类//用法 commitObject(key,要存的数据类)fun commitObject(key: String, source: Any) {val editor editor.putString(key, JsonUtil.serializeAsString(source))commit(editor)}//获取数据类//用法 getObject存起来的数据类(key,存起来的数据类)fun T getObject(key: String, klass: Type): T? {val string: String getString(key, )if (string || string \\) return nullreturn if (string ) {null} else {JsonUtil.deserializeAsObject(string, klass)}}//存储集合数据//用法 commitDataList(key,集合)fun T commitDataList(key: String,dataList: ListT?) {if (null dataList || dataList.size 0) {return}val gson Gson()val strJson gson.toJson(dataList)val editor sharePreferences.edit()editor.putString(key, strJson)editor.commit()}//获取集合数据//用法 getDataList(key, 集合的类型)fun T getDataList(key: String,cls: ClassT?): MutableListT {val dataList: MutableListT ArrayList()val strJson sharePreferences.getString(key, null) ?: return dataListval gson Gson()val myList JsonParser().parse(strJson).asJsonArrayfor (jsonElement in myList) {dataList.add(gson.fromJson(jsonElement, cls))}return dataList}2. 常量
经典的比如Arouter 的类前注解统一存放在一个类里面供外部使用 3. 集合
有些时候我们不需要去动态获取数据只需要在app启动的时候去获取一次那么我们就可以定义一个全局集合将数据一开始赋值之后供app活动期间使用除非长期不变建议存储在-SharedPreferences其余还是存在变量里比较好些
4. 根据规定好的字段数据我们直接在代码里面写死这里的数据基本的都是以集合的形式如果其他的建议还是常量就好了
这里的集合不像3中的从服务端获取可是我们直接手撕的~
4-1 创建一个集合我们每次new一个数据类然后去add
少了还行五条以上就不建议了首先是不美观其他是代码量也比较大 4-2 模仿获取的服务端数据自导自演去解析~ 适合大量数据 implementation com.alibaba:fastjson:1.1.57.android/*** json 转 ListT*/public static T ListT jsonToList(String jsonString, ClassT clazz) {SuppressWarnings(unchecked)ListT ts (ListT) JSONArray.parseArray(jsonString, clazz);return ts;}