Android-数据存储

数据存储的五种方式

文件存储是一种较常用的方法,与Java中的文件存储类似,都是通过I/O 流的形式存储数据。

SharedPreferences是Android 提供的用来存储一些简单的配置信息的一种机制。

SQLite数据库是Android 自带的一个轻量级数据库,支持基本SQL 语法。Room 是官方对SQLite 一个框架。

ContentProvider是Android 四大组件之一,可以将自己的数据共享给其他应用程序。

网络存储是通过网络提供的存储空间来存储/获取数据信息。

文件读写:

String fileName = "data.txt";
String content = "helloworld";
FileOutputStream fos;
try {//写文件
    fos = Activity.openFileOutput(fileName, MODE_PRIVATE);
    fos.write(content.getBytes());
    fos.close();
} catch (Exception e) {
    e.printStackTrace();
}
String content = "";
FileInputStream fis;
try {//读文件
    fis = Activity.openFileInput("data.txt");
    byte[] buffer = new byte[fis.available()];
    fis.read(buffer);
    content = new String(buffer);
    fis.close();
} catch (Exception e) {
    e.printStackTrace();
}

build.gradle文件中applicationId指定包名,位置在Device File Explorer中data/data/{applicationId}

SharedPreferences

SharedPreferences是Android 平台上一个轻量级的存储类。

用于存储应用程序的配置参数,如用户名、密码等。

通过key/value(键值对)的形式将数据保存在XML 文件中。

value值只能是float 、int 、long 、boolean 、String 、StringSet 类型数据。

存储数据:

SharedPreferences sp = Activity.getSharedPreferences("data",MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString("name", "woshishabei");
editor.putInt("age", 8);
editor.commit();

获取数据:

获取数据可以直接通过SharedPreferences 对象的getXXX ()方法 来实现。

SharedPreferences sp = Activity.getSharedPreferences("data",MODE_PRIVATE);
String data = sp.getString("name","亲,没有这个键哦!");//第二个参数是在找不到第一个参数时返回的值

JSON

JSON即JavaScript Object Notation (对象表示法),是一种轻量级的数据交换格式。

JSON是基于纯文本的数据格式,它可以传输String 、Number 、Boolean 类型的数据,也可以 传输数组,或者Object 对象。

JSON文件的扩展名为.json 。

JSON分为JSON 对象和JSON 数组两种数据结构。

json的两种解析方式:

org.json,Android sdk 中为开发者提供的,通过使用JSONObject 和JSONArray 两个类完成 对JSON 数据的解析。

Gson,由Google 公司提供的,在使用Gson 库之前,首先需要将gson.jar 添加到项目中,然 后才能调用其提供的方法。

//解析json对象
Gson gson = new Gson();
Person person = gson.fromJson(json1, Person.class);

//解析json数组
Gson gson = new Gson();
Type listType = new TypeToken<list<integer>>(){}.getType();
//List<student> list = gson.fromJson(jsonData, new TypeToken<list<student>>(){}.getType());
List<integer> ages = gson.fromJson(json2, listType);
</integer></list<student></student></list<integer>

Original: https://blog.csdn.net/qq_45549584/article/details/124555970
Author: 黄昏四点半
Title: Android-数据存储

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815417/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球