Android SQLite实战

不多普及基础知识,就当备份功能代码。实现数据的本地数据库存储与读取。

/**
     * 列表测试数据
     * 
     * @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();
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值