关闭

安卓开发中SQLite的使用

标签: 数据库android
227人阅读 评论(0) 收藏 举报

在安卓开发的过程中,经常会对本地数据进行存储,从而使开发者能够顺利的调用本地数据从而达到测试整个项目的目的。在这个过程中,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 每次成功打开数据库后首先被执行
 }
}

创建表和索引

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

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

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

另一种方法是直接调用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);

查询数据库

Cursor c=db.rawQuery(
   "SELECT name FROM sqlite_master WHERE type='table' AND name='mytable'",null);
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7115次
    • 积分:178
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:6篇
    • 译文:0篇
    • 评论:3条
    最新评论