数据的访问与存储
Android有五种数据存储方式:文件存储、SharedPreferences、SQLite数据库、ContentProvider、网络存储。
文件存储: 通过I/O流读写文件,跟Java是一样的,一般用来存储一些较大的数据,如文本、图片、音频、视频等。
SharePreferences: Android中用来存储一些配置信息的方式,XML格式。
SQLite数据库: Android中一种轻量级的数据库,支持SQL语法。
ContentProvider: Android四大组件之一,可实现应用程序之间的数据交换,实现数据共享。
网络存储: 通过将数据存储到服务器,从而实现数据的存储。
SQLite数据库
SQLite是一种轻量级的数据库,支持SQL语法,适合存储大量数据,并对数据进行管理和维护。SQLite是目标是嵌入式的,占用资源低,没有服务进程,它通过文件保存数据,支持null(无)、integer(整型)、real(浮点型)、text(字符串)、blob(二进制)五种数据类型,在接收varchar、char等类型时会自动转化为上述五种类型之一。
要创建SQLite,首先要创建一个类继承于SQLiteOpenHelper
public class MyHelper extends SQLiteOpenHelper {
public MyHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
//构造方法,四个参数分别为对应的上下文、数据库名称、游标工厂、数据库版本
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 数据库创建时调用
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//数据库版本号增加时调用
}
}
SQLite的增、删、查、改
表的建立和删除:
//建表
private void createTable(SQLiteDatabase db){
//创建表SQL语句
String s="create table Student(sno integer primary key,sname text)";
//执行SQL语句
db.execSQL(s);
}
//删表
private void dropTablle(SQLiteDatabase db){
//删除表的SQL语句
String sql ="DROP TABLE Student";
//执行SQL
db.execSQL(sql);
}
表内数据的增、删、查、改:
//增
public void insert1(String sno, String sname