Android数据存储的五种方式2

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Android数据存储的五种方式

Android数据存储的五种方式1:https://developer.aliyun.com/article/1473559

cache目录下读数据
FileInputStream fis;
BufferedReader br;
File file = new File(getCacheDir(), "gjcData");
try {
  fis = new FileInputStream(file);
  br = new BufferedReader(new InputStreamReader(fis));
  String line = br.readLine();
  while(line!=null){
    line = br.readLine();
  }
} catch (Exception e) {
  e.printStackTrace();
} finally {
  br.close();
  fis.close();
}

外部存储

添加权限

<!-- 允许程序写入外部存储-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

写数据

FileOutputStream fos;
BufferedWriter bw;
// 创建gjcData文件对象,由于不同手机SDcard目录不同,所以我们通过Environment.getExternalStorageDirectory()获取路径
File file = new File(Environment.getExternalStorageDirectory(), "gjcData");
if (!file.exists()){
  try {
    file.createNewFile();
  } catch (Exception e) {
    e.printStackTrace();
  }
}
try {
  fos =new FileOutputStream(file);
  bw = new BufferedWriter(new OutputStreamWriter(fos));
  bw.write("Hello world");
  bw.flush();
} catch (Exception e) {
  e.printStackTrace();
} finally {
  bw.close();
  fos.close();
}

读数据

FileInputStream fis;
BufferedReader br;
File file = new File(Environment.getExternalStorageDirectory(), "gjcData");
try {
  fis = new FileInputStream(file);
  br =  new BufferedReader(new InputStreamReader(fis));
  String line = br.readLine();
  while(line!=null){
    line = br.readLine();
  }
} catch (Exception e) {
  e.printStackTrace();
} finally {
  br.close();
  fis.close();
}

SQLite数据库存储数据

介绍: SQLite是Android所带的一个标准的数据库,它支持SQL语句,它是一个轻量级的嵌入式数据库

数据库的操作借助于SQLiteOpenHelper,SQLiteOpenHelper是一个抽象类,所以我们在使用SQLiteOpenHelper时要先创建一个MySQLiteOpenHelper类继承SQLiteOpenHelper


SQLiteOpenHelper有两个比较重要的方法


getReadableDatabase()方法返回数据库是一个只读的;

getWriteableDatabase()方法获得是一个可读写的数据库对象。

创建一个MySQLiteOpenHelper

public class MySQLiteOpenHelper extends SQLiteOpenHelper {

     // 构造器,传入四个参数(Context上下文环境,String数据库名字,CursorFactory操作数据库的Cursor对象(通常为null),int数据库版本号) 
    public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }
    
    // 自定义的构造器
    public MySQLiteOpenHelper(Context context, String name) {
        this(context, name, null, 1);//传入Context和数据库的名称,调用上面的构造器
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        // 在创建数据库时,创建一个user数据表
        String sql = "create table if not exists user(id integer primary key  autoincrement, name varchar(20), password varchar(20))";
        sqLiteDatabase.execSQL(sql);
    }
    
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
      //用于修改数据库版本(第一个参数是SQLiteDatabase对象,第二个参数是旧的版本号,第三个参数是新版本号。一般我们在这个方法里边删除数据库表,并建立新的数据库表)
    }
}

Android数据存储的五种方式3:https://developer.aliyun.com/article/1473561

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
存储 Java 数据库
Android数据存储:什么是Room Persistence Library?
Android数据存储:什么是Room Persistence Library?
123 0
|
6月前
|
存储 数据库连接 数据库
Android数据存储:解释SQLite数据库在Android中的使用。
Android数据存储:解释SQLite数据库在Android中的使用。
81 0
|
存储 数据库 文件存储
android 数据存储的知识点
android 数据存储的知识点
99 0
|
6月前
|
存储 XML Android开发
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
75 0
|
6月前
|
存储 XML 文件存储
Android数据存储的五种方式1
Android数据存储的五种方式
126 2
|
6月前
|
存储 安全 Android开发
Android数据存储:请解释ContentProvider是什么,它的主要作用是什么?
ContentProvider是Android的四大组件之一,主要负责结构化数据的管理与共享。它封装数据并提供安全的访问接口,通过URI实现应用间数据的标准化共享。ContentResolver与ContentProvider协作,处理数据的CRUD操作,使得其他应用能方便地调用和操作数据。
57 0
|
6月前
|
存储 Android开发
Android数据存储的五种方式3
Android数据存储的五种方式
38 0
|
6月前
|
存储 XML 文件存储
Android数据存储:什么是SharedPreferences?它有什么用途?
Android数据存储:什么是SharedPreferences?它有什么用途?
278 0
|
6月前
|
存储 数据库 文件存储
android开发,使用kotlin学习数据存储
android开发,使用kotlin学习数据存储
102 0
|
存储 文件存储 Android开发
原汁原味的安卓文件存储(数据存储系列)
本篇将进一步看看文件存储是怎么用的。
175 0