数据存储--SQLite创建数据库
2016-04-04 17:03
537 查看
SQLite简介
SQLite是安卓系统中内置的轻量级的数据库,可以应用于数据的存储,比之文件存储和SharePreference存储数据,具有更加的灵活性,存储量更大,数据也更加复杂。创建数据库
android为了然我们更加方便的管理数据库,专门提供了一个SQLiteOpenHelper帮助类,借助这个类就可以非常简单地对数据库进行创建和升级。SQLiteOpenHelper中有两个非常重要的实例方法:getReadableDatabase()和getWritableDatabase()
创建数据库的代码如下:
public class MyDatabaseHelper extends SQLiteOpenHelper { private Context context; public static final String CREATE_STUDENT="create table book(id integer primary key autoincrement,name text,age integer,clazz text)"; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); this.context=context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_STUDENT); Toast.makeText(context, "数据库创建成功", Toast.LENGTH_SHORT).show(); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version)
其中的四个参数为主线程的引用,数据库的名称,自定义的cursor对象,数据库的版本号,版本号最小为1
创建数据库的代码
myDatabaseHelper=new MyDatabaseHelper(this,"school.db",null,1); myDatabaseHelper.getWritableDatabase();
当创建了数据库之后,重复执行上面的代码,不会重复创建。
升级数据库
如果我们要添加一张表到上面的数据库中,我们就要升级数据库了。注意在onUpgrade()方法中代码的填写
相应的代码如下:
public class MyDatabaseHelper extends SQLiteOpenHelper { private Context context; public static final String CREATE_STUDENT="create table book(id integer primary key autoincrement,name text,age integer,clazz text)"; public static final String CREATE_HELLOWORD="create table helloword(id integer primary key autoincrement,name text,age integer,clazz text)"; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); this.context=context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_STUDENT); db.execSQL(CREATE_HELLOWORD); Toast.makeText(context, "数据库创建成功", Toast.LENGTH_SHORT).show(); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("drop table if exists book"); db.execSQL("drop table if exists helloword"); Toast.makeText(context, "升级成功", Toast.LENGTH_SHORT).show(); onCreate(db); } }
同时在逻辑代码中,创建数据库的时候,我们要将数据库的版本号更改为比上一次大的数据,这样就会执行onUpgrade()方法中的代码了
myDatabaseHelper=new MyDatabaseHelper(this,"school.db",null,3); db=myDatabaseHelper.getWritableDatabase();
adb shell查看数据库数据
adb是Android SDK中自带的一个工具,使用这个工具,可以直接对模拟器或手机进行调试。他存放在sdk的platfrom-tools目录下,需要把它的路径配置到环境变量中。将其路径配置到path系统变量中。
查看数据库内容的代码示例:
相关文章推荐
- MS SQL 获取数据库名,表名,列名,说明等信息(SQL Server 2005 测试通过)
- iOS开发之数据库Sqlite
- Memcached Session Manager(MSM)
- mysql索引总结----mysql 索引类型以及创建
- spark sql 基本用法
- ORACLE 全备份脚本
- 修改RAC public ip,vip private ip
- mySQL
- 为什么mabatis的配置sqlMapConfigxml文件中文注释报错
- mybatis对mysql进行分页
- T-SQL经典语句
- 粉丝关注数据库表的设计
- SQL查询一个表的总记录数的方法
- MySQL 使用方法简单教程
- Oracle12c功能增强 新特性之管理功能的增强
- Memcached启动参数
- Oracle 11g系统自己主动收集统计信息的一些知识
- 逻辑数据库设计 - 单纯的树(递归关系数据)
- ActiveRecord之Oracle中文乱码
- MySQL 警告WARN: Establishing SSL connection without server's identity verification is not recommended.解决办法