SQLite数据库 一、SQLite简介 SQLite是一款轻量级的关系型数据库,它的运行速度非常快,占用资源非常少。非常适合在移动设备上使用。 二、创建数据库
Android中专门提供了一个SQLiteOpenHelper帮助类,首先SQLiteOpenHelper是一个抽象类,如果要使用这个类,必须创建一个类来继承它,SQLiteOpenHelper中有两个抽象方法,一个是onCreat(),一个是onUpdate(),我们必须在自己的帮助类中重写这两个方法,然后再这两个方法中实现和升级数据库的逻辑。 SQLiteOpenHelper中还有两个非常重要的实例方法,getReadableDatabase()和getWriteableDatabase(),这两个方法都可以创建或者打开一个数据库(如果这个数据库已经存在,那么直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读写操作的对象,不同的是,当数据库不可写入的时候(如磁盘空间已满),getReadableDatabase()返回的对象将以只读的方式去打开数据库,而getWriteableDatabase()方法将出现异常。 SQLiteOpenHelper中有两个构造方法可供重写,一般使用参数少的那个构造方法即可,这个方法接收四个参数:
dbHelper = new MyDatabaseHelper(context, name, factory, version);
第一个参数:Context,上下文 第二个参数:name ,数据库的名字 第三个参数:允许我们在查询数据的时候返回一个自定义的Cursor,一般都是null 第四个参数:表示当前数据库的版本号,用于对数据库的升级操作 构建出SQLiteOpenHelper的实例之后,在调用他的getReadableDatabase()和getWriteableDatabase()方法就能够创建数据库了,数据库文件会存放在、data/data<package name>/databases/目录下,此时,重写onCreat()方法也会执行,所以通常会在这里去处理一些建表的逻辑。
SQL的数据类型很简单:integer表示整型,real表示浮点型,text表示文本型,blob表示二进制型,autoincrement关键字表示自增长。 新建MyDatabaseHelper类:
public class MyDatabaseHelper extends SQLiteOpenHelper {public static final String CREATE_BOOK = "create table book("+"id integer primary key autoincrement, "+"author text, "+"price real,"+"page integer, "+"name text)";private Context mContext;public MyDatabaseHelper(Context context, String name,CursorFactory factory, int version) {super(context, name, factory, version);mContext = context;}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_BOOK);Toast.makeText(mContext, "Create succeeded", 1).show();}@Overridepublic void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {}}
然后再MainActivity中得到MyDatabaseHelper的实例,调用getWritableDatabase()方法创建数据库就行了。execSQL()方法是建表语句。
补充:常用的数据库命令: 打开数据库:sqlite3+数据库名称
查看数据库中的表:.table
查看建表语句:.schema 三、升级数据库

更多相关文章

  1. Android(安卓)Okhttp3 (二) 二次封装请求管理类
  2. Android(安卓)Activity生命周期以及Fragment生命周期的区别与分
  3. Android数据库升级,数据不丢失解决方案
  4. android数据库操作之直接读取db文件
  5. Android中JNI调用
  6. android 设置为壁纸代码
  7. Android(安卓)RecyclerView 实现快速滑动
  8. FAQ_10_EditText与parseInt方法
  9. Android基础控件(EditView、SeekBar等)的使用方法

随机推荐

  1. Android(安卓)的性能工具用法 II-内存分
  2. 尼尔森:Android美国受欢迎度超过苹果iOS
  3. 调查:Android手机用户75%集中在北美
  4. Android(安卓)density与显示效果总结
  5. Android编译Native C 模块
  6. Android 开发者从0到1发布一个微信小程序
  7. android 基于ijkplayer项目进行的播放器
  8. Android(安卓)dp方式的屏幕适配工具使用(
  9. Android硬件入门-照相机
  10. Android使用Sensor感应器实现线程中刷新U