大家好,好久没有更新博客了,最近由于身体不适让大家久等了,好了,直接进入主题~ Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences 存储;第三种就是数据库SQLiteDatabase...今天我们将讲一下SQLiteDatabase 的使用。 而掌握SqliteDatabase ,将会我们接下来掌握ContentProvider 打下良好的基石。...super(context, DATABASE\_NAME, null, DATABASE\_VERSION); } //创建table @Override public void onCreate(SQLiteDatabase...BOOK\_NAME + " text, "+ BOOK\_AUTHOR +" text);"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase...= "DROP TABLE IF EXISTS " + TABLE\_NAME; db.execSQL(sql); onCreate(db); } public Cursor select() { SQLiteDatabase
Android 提供了三种数据存储方式,第一种是文件存储;第二种是SharedPreferences 存储;第三种就是数据库SQLiteDatabase 存储。...今天我们将讲一下SQLiteDatabase 的使用**。** 而掌握SqliteDatabase ,将会我们接下来掌握ContentProvider 打下良好的基石**。...super(context, DATABASE\_NAME, null, DATABASE\_VERSION); } //创建table @Override public void onCreate(SQLiteDatabase...BOOK\_NAME + " text, "+ BOOK\_AUTHOR +" text);"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase...= "DROP TABLE IF EXISTS " + TABLE\_NAME; db.execSQL(sql); onCreate(db); } public Cursor select() { SQLiteDatabase
对象 调用SQLiteDatabase对象的execSQL()方法,参数:String的sql语句(例如:create table blacknumber (id integer primary key...对象 调用SQLiteDatabase对象的rawQuery()方法,获取到Cursor对象,参数:String类型SQL语句,String[]参数值数组 调用Cursor对象的moveToNext()...对象 调用SQLiteDatabase对象的insert()方法,插入一条记录,参数:String表名,允许为null的列,ContentValues对象 获取ContentValues对象,new出来...对象 调用SQLiteDatabase对象的update()方法,修改表记录,参数:String表名,ContentValues对象,String的条件(“number=?”)...对象 调用SQLiteDatabase对象的delete()方法,删除表记录,参数:String表名,String的条件(“number=?”)
/** * 创建表 */ @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub...static SQLiteDatabase openDatabase(String path,SQLiteDatabase.CursorFactory factory,int flags) 根据提供的模式打开一个数据库...openOrCreateDatabase(File file, SQLiteDatabase.CursorFactory factory) 等同于openDatabase(file.getPath()..., factory, CREATE_IF_NECESSARY) static SQLiteDatabase openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory...Cursor newCursor(SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable, SQLiteQuery
DATA:包含了 年份、月份、日期; TIME: 包含了 小时、分钟、秒; 2 SQLiteDatabase的介绍 Android提供了创建和是用SQLite数据库的API。...SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。...下面是SQLiteDatabase的常用方法。 SQLiteDatabase的常用方法 Google公司命名这些方法的名称都是非常形象的。...onUpgrade(SQLiteDatabase,int,int) 当数据库需要升级的时候,Android系统会主动的调用这个方法。...onOpen(SQLiteDatabase): 这是当打开数据库时的回调函数,一般在程序中不是很常使用。 写了这么多,改用用实际例子来说明上面的内容了。
SQLiteDatabase是SQLite的数据库管理类,我们可在Activity页面代码或者任何能取到Context的地方获取数据库实例,参考代码如下: //创建数据库,如果已存在则打开...SQLiteDatabase db = getApplicationContext().openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null...); //删除数据库 getApplicationContext().deleteDatabase("test.db"); SQLiteDatabase提供了若干操作数据表的API,常用的列举如下...废话少说,直接上该示例类的代码: import android.content.Context; import android.database.sqlite.SQLiteDatabase; import...= true) { mDB = mHelper.getReadableDatabase(); } return mDB; } public SQLiteDatabase openLink
sqliteDatabase = dbHelper.getWritableDatabase(); // 创建 or 打开 可读/写的数据库 SQLiteDatabase sqliteDatabase...sqliteDatabase = dbHelper.getWritableDatabase(); // SQLiteDatabase sqliteDatabase...sqliteDatabase_upgrade = dbHelper_upgrade.getWritableDatabase(); // SQLiteDatabase...sqliteDatabase4 = dbHelper4.getReadableDatabase(); // 调用SQLiteDatabase对象的query方法进行查询...对象 SQLiteDatabase sqliteDatabase2 = dbHelper2.getWritableDatabase();
com.example.android.waitlist.data; import android.content.Context; import android.database.sqlite.SQLiteDatabase...sqLiteDatabase) { // COMPLETED (6) Inside, create an String query called SQL_CREATE_WAITLIST_TABLE...and pass the string query SQL_CREATE_WAITLIST_TABLE sqLiteDatabase.execSQL(SQL_CREATE_WAITLIST_TABLE...sqLiteDatabase, int i, int i1) { // For now simply drop the table and create a new one....("DROP TABLE IF EXISTS " + WaitlistEntry.TABLE_NAME); onCreate(sqLiteDatabase); } } 更新数据库
SQLiteDatabase ; 导入android。数据库。sqlite。SQLiteOpenHelper ; 导入android。数据库。sqlite。SQLiteDatabase。...close () ; } } @ 覆写 公共无效onCreate (SQLiteDatabase arg0) { }...@ 覆写 public void onUpgrade (SQLiteDatabase arg0, int arg1, int arg2) { } } / *...close () ; } 公共无效createTable (SQLiteDatabase db) { db。...execSQL (sql_3) ; } 公共无效queryTable (SQLiteDatabase db) { 字符串 str = “ select *
Thread 1 Context context = getApplicationContext(); DatabaseHelper helper = new DatabaseHelper(context); SQLiteDatabase...java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase 由于我们只使用了一个数据库连接...,Thread1 和 Thread2 的 getDatabase() 方法都会返回同一个 SQLiteDatabase 对象实例。...stackoveflow 上有人推荐永远不要关闭你的 SQLiteDatabase。这会让你看到下面的 logcat 信息。所以我一点也不认为这是一个好的想法。...SQLiteDatabase database = DatabaseManager.getInstance().openDatabase();database.insert(...);// database.close
看SQLiteDatabase开启WAL的核心方法源码。...并在注释中给出了实例代码如下: SQLiteDatabase db = SQLiteDatabase.openDatabase("db_filename", cursorFactory,CREATE_IF_NECESSARY...如何手动执行checkpoint,看SQLiteDatabase.endTransaction源码: /** * End a transaction. ... factory, int flags, DatabaseErrorHandler errorHandler) { SQLiteDatabase sqliteDatabase...>(sqliteDatabase)); } return sqliteDatabase; } 通过sqliteDatabase.setJournalMode(path
context) { super(context, "itcast.db", null, 1); } @Override public void onCreate(SQLiteDatabase...AUTOINCREMENT, name VARCHAR(20), phone VARCHAR(20))"); } @Override public void onUpgrade(SQLiteDatabase...db, int oldVersion, int newVersion) { } } 数据的增加 SQLiteDatabase db;...Toast.makeText(this,"添加成功",Toast.LENGTH_SHORT).show();//吐司 db.close(); 数据的查询 SQLiteDatabase...+" tel:"+cursor.getString(cursor.getColumnIndex("phone"))); } 数据的修改 SQLiteDatabase
mode * @param factory * @param errorHandler * @return */ @Override public SQLiteDatabase...openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler...errorHandler) { SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name)...context) { super(context, NAME, null, VERSION); } @Override public void onCreate(SQLiteDatabase...db) { } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion
): package com.example.sqllitedemo; import android.content.Context; import android.database.sqlite.SQLiteDatabase...; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper...context, String name) { this(context, name, VERSION); } // 该函数第一次创建数据库的时候执行,实际上是在第一次得到SqliteDatabase...对象的时候执行 @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method...import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase
com.tuoqun.Tool; import android.content.Context; import android.util.Log; import net.sqlcipher.database.SQLiteDatabase...SQLiteDatabase.loadLibs(context); Log.e(TAG, "CreateDB:---------------"+name+"---------------...) { this(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase...sqLiteDatabase) { //createTable(sqLiteDatabase); } @Override public void onUpgrade...(SQLiteDatabase sqLiteDatabase, int i, int i1) { onCreate(sqLiteDatabase); } } 注意,参照多篇文章,
sqliteDatabase = dbHelper.getReadableDatabase(); //SQLiteDatabase sqliteDatabase = dbHelper.getWritableDatabase...对象对数据库进行操作 SQLiteDatabase sqliteDatabase = dbHelper.getWritableDatabase(); //2....对象对数据库进行操作 SQLiteDatabase sqliteDatabase = dbHelper.getWritableDatabase(); //2....对象对数据库进行操作 SQLiteDatabase sqliteDatabase = dbHelper.getReadableDatabase(); //2....sqliteDatabase = dbHelper.getWritableDatabase(); // SQLiteDatabase sqliteDatabase
package com.example.administrator.mokar; import android.content.Context; import android.database.sqlite.SQLiteDatabase...varchar(20))"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory...factory, version); mContext = context; } //建表 @Override public void onCreate(SQLiteDatabase...db) { db.execSQL(CREATE_TXT); } //升级数据库 @Override public void onUpgrade(SQLiteDatabase...public void onClick(View v) { switch (v.getId()){ case R.id.tvSave: SQLiteDatabase
sqLiteDatabase; public static final String AUTHORITY = "com.xmkh.MyContentProvider"; public...); return false; } //初始化原始数据 private void initArticleProviderData() { sqLiteDatabase...= new DbOpenHelper(mContext).getWritableDatabase(); sqLiteDatabase.beginTransaction();...(DbOpenHelper.AUTHOR_TABLE_NAME, null, contentValues); sqLiteDatabase.setTransactionSuccessful...(); sqLiteDatabase.endTransaction(); } /** * 查询数据 * * @param uri
一、SQLiteDatabase对象 获取SQLiteDatabase对象可以使用SQLiteOpenHelper或者使用静态方法获取(具体内容可以参考开发手册) //使用SQLiteOpenHelper...可以获取 DatabaseHelper dbHelper = new DatabaseHelper(Sqlite.this, “sqlite_joyous_db”); SQLiteDatabase db...= dbHelper.getReadableDatabase(); //或者使用静态方法获取 SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase...移动指针到最后一行 moveToNext()移动指针到下一行 具体使用可以参考开发手册 三、示例 创建表语句: create table user(id int,name varchar(20)) 查询 SQLiteDatabase...db = SQLiteDatabase.openOrCreateDatabase(“/data/data/study.sqlite/databases/sqlite_joyous_db”, null)
领取专属 10元无门槛券
手把手带您无忧上云