本文共 2301 字,大约阅读时间需要 7 分钟。
android 应用开发的过程中,我们需要在本地存一些数据,这时候我们就需要使用数据库来帮助我们实行,当然Android的数据存储不仅仅只有数据库的这一种方式,使用sqlite可以帮助我们存储更多的数据,如果少量的数据,我们可以通过shareSharedPreferences 来实现少量数据的存储,下面讲一下关于数据库sqlite
的使用,
package com.example.iclubhelper.sqllite;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBOpenHelper extends SQLiteOpenHelper{ public DBOpenHelper(Context context) { super(context,"message", null, 1); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) {/* 当数据库首次被创建的时候将被执行的sql语句,下面解释一下sql语句,创建一个表名为message的数据库,当其不存在的时候自动创建,第一个参数是每条数据的id,然后是自定义的每条记录的名称和记录的数据类型
*/ db.execSQL("CREATE TABLE IF NOT EXISTS message (id integer primary key autoincrement,title varchar(128),content text,time text, nid text)"); } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}
然后接着就是数据库在activity中的使用,下面是数据库的查询和获取数据库中的内容。
private DBOpenHelper dBOpenHelper;dBOpenHelper = new DBOpenHelper(this);
//获得可以读取数据的数据库对象
SQLiteDatabase db = dBOpenHelper.getReadableDatabase();
//创建游标对象进行遍历数据库并将其中的数据拿出来 Cursor cursor = db.query("message", null, null, null, null, null, null); if (null != cursor && cursor.getCount() > 0) { while (cursor.moveToNext()) { HashMapmap = new HashMap (); for (int i = 0; i < cursor.getColumnCount(); i++) { map.put("id", cursor.getString(0)); map.put("title", cursor.getString(1)); map.put("content", cursor.getString(2)); } listDate.add(map); } }
//在使用完之后将游标和数据库都进行关闭
cursor.close(); db.close();下面是实现删除数据库中的内容,将数据库中的内容全部删除,执行数据库的操作的时候最后要将数据库进行关闭
SQLiteDatabase db = dBOpenHelper.getWritableDatabase(); db.delete("message", null, null); db.close();根据id或者其它的条件将指定列的数据进行删除,
//首先获得可以进行编辑的数据库
SQLiteDatabase db = dBOpenHelper.getWritableDatabase();
/*使用Android自身提供的方法,第一个参数是所要删除数据的数据库的表名,第二个是删除所要依据的列名,然后通过一个字符串数组将所要删除的数据放在里面,这样便可以实现将符合要求的数据删除掉
*/
db.delete("message", "id=?", new String[] { id_ }); db.close();
向数据库中添加数据,contentValues 是用来存储键值的,将其中的值填充后,然后将其插入数据库中
db = new DBOpenHelper(context).getWritableDatabase(); ContentValues values = new ContentValues(); values.put("title", notifiShowRlt.getTitle()); values.put("content", notifiShowRlt.getContent()); db.insert("message", null, values); db.close();
转载地址:http://ibtmi.baihongyu.com/