封装数据库一系列操作,包括打开/新建数据库,增删改查

该类如何使用:定义变量
/*
NoteDbHelper noteDbHelper;
noteDbHelper=new NoteDbHelper(MainActivity.this);
//必须传一个MainActivity.this参数
noteDbHelper.open();
noteDbHelper.createNote();
*/

public class NoteDbHelper {
    private String LOGTAG="NoteDbHelper";
    private static final String DB_NAME = "data1";
    private static final int DB_VERSION = 1;

    private static final String TABLE_NAME = "notes";
    static final String KEY_TITLE = "title";
    static final String KEY_BODY = "body";
    static final String KEY_ROWID = "_id";

    private Context ctx = null;
    private NoteSQLiteHelper dbHelper = null;
    private SQLiteDatabase db = null;

/*
构造函数
 */
    public NoteDbHelper(Context ctx) {
        this.ctx = ctx;
    }

    public NoteDbHelper open(){
        dbHelper = new NoteSQLiteHelper(ctx, DB_NAME, null, DB_VERSION) ;
        db=dbHelper.getWritableDatabase();
        return this;
    }

    public int createNote(String title, String body) {
        ContentValues values = new ContentValues();
        values.put(KEY_TITLE, title);
        values.put(KEY_BODY, body);

        int rowId = (int)db.insert(TABLE_NAME, null, values);
        return rowId;
    }

    public boolean updateNote(long rowId, String title, String body) {
        ContentValues values = new ContentValues();
        values.put(KEY_TITLE, title);
        values.put(KEY_BODY, body);

        int updatedRows = db.update(TABLE_NAME, values, KEY_ROWID + "=" + rowId, null);
        return updatedRows > 0;
    }

    public boolean deleteNote(long rowId) {
        int deletedRows = db.delete(TABLE_NAME, KEY_ROWID + "=" + rowId, null);
        return deletedRows > 0;
    }

    public Cursor retrieveAllNotes() {
        Cursor cur = db.query(TABLE_NAME, null,
                null, null, null, null, null);
        return cur;
    }


    public List<Notebean> getAllNotes()
    {
        //获取游标
        Cursor c=retrieveAllNotes();
        //初始化集合
        ArrayList<Notebean> itemList = new ArrayList<Notebean>();
        // c.moveToNext()游标指向下一行
        while (c.moveToNext()) {

            Notebean item = new Notebean();
            //c.getColumnIndex(KEY_ROWID)根据列名获取该列的索引
            //c.getInt(index)根据索引获取数据
           // item.setId(c.getInt(c.getColumnIndex(KEY_ROWID)));

            //KEY_ROWID="_id";
            //返回_id所在的下标
            int index=c.getColumnIndex(KEY_ROWID);
            //根据下标来获取数据
            int myid=  c.getInt(index);
            //把数据设置到bean中
            item.setId(myid);

            item.setTitle(c.getString(c.getColumnIndex(KEY_TITLE)));
            item.setBody(c.getString(c.getColumnIndex(KEY_BODY)));

            Log.e(LOGTAG, "Notebean-" + item.toString());
            //添加数据
            itemList.add(item);

        }
        return itemList;

    }



}


可能会有点乱,仔细看看就知道大概原理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值