当前位置:   article > 正文

安卓开发中SQLite的使用_sqlite在安卓客户端的作用

sqlite在安卓客户端的作用

在安卓开发的过程中,经常会对本地数据进行存储,从而使开发者能够顺利的调用本地数据从而达到测试整个项目的目的。在这个过程中,SQLite就起到了决定性的作用。

SQLite作为一款非常流行的嵌入式的数据库,它支持SQL查询,并且只用很少的内存。基于以上几点,Android在运行时便集成了SQLite,因此每个Android应用程序都可以使用SQLite数据库,从而达到对数据的增、删、改、查的目的。

在安卓开发的过程中,Android提供了一些新的API来使用SQLite数据库,数据库存储在data/<项目文件夹>/databases/下。

Android开发中使用SQLite数据库

public class DatabaseHelper extends SQLiteOpenHelper{
 DatabaseHelper(Context context,String name,CursorFactory cursorFactory,int version)
 {
    super(context,name,cursorFactory,version);
 }
 @override
 public void onCreate(){
    //创建数据库后,对数据库操作
 }
 @override
 public void onUpgrade(SQLiteDatabase db,int oldversion,int newversion){
    //更改数据库版本的操作
 }
 @override
 public void onOpen(SQLiteDatabase db){
    super.onOpen(db);
    //TODO 每次成功打开数据库后首先被执行
 }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

创建表和索引

db.execSQL("CREATE TABLE mytable(_id INTEGER PRIMARY KEY AUTOINCREMENT,title TEXT,value REAL);");
  • 1

这条语句的含义是创建一个名为mytable的表,表有一个列名为_id,且为主键,该值会自动增长,还有两列分别为title和value。SQLite会自动为主键列创建索引。
给表添加数据
主要有两种方法,一种是使用execSQL()方法来执行insert()、update()、detete()方法。该方法适用于所有不返回结果的SQL语句。例如:

db.execSQL("INSERT INTO widgets(name,inventory)"+"VALUES('Sprocket',5)");
  • 1

另一种方法是直接调用SQLiteDatabase对象的方法:

ContentValues cv=new ContentValues();
cv.put(Constants.TITLE,"example title");
cv.put(Constants.VALUE,SensorManager.GRAVITY_DEATH_START_I);
db.insert("mytable",getNullColumnHack(),cv);
  • 1
  • 2
  • 3
  • 4

查询数据库

Cursor c=db.rawQuery(
   "SELECT name FROM sqlite_master WHERE type='table' AND name='mytable'",null);
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/267234
推荐阅读
相关标签
  

闽ICP备14008679号