2、通过getWritableDatabase()方法获取数据库对象,实际是调用getDatabaseLocked(boolean writable)方法。 3、getDatabaseLocked(boolean writable)方法主要源码如下,该方法关联数据库文件获取SQLiteDatabase对象,并根据数据库的版本号变化调用SQLiteOpenHelper的周期方法,实现数据库onCreate和onUpgrade方法调用。 4、通过源码知道 ...
后续的两个函数都是功能相关的函数,我们可以看到getCostListById是通过id查找数据库项的一个函数,函数首先新建了一个可读的SQLite数据库,然后新建了一个costList类对象用于返回查找结果,之后便是查询操作,这里有一个Cursor(游标)类用于在数据库查询结果集中进行遍历,并允许以逐行或逐列的方式访问数据。它是一种轻量级...
在查询数据库时,使用索引可以显著提高查询速度。我们可以通过SQLiteDatabase类提供的createIndex()方法来创建索引。下面是一个创建索引的示例代码:public void createIndex(){ SQLiteDatabase db = getWritableDatabase(); String sql ="create index idx_user_name on user(name)"; db.execSQL(sql);} ...
继续输入命令select * from user1;(注意此时因为是真正的sqlite语句,所以在命令行中要以分号结束)查询自己建立的数据库中的表user1,发现里面什么内容都没有。 更新数据库版本: 在该步骤中,当按下update sqlite database按钮后,我们在监听器函数中新建了一个数据库,数据库名为”tornadomeet”不变,只是将其版本号设...
②编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行。 第一种方法的代码: private voidinsert(SQLiteDatabase db){ //实例化常量值 ContentValues cValue = new ContentValues(); //添加用户名 cValue.put("sname", "xiaoming");
Android中的SQLite使用 首先创建数据库类 public class DatabaseHelper extends SQLiteOpenHelper { private static final String DB_NAME = "mydata.db"; //数据库名称 private static final int version = 1; //数据库版本 public DatabaseHelper(Context context) { ...
4.2 数据库SQLite 本节介绍Android的数据库存储方式—— SQLite的使用方法,包括如何建表和删表、变更表结构以及对表数据进行增加、删除、修改、查询等操作,然后通过SQLite结合“登录App”项目改进记住密码功能。 4.2.1 SQLite的基本用法 SQLite是一个小巧的嵌入式数据库,使用方便、开发简单,手机上最早由iOS运用,后来And...
在Android中,SQLite通过Java层的SQLiteDatabase和SQLiteCursor等类以及JNI(Java Native Interface)层提供的本地方法,为开发者提供了数据库操作的便捷接口。本文将深入探讨SQLite数据库在Android系统Java层和JNI层的实现机制,特别关注cursor的实现和使用。 Java层实现 SQLiteDatabase 在Java层,SQLiteDatabase是SQLite数据库的...
进行Android应用开发时经常会用到数据库。Android系统支持sqlite数据库,在app开发过程中很容易通过SQLiteOpenHelper使用数据库,SQLiteOpenHelper依赖于Context对象,但是基于uiatomator1.0和Java程序等无法获取Context的应用如何使用数据库呢? 通过以下方面介绍一下数据库的使用: ...
sqlite3 database.db 进入了sqlite操作界面。 .help可以看到命令帮助。 .dump 可以看到数据库中的数据。 为了方便使用,可以自定义一个insert函数,将值通过参数传入,而ContentValues设置则在函数内部实现。 public void insert(String id, String name, int age) { if( mDb == null ) mDb = getWritableDatabase()...