本次使用SQLite包括数据插入与游标查询操作。
【1】建立SQLite的Helper,继承自SQLiteOpenHelper,类中包含两部分,一是构造方法。
public UserDB_Helper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
二是重写函数onCreate和onUpgrade。此处新建表users包含属性number,time,name。
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table users(number varchar(20),name varchar(20),time varchar(30))";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
【2】在活动/碎片中对UserDB_Helper 其声明对象
private static UserDB_Helper db_Helper;
并初始化db_Helper = new UserDB_Helper(getActivity(),"db_users",null,1);
第二个参数为数据库名称。声明数据库对象
final SQLiteDatabase db = db_Helper.getWritableDatabase();
【3】数据插入。ContentValues 对象逐条插入。
ContentValues cv = new ContentValues();
cv.put("number",str_number);
cv.put("name",str_name);
cv.put("time",str_time);
db.insert("users",null,cv);
【4】数据查询。在其他页面使用UserDS_Helper对象,需要调用其对象获取方法com.example.tablayout.FragmentA.getDb_Helper()。
final SQLiteDatabase db = com.example.tablayout.FragmentA.getDb_Helper().getReadableDatabase();
使用游标进行数据查询操作并获取查询结果。
Cursor cursor = db.query("users", new String[]{"number","name","time"}, null, null, null, null, null);
while(cursor.moveToNext()){
number = cursor.getString(cursor.getColumnIndex("number"));
name = cursor.getString(cursor.getColumnIndex("name"));
time = cursor.getString(cursor.getColumnIndex("time"));
}
【5】效果展示。