Android 使用 SQLite数据库一般操作有:创建数据库、创建表、打开数据库、添加数据、删除数据、修改数据、查询数据、关闭数据库。

1.建立一个DatabaseUtil类:

其中内嵌一个DatabaseHelper类继承SQLiteOpenHelper。SQLiteOpenHelper需要实现两个方法onCreate(SQLiteDatabase)用于创建数据库,onUpgrade(SQLiteDatabase,int,int)升级数据库。

SQLiteDatabase,用来管理数据库,它提供了insert、delete、query等方法。

2.创建数据库,创建表:

private static final String CREATE_DATA_NAME = "create table  LatLon (id long primary key, start_time timestamp not null, end_time timestamp not null, interval long not null, start_x integer, start_y integer, min_x integer, min_y integer, max_x integer, max_y integer,history varchar(100))"; /**     * 创建更新数据库     */    private static class DatabaseHelper extends SQLiteOpenHelper {        DatabaseHelper(Context context) {            super(context, DATABASE_NAME, null, DATABASE_VERSION);        }        /**         * 创建         */        @Override        public void onCreate(SQLiteDatabase db) {            Log.i(TAG, "Creating DataBase: " + CREATE_DATA_NAME);            db.execSQL(CREATE_DATA_NAME);        }        /**         * 数据库版本变化时调用         */        @Override        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {            Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion);        }    }

这样就创建了一个数据库,表名为LatLon,字段有id , start_time , end_time , interval , start_x , start_y , min_x , min_y , max_x , max_y , history

3.打开数据库:

 public DatabaseUtil(Context ctx) {        this.mCtx = ctx;    }/**     * 打开数据库     */    public DatabaseUtil open() throws SQLException {        mDbHelper = new DatabaseHelper(mCtx);        mDb = mDbHelper.getWritableDatabase();        return this;    }

调用时:

DatabaseUtil dbUtil = new DatabaseUtil(getApplicationContext());dbUtil.open();

4.添加数据:

DBUtil中insert方法:

/** * 添加数据 */    public long insert(long time, long start_time, long end_time, long interval, double start_x,            double start_y, double min_x, double min_y, double max_x, double max_y, String history) {        ContentValues initialValues = new ContentValues();        initialValues.put("id", time);        initialValues.put("start_time", start_time);        initialValues.put("end_time", end_time);        initialValues.put("interval", interval);        initialValues.put("start_x", start_x);        initialValues.put("start_y", start_y);        initialValues.put("min_x", min_x);        initialValues.put("min_y", min_y);        initialValues.put("max_x", max_x);        initialValues.put("max_y", max_y);        initialValues.put("history", history);        return mDb.insert(DATABASE_TABLE, null, initialValues);    }

调用方法时:

public void recordLocation(Location loc) {        DatabaseUtil dbUtil = new DatabaseUtil(getApplicationContext());        dbUtil.open();        dbUtil.insert(System.currentTimeMillis(),                       System.currentTimeMillis(),                      System.currentTimeMillis(),                      5, loc.getLongitude(),                       loc.getAltitude(),                      loc.getLongitude(),                       loc.getAltitude(),                      loc.getLongitude(),                       loc.getAltitude(),                      "[asdf{sdf:sdf,sdf}]");        dbUtil.close();    }
这样就可以将需要的值存入数据库。

5.删除数据:

删除某一行的数据:

/** * 根据时间删除数据 *  */    public boolean deleteBytime(long time) {        return mDb.delete(DATABASE_TABLE, "id" + "=" + time, null) > 0;    }

调用方法时:

DatabaseUtil dbUtil = new DatabaseUtil(getApplicationContext());dbUtil.open();dbUtil.deleteBytime(1359363721903L);dbUtil.close();

6.修改数据:

暂无修改数据需求。

如有需求:

利用ContentValues 更新数据

mDb.update(表名,ContentValues,条件,null);

方法返回值为int类型。

7.查询数据:

查询出所有数据,返回的是一个Cursor:

    /**     * 查询所有数据     *      * @return Cursor     */    public Cursor queryAll() {        return mDb.query(DATABASE_TABLE, new String[] { "id", "start_time", "end_time", "interval",                "start_x", "start_y", "min_x", "min_y", "max_x", "max_y", "history" }, null, null,                null, null, null);    }

调用方法时:

DatabaseUtil dbUtil = new DatabaseUtil(getApplicationContext());        dbUtil.open();        Cursor cursor = dbUtil.queryAll();        if (cursor != null) {            while (cursor.moveToNext()) {                     System.out.println(cursor.getInt(0) + "   " + cursor.getDouble(2) + "  "                        + cursor.getDouble(1));            }        }        dbUtil.close();

8.关闭数据库:

关闭数据库方法:

    /**     * 关闭数据库     */    public void close() {        mDbHelper.close();    }


调用方法时:

dbUtil.close();

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. android Tabhost中,控制activity的生命周期
  5. Android(安卓)图表绘制 achartengine 示例解析
  6. Android中文API(133) —— LocationListener
  7. listview绑定xml网络数据(android极简原创系列)
  8. APK安装过程详解
  9. Android开发之四大组件

随机推荐

  1. android SQLite操作
  2. android 自定义ratingbar 图片显示不全的
  3. Android(安卓)平铺背景图片
  4. Android(安卓)error: adb 端口被占用 (ad
  5. 用layer-list一次加载多个层次图片
  6. 从java内存分配角度分析android内存泄漏
  7. 【android】安卓开发学习路线图
  8. Android(安卓)传感器 都有哪些?
  9. Android中SharedPreferences的基本使用
  10. [hanchao3c]Android的MediaPlayer架构介