不多普及基础知识,就当备份功能代码。实现数据的本地数据库存储与读取。
/**
* 列表测试数据
*
* @throw
* @param context
* 上下文对象
* @return void
*/
public void initDataDemo(Context context) {
/*
* 创建数据库、表,并填充一部分测试数据
*/
// 打开或创建alarms.db数据库
SQLiteDatabase db = context.openOrCreateDatabase("alarms.db",
Context.MODE_PRIVATE, null);
db.execSQL("DROP TABLE IF EXISTS alarm");
// 创建person表
db.execSQL("CREATE TABLE alarm (aid INTEGER PRIMARY KEY AUTOINCREMENT, detail VARCHAR, up_time VARCHAR, status INTEGER, longitude DOUBLE, latitude DOUBLE, address VARCHAR, photo_path VARCHAR)");
// Alarm alarm = new Alarm();
for (int i = 0; i < 10; i++) {
// ContentValues以键值对的形式存放数据
ContentValues cv = new ContentValues();
cv.put("aid", i + 1000);
cv.put("detail", "第" + i + "条警情的详情。");
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
cv.put("up_time", df.format(System.currentTimeMillis()));
cv.put("status", i % 3);
cv.put("longitude", "");
cv.put("latitude", "");
cv.put("address", "第" + i + "条警情的地址。");
cv.put("photo_path", "");
// 插入ContentValues中的数据
db.insert("alarm", null, cv);
}
/*
* 将数据库中的数据展示出来
*/
// 取出数据库数据
mData = new ArrayList<Alarm>();
Cursor c = db.rawQuery("SELECT * FROM alarm ", null);
while (c.moveToNext()) {
int aid = c.getInt(c.getColumnIndex("aid"));
String detail = c.getString(c.getColumnIndex("detail"));
String up_time = c.getString(c.getColumnIndex("up_time"));
String status = c.getString(c.getColumnIndex("status"));
Double longitude = c.getDouble(c.getColumnIndex("longitude"));
Double latitude = c.getDouble(c.getColumnIndex("latitude"));
String address = c.getString(c.getColumnIndex("address"));
String photo_path = c.getString(c.getColumnIndex("photo_path"));
Alarm alarm = new Alarm();
alarm.setId(aid);
alarm.setDetail(detail);
alarm.setUp_time(up_time);
alarm.setStatus(status);
alarm.setLongitude(longitude);
alarm.setLatitude(latitude);
alarm.setAddress(address);
// alarm.setPhoto_path(photo_path);
mData.add(alarm);
Log.i("db", "aid=>" + aid + ", detail=>" + detail + ", up_time=>"
+ up_time + ", status=>" + status + ", longitude=>"
+ longitude + ", latitude=>" + latitude + ", address=>"
+ address + ", photo_path=>" + photo_path);
}
c.close();
// 展示数据
if (mData != null && mData.size() > 0) {
show();
}
}