[android] android下创建一个sqlite数据库

前端之家收集整理的这篇文章主要介绍了[android] android下创建一个sqlite数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

sqlite数据库是开源的c语言写的数据库androidiphone都使用的这个,首先需要创建数据库,然后创建表和字段,android提供了一个apisqliteOpenHelper数据库的打开和创建类。

 

具体使用比如:创建一个classPersonsqliteOpenHelper用户数据库类,继承sqliteOpenHelper父类是个抽象类要实现onCreate()onUpgrate()方法,此时会报错要求创建构造方法,构造方法的参数:Context上下文作用是告诉程序数据库创建在哪个目录下,String name数据库文件的名字,factory游标工厂一般我们都写null系统默认的,version数据库的版本从1开始,构造方法完成数据库就可以被创建。

 

OnCreate(sqliteDatabase db)方法数据库第一次被创建时回掉,用来创建表以及初始化参数,参数就是我们创建的数据库调用sqliteDatabase对象的execsql()方法执行sql语句,首先要创建表和MysqL的基本一样,执行这条sql语句,create table person (id integer primary key autoincrement,name  varchar(20) not null default “” ) varchar的数字实际没有意义,给程序员看的,超过了也无所谓。

 

new出来helper对象的时候,数据库并不会被创建,只有当helper对象调用getWritableDatabase()方法或者getReadableDatabase()时候才会被创建。使用测试用例来测试一下,但是helper类需要上下文对象,测试框架提供了一个方法getContext()来得到上下文对象,数据库文件的地址/data/data/包名/database/下面,是私有的权限

helper代码

 

  1. package com.tsh.database;
  2. import android.content.Context;
  3. android.database.sqlite.sqliteDatabase;
  4. android.database.sqlite.sqliteOpenHelper;
  5. public class PersonsqliteOpenHelper extends sqliteOpenHelper {
  6. /**
  7. * 构造方法
  8. * @param context
  9. */
  10. public PersonsqliteOpenHelper(Context context) {
  11. super(context,"person.db",null,1);
  12. }
  13. * 数据库第一次创建完成的回调
  14. */
  15. @Override
  16. void onCreate(sqliteDatabase db) {
  17. String sql="create table person (id integer primary key autoincrement,name varchar(10) not null default '')";
  18. db.execsql(sql);
  19. }
  20. @Override
  21. void onUpgrade(sqliteDatabase db,1)">int oldVersion,1)">int newVersion) {
  22. // TODO Auto-generated method stub
  23. }
  24. }

 

测试用例:

  1. com.tsh.database.test;
  2. com.tsh.database.PersonsqliteOpenHelper;
  3. android.test.AndroidTestCase;
  4. class TestPersonDb AndroidTestCase {
  5. void testPerson() throws Exception{
  6. PersonsqliteOpenHelper helper =new PersonsqliteOpenHelper(getContext());
  7. helper.getWritableDatabase();
  8. }
  9. }

 

猜你在找的Android相关文章