简单实现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 ...
随机推荐
- Solution -「ZJOI 2018」「洛谷 P4338」历史
\(\mathscr{Description}\) Link. 给定一棵以 \(1\) 为根的树,点 \(u\) 有非负点权 \(a_u\). 定义 \(u\) 的一次染色的代价为:路径 ...
- AI Editor 真的被惊到了
引言 AI 辅助编程工具层出不穷,也尝试过不少 AI 编程辅助工具,但效果都不太理想,提示的代码命中率并不高,但却严重影响了编码的流畅性,并且聊天对话的时候,多数都需要手动引用代码,即使引用了代码,也 ...
- MAC安装redis的简单方法
part 1:安装redis1.官网下载压缩包https://redis.io/download or brew install redis(太慢了-)我此处选的法一,先去官网上下载包,在解压使用. ...
- manim边做边学--缩放变换
使用 Manim 进行动画创作时,缩放变换是一项强大且实用的功能. 当我们处理复杂的科学模型可视化.数学原理演示时,缩放变换可以帮助我们在不改变元素位置关系的基础上,突出关键信息,引导观众聚焦于特定的 ...
- LeetCode 第2题:两数相加
LeetCode 第2题:两数相加 题目描述 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返 ...
- linux安装spark
1.首先在官网下载http://spark.apache.org/downloads.html, 选择与hadoop对应的版本,对应关系为:spark1.6.2--scala2.10:spark2.0 ...
- AI-启动
前言 我们都知道AI可以帮助我们完成很多工作,同时也可以帮助我们快速生成一些繁琐的文档:本篇介绍接入一些开源的大预言模型: 准备 OpenAPI 首先需要了解下什么是OpenAPI,OpenAPI是一 ...
- nginx失效 nginx不起作用
nginx失效的原因 今天大晚上的,服务器更新了,重启了,然后我重新开一下后端,nginx. 奇了个怪,一直给我报404,而且不是nginx给我报的啊,就是普通的404,完全404了. 我看nginx ...
- [开源自荐] Catime 不一样的计时器(番茄时钟),非常欢迎反馈
Catime 一款简洁的 Windows 倒计时工具,具有透明界面和丰富的自定义选项. Github:https://github.com/vladelaina/Catime 特点 极简设计: 透明界 ...
- 傻妞教程——对接使用redis储存,更快的读写速度
Redis的特点 1.Redis支持数据的持久化,可以将内存中的数据保存在磁盘中. 2.Redis数据读写速度非常快,因为它把数据都读取到内存当中操作. 3.Redis支持数据的备份,即master- ...