Android数据存储方式—SQLite

本文介绍了Android中SQLite数据库的特性,如灵活的数据类型,并详细阐述了如何在Android设备上创建和操作SQLite数据库,包括使用SQLiteOpenHelper进行版本管理,以及getWritableDatabase()和getReadableDatabase()的区别。还展示了在Android应用中实现数据存储的实际示例。
摘要由CSDN通过智能技术生成

Android数据存储方式—SQLite

  • 版权声明:本文为博主原创文章,未经博主允许不得转载。

SQLite

  • Android平台嵌入了一个关系型数据库SQLite,和其他数据库不同的是:SQLite存储数据时,不需要指定数据类型
    一个字段声明为Integer类型,我们可以将一个字符串存入;一个字段声明为Boolean,我们也可以存入浮点数。
    除非是主键被定义为integer,这时只能存储64位整数。
    SQLite只支持5种数据类型:null,integer,real,text,blob

SQLite数据库操作

  • SQLite不需要创建数据库

直接在adb shell中,使用sqlite3命令会自动创建一个数据库
sqlite3命令存放目录:sdk/tools/sqlite3.exe
eg:sqlite3/mnt/sdcard/test.db。在sdcard目录下创建了一个test数据库db为数据库的后缀名,可以换成其他的

  • 创建表

创建表的时候,可以不指定数据类型
create table users(_id integer primary key autoincrement,name,age)
主键建议使用_id

  • SQLite支持大部分标准的SQL语句,增删改查语句都是通用的,分页查询和MySQL相同

  • 也可以使用第三方图形用户外界面操作数据库

Android使用数据库所涉及到的API

  • Android中不再使用JDBC方式来访问数据库,而是采用了一套新的API

  • 创建数据库
    自定义类继承SQLiteOpenHelper


/**
 * Created by Administrator on 2017/2/6.
 */
public class DbHelper extends SQLiteOpenHelper {
   
    /**
     * @param context  上下文Context
     * @param name     数据库名字(文件名)
     * @param factory  数据库工厂(NULL)
     * @param version  数据库版本
     */
    public DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    /**
     * 创建表的操作
     * @param sqLiteDatabase
     */
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        //创建表
        sqLiteDatabase.execSQL("create table person(_id integer primary key autoincrement,name,age)");

    }

    /**
     * 数据库的版本:底----》高
     * @param sqLiteDatabase
     * @param i
     * @param i1
     */
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
    }
}

在MainActivity类创建该对象,调用getWritableDatabase()或者getReadableDatabase(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值