打开SQLite数据库,首先要建立一个DatabaseHelper类的实例,然后,再获得数据库:
class="brush:java;gutter:true;">DatabaseHelper mDBH; SQLiteDatabase db; mDBH = new DatabaseHelper(MainActivity.this); db = mDBH.getWritableDatabase();
getWritableDatabase()的解释是
Create and/or open a database that will be used for reading and writing,
创建(第一次运行时)或打开能够读写的数据库,用这个方法打开数据库,既可以读,也可以写数据库。
打开数据库后需要做一个SQL查询返回数据集,即SQLiteDatabase的query方法:
Cursor android.database.sqlite.SQLiteDatabase.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)
query方法的返回值是一个Cursor,它的几个主要参数,table是表名,columns是返回的列名字符串数组,selection是选择操作,selectionArgs是选择操作的参数。
Cursor cur_db; String[] col = new String[]{DatabaseHelper.NAME, DatabaseHelper.NUMBER, DatabaseHelper.DATE, DatabaseHelper.DATES, DatabaseHelper.YEAR, DatabaseHelper.MONTH, DatabaseHelper.DAY, DatabaseHelper.HOUR, DatabaseHelper.MINUTE, DatabaseHelper.DOW, DatabaseHelper.TYPE}; String sel1 = DatabaseHelper.YEAR+ "=? AND " + DatabaseHelper.MONTH + "=?"; String[] sel2 = new String[]{fmt(cyear), fmt(cmonth)}; cur_db = db.query(DatabaseHelper.TABLE_NAME, col, sel1, sel2, null, null, null);
以上查询中,col是返回的列名字符串数组,sel1是选择操作,sel2是选择操作的参数。最后执行查询操作,并将结果返回给cur_db。