sqlite 数据库简单封装示例,使用记事本数据库表举行示例。
首先继续SQLiteOpenHelper 使用sql语句举行创建一张表。
- public class noteDBHelper extends SQLiteOpenHelper {
- public noteDBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
- super(context, name, factory, version);
- }
- @Override
- public void onCreate(SQLiteDatabase sqLiteDatabase) {
- String sql="create table if not exists note_data(" +
- "note_id integer primary key autoincrement," +
- "note_tittle varchar,"+
- "note_content varchar,"+
- "note_type varchar,"+
- "createTime varchar,"+
- "updateTime varchar,"+
- "note_owner varchar)";
- sqLiteDatabase.execSQL(sql);
- }
- @Override
- public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
- }
- }
复制代码 使用单例封装这张表的增删改查,同时转换成字段对应的布局体。这样方便数据管理,插入,查询,更新等操作。
- public class NoteDaoManage {
- private static NoteDaoManage noteDaoManage;
- Context context;
- noteDBHelper dbHelper;
- public static NoteDaoManage GetInstance(Context base) {
- if (noteDaoManage == null) {
- noteDaoManage = new NoteDaoManage(base);
- }
- return noteDaoManage;
- }
- private NoteDaoManage(Context context) {
- this.context = context;
- dbHelper = new noteDBHelper(context, "note.db", null, 1);
- }
- public void insertNote(NoteBean bean){
- SQLiteDatabase sqLiteDatabase= dbHelper.getWritableDatabase();
- ContentValues cv = new ContentValues();
- cv.put("note_tittle",bean.getTitle());
- cv.put("note_content",bean.getContent());
- cv.put("note_type",bean.getType());
- cv.put("createTime",bean.getCreateTime());
- cv.put("updateTime",bean.getUpdateTime());
- cv.put("note_owner",bean.getOwner());
- sqLiteDatabase.insert("note_data",null,cv);
- }
- public int DeleteNote(int id){
- SQLiteDatabase sqLiteDatabase= dbHelper.getWritableDatabase();
- int ret=0;
- ret=sqLiteDatabase.delete("note_data","note_id=?",new String[]{id + ""});
- return ret;
- }
- @SuppressLint("Range")
- public List<NoteBean> getAllData(){
- List<NoteBean> noteList = new ArrayList<>();
- SQLiteDatabase db = dbHelper.getWritableDatabase();
- String sql="select * from note_data "; // 查询全部数据
- Cursor cursor = db.rawQuery(sql,null);
- while (cursor.moveToNext()) {
- NoteBean note = new NoteBean();
- note.setId(cursor.getInt(cursor.getColumnIndex("note_id")));
- note.setTitle(cursor.getString(cursor.getColumnIndex("note_tittle")));
- note.setContent(cursor.getString(cursor.getColumnIndex("note_content")));
- note.setType(cursor.getString(cursor.getColumnIndex("note_type")));
- note.setCreateTime(cursor.getString(cursor.getColumnIndex("createTime")));
- note.setUpdateTime(cursor.getString(cursor.getColumnIndex("updateTime")));
- noteList.add(note);
- }
- if (cursor != null) {
- cursor.close();
- }
- if (db != null) {
- db.close();
- }
- return noteList;
- }
- public void updateNote(NoteBean note) {
- SQLiteDatabase db = dbHelper.getWritableDatabase();
- ContentValues cv = new ContentValues();
- cv.put("note_tittle", note.getTitle());
- cv.put("note_content", note.getContent());
- cv.put("note_type", note.getType());
- cv.put("updateTime", note.getUpdateTime());
- db.update("note_data", cv, "note_id=?", new String[]{note.getId()+""});
- db.close();
- }
- @SuppressLint("Range")
- public List<NoteBean> queryNotesAll(int mark, String text) {
- SQLiteDatabase db = dbHelper.getWritableDatabase();
- List<NoteBean> noteList = new ArrayList<>();
- NoteBean note;
- String sql ;
- Cursor cursor = null;
- if (TextUtils.isEmpty(text)){
- sql="select * from note_data "; // 查询全部数据
- }else {
- if(mark==0){
- sql = "SELECT * FROM note_data WHERE note_tittle LIKE '%" + text + "%'" + " order by note_id desc"; // 构建SQL语句
- }else {
- sql = "SELECT * FROM note_data WHERE note_content LIKE '%" + text + "%'" + " order by note_id desc"; // 构建SQL语句
- }
- }
- cursor = db.rawQuery(sql,null);
- while (cursor.moveToNext()) {
- note = new NoteBean();
- note.setId(cursor.getInt(cursor.getColumnIndex("note_id")));
- note.setTitle(cursor.getString(cursor.getColumnIndex("note_tittle")));
- note.setContent(cursor.getString(cursor.getColumnIndex("note_content")));
- note.setType(cursor.getString(cursor.getColumnIndex("note_type")));
- note.setCreateTime(cursor.getString(cursor.getColumnIndex("createTime")));
- note.setUpdateTime(cursor.getString(cursor.getColumnIndex("updateTime")));
- noteList.add(note);
- }
- if (cursor != null) {
- cursor.close();
- }
- if (db != null) {
- db.close();
- }
- return noteList;
- }
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |