简单实现Android的本地文件读写,暨将List数据保存到Json文件中并读出
一、让我们从引入依赖开始

//将这两行代码添加到以上位置,其他的一般不用管
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.tencent:mmkv:1.2.13'
二、一个简单实现
... //Other import
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.tencent.mmkv.MMKV;
public class MyApplication extends Application {
//这里的Your_Type和Your_List你可以改成自己需要的类型和名字
private ArrayList<Your_Type> Your_List;
@Override
public void onCreate() {
super.onCreate();
//使MMKV库在当前环境初始化;
MMKV.initialize(this);
//它一般会被添加到onCreate()方法里;
//因为要确保:用之前已经调用此方法
}
public void saveList_to_Json(){//保存数据的方法
//创建Gson实例
Gson gson = new Gson();
// 获取 MMKV 实例
MMKV kv = MMKV.defaultMMKV();
// 将 List 转换为 JSON 字符串
String jsonList = gson.toJson(Your_List);
// 保存 JSON 字符串,并设置一个Key
kv.encode("Your_Key", jsonList);
// 这个方法的第一个参数是 要保存的数据数据(Value)的名字(Key)
// 自己起名就行,以后就可以用这个名字(Key),来找到对应的数据了,像字典一样
}//void saveList_to_Json
public void readJson_toList(){//读取数据的方法
Gson gson = new Gson();
MMKV kv = MMKV.defaultMMKV();
// 从 MMKV 中读取 Key为"Your_Key"的 JSON 字符串
String jsonList = kv.decodeString("Your_Key");
if(jsonList!=null){
//把Json转为对应类型的数据,并保存到变量中
Your_List = gson.fromJson(jsonList, new TypeToken<ArrayList<Your_Type>>(){}.getType());
//new TypeToken<ArrayList<Your_Type>>(){} 实例化一个TypeToken,并保存了ArrayList<Your_Type>类型
//getType() 获取类型,jsonList将按照之前类型(也就是这个:ArrayList<Your_Type>)进行解析
}
}//void readJson_toList
}//class MyApplication
简单实现Android的本地文件读写,暨将List数据保存到Json文件中并读出的更多相关文章
- 关于爬取数据保存到json文件,中文是unicode解决方式
流程: 爬取的数据处理为列表,包含字典.里面包含中文, 经过json.dumps,保存到json文件中, 发现里面的中文显示未\ue768这样子 查阅资料发现,json.dumps 有一个参数.ens ...
- python scrapy实战糗事百科保存到json文件里
编写qsbk_spider.py爬虫文件 # -*- coding: utf-8 -*- import scrapy from qsbk.items import QsbkItem from scra ...
- 使用scrapy爬取的数据保存到CSV文件中,不使用命令
pipelines.py文件中 import codecs import csv # 保存到CSV文件中 class CsvPipeline(object): def __init__(self): ...
- python爬虫简单实现,并在java中调用python脚本,将数据保存在json文件中
# coding:utf-8 import urllib2 from bs4 import BeautifulSoup import json import sys reload(sys) sys.s ...
- scrapy抓取到中文,保存到json文件为unicode,如何解决.
http://scrapy-chs.readthedocs.org/zh_CN/latest/intro/overview.html 以上链接是很好的scrapy学些资料.感谢marchtea的翻译. ...
- Sql数据保存到Excel文件中
public string ExportExcel( DataSet ds,string saveFileName) { try { if (ds == null) return "数据库为 ...
- jmeter 非GUI执行测试,没有响应数据保存到jtl文件办法
估计是jmeter为了减轻客户机负担,就没又默认把这些信息保存,如果想要保存,也可以,需要做出如下配置: 修改bin目录下的user.properties文件,追加配置: jmeter.save.sa ...
- 将数据保存到excel文件(纯前端实现)
// 导出excel文件 /** * 依赖: import XLSX from 'xlsx' */ let obj = { '学生信息表': [ ['姓名', '性别', '年龄', '分数'], [ ...
- python selenium爬取自如租房数据保存到TXT文件
# -*- coding: utf-8 -*-"""Created on Fri Aug 31 2018 @author: chenlinlab"" ...
- 利用PHPExcel实现数据保存到excel文件
include(dirname(__FILE__) .'/phpexcel-1.7.7/Classes/PHPExcel.php'); include(dirname(__FILE__) .'/php ...
随机推荐
- C# Windows Media Player 播放playlist 歌单
using AxWMPLib; using System; using System.Collections.Generic; using System.Linq; using System.Text ...
- SpringBoot-整合Open Feign
-------------------------------------------------- Spring Boot简单整合Open Feign一.使用Open Feign1.引入依赖2.添加 ...
- mxGraph绘制机构图
简单介绍一下使用的依赖: JGraphX package JGraphX is a Java Swing diagramming (graph visualisation) library lic ...
- VOLE+OKVS的PSI技术落地应用
学习&转载文章:技术创新〡VOLE+OKVS的PSI技术落地应用 神谱科技基于VOLE+OKVS设计了两方PSI和多方PSI协议,并已应用于Seceum系列隐私计算产品中. Seceum并无开 ...
- uni-app在小程序上遇见的坑(a-b页面频繁跳转)
功能描述 uni-app在小程序中. A页面跳B页面.B页面在调A页面.这样来回跳转. 多调几次,会有问题的. 出现的问题是,调不动了. 因为 这个方法是 uni.navigateTo 保留当前页.( ...
- 冠军!天翼云在国际AI顶会大模型挑战赛中拔得头筹!
6月7日,国际人工智能顶会CVPR 2023举办的第一届大模型挑战赛(CVPR 2023 Workshop on Foundation Model:1st foundation model chall ...
- Celery异步分布队列
Celery分布式任务队列 一.Celery介绍celery periodic task Celery 是一个基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的 ...
- 【忍者算法】从图书馆编目到数组搜索:探索缺失的第一个正整数|LeetCode 41 缺失的第一个正整数
从图书馆编目到数组搜索:探索缺失的第一个正整数 生活中的算法 想象你是一位图书馆管理员,正在整理一排连续编号的图书.这些书应该从1号开始按顺序排列,但是有些编号的书不见了.你的任务是找出第一个缺失的编 ...
- idea遇见Command line is too long. Shorten command line for Main or also for Application default configuration?
<property name="dynamic.classpath" value="true" /> 第一步:找到项目目录下的.idea\works ...
- Luogu P4287 SHOI2011 双倍回文 题解 [ 紫 ] [ manacher ]
双倍回文:回文子串结论的经典应用. 结论 先放本题最关键的结论:一个字符串本质不同的回文子串最多只有 \(n\) 个. 考虑如何证明: 假设我们一个一个地在当前字符串(黑色部分)的结尾加入字符(红色部 ...