Android之SQLite 学习一

来源:互联网 发布:聊天交友软件 编辑:程序博客网 时间:2024/05/21 22:22

    提到数据库,大家首先想到的一定是要安装,话说Android操作系统中内置了SQLite数据库!我们在应用程序开发中都需要对数据库进行相关操作。在这里总结有关Android SQLite数据库的应用技巧,方便将来的应用。

SQLite是轻量级的、嵌入式的、关系型数据库,目前已经在iPhone、Android等手机系统中使用,SQLite可移植性好,很容易使用,很小,高效而且可靠。SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。

在android中当需要操作SQLite数据库的时候需要得到一个SQLiteOpenHelper对象,而SQLiteOpenHelper是一个抽象类,用户需要继承这个类,并实现该类中的一些方法。

1、继承SQLiteOpenHelper之后就拥有了以下两个方法:

◆getReadableDatabase() 创建或者打开一个查询数据库

◆getWritableDatabase()创建或者打开一个可写数据库

◆他们都会返回SQLiteDatabase对象,用户通过得到的SQLiteDatabase对象进行后续操作

2、同时用户还可以覆盖以下回调函数,再对数据库进行操作的时候回调以下方法:

◆onCreate(SQLiteDatabase):在数据库第一次创建的时候会调用这个方法,一般我们在这个方法里边创建数据库表。

◆onUpgrade(SQLiteDatabase,int,int):当数据库需要修改的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据库表,并建立新的数据库表,当然是否还需要做其他的操作,完全取决于应用程序的需求。

◆onOpen(SQLiteDatabase):这是当打开数据库时的回调函数,一般也不会用到。

需要注意

1、在SQLiteOepnHelper的子类当中,必须有以下该构造函数

  1. public DatabaseHelper(Context context, String name, CursorFactory factory,  
  2.    int version) {  
  3.   //必须通过super调用父类当中的构造函数  
  4.   super(context, name, factory, version);  
  5. }   
    为了方便,也可以创建其它的构造函数,含二个参数或者三个参数的。

2:Android SQLite数据库打开已经存在的数据库

Context.openDatabase(String file,CursorFactory factory); 

如果我们要实现打开不存在的数据库就创建它,代码如下:Java代码

  1. //创建一个名为:DataBase的数据库,后缀为.db   
  2. SQLiteDatabase DataBase=this.openOrCreateDatabase("DateBase.db",   MODE_PRIVATE,   null);   
  3. //也可以这样写   
  4. try   
  5. {   
  6. //打开已经存在的数据库   
  7. db = this.openDatabase("DateBase.db", null);   
  8. }   
  9. catch (FileNotFoundException e)   
  10. {   
  11. try   
  12. {   
  13. //建立新的数据库   
  14. }   
  15. catch (FileNotFoundException e)   
  16. {   
  17. db = null;   
  18. }   
  19. }   
  20. //创建一个名为:DataBase的数据库,后缀为.db  
  21. SQLiteDatabase DataBase=this.openOrCreateDatabase
    ("DateBase.db",  
  22. MODE_PRIVATE,   
  23. null);  
  24. //也可以这样写  
  25. try   
  26. {   
  27. //打开已经存在的数据库   
  28. db = this.openDatabase("DateBase.db", null);   
  29. }   
  30. catch (FileNotFoundException e)   
  31. {   
  32. try   
  33. {   
  34. //建立新的数据库   
  35. }   
  36. catch (FileNotFoundException e)   
  37. {   
  38. db = null;   
  39. }   

3:Android SQLite数据库关闭数据库

  1. Java代码   
  2. //千万不要忘记关闭数据库哦   
  3. DataBase.close();   
  4. //千万不要忘记关闭数据库哦  
  5. DataBase.close(); 

4:Android SQLite数据库删除指定数据库

Java代码

  1. this.deleteDatabase("Database.db")

5:Android SQLite数据库执行SQL命令使用:

  1. SQLiteDatabase.execSQL(String sql); 




原创粉丝点击