在android开发中,我们常常用sqlite来存储用户信息,如何进行sqlite常规操作呢,请参阅下面的示例代码:

package com.db.imgfornote;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;public class DBHelper extends SQLiteOpenHelper {final private static String mDbName="imgfornote";final private static int mDbVersion=1;private static DBHelper mInstance=null;private final static String mTUserPhoto="UserPhoto";final private static String mCreateSqlForNoteClass="create table if not exists NoteClass(classId integer primary key asc autoincrement,className NVARCHAR(100),rowTime timestamp default (datetime('now', 'localtime')))";final private static String mCreateSqlForUserPhoto="create table if not exists UserPhoto(photoId integer primary key asc autoincrement,photoName VARCHAR(200),userPt VARCHAR(200),title VARCHAR(255),classId integer,content NVARCHAR(250),tag NVARCHAR(200),remark text,status integer default 0,rowTime timestamp default (datetime('now', 'localtime')))";final private static String[] mInsertSqlForNoteClass={"insert into NoteClass(className) values('默认分类[私有]');","insert into NoteClass(className) values('读书笔记[私有]');","insert into NoteClass(className) values('电子资料[公开]');"};private DBHelper(Context context, CursorFactory factory) {super(context, mDbName, factory, mDbVersion);}public static DBHelper GetInstance(Context context, SQLiteDatabase.CursorFactory factory){if(mInstance==null){mInstance = new DBHelper(context,factory);}return mInstance;}@Overridepublic void onCreate(SQLiteDatabase db) {// 创建表db.execSQL(mCreateSqlForNoteClass);db.execSQL(mCreateSqlForUserPhoto);//初始化数据for(int i=0;i<mInsertSqlForNoteClass.length;i++)db.execSQL(mInsertSqlForNoteClass[i]);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stub}private Cursor ExecSQLForCursor(String sql, String[] selectionArgs){SQLiteDatabase db =getWritableDatabase();Log.i("ExecSQLForCursor",sql);return db.rawQuery(sql, selectionArgs);}private void ExecSQL(String sql){try{SQLiteDatabase db =getWritableDatabase();ExecSQL(sql,db);}catch(Exception e){Log.e("ExecSQL Exception",e.getMessage());        e.printStackTrace();}}private void ExecSQL(String sql,SQLiteDatabase db ){try{db.execSQL(sql);Log.i("ExecSQL",sql);}catch(Exception e){Log.e("ExecSQL Exception",e.getMessage());       e.printStackTrace();}}//添加照片信息public long InsertUserPhoto(String photoName,String title){SQLiteDatabase db =getWritableDatabase();ContentValues cv = new ContentValues();cv.put("photoName", photoName);cv.put("title", title);return db.insert(mTUserPhoto, null, cv);}//查询照片信息public Cursor SearchPhoto(int row,String sort){Cursor cur = null;try{String ord = (sort==null|| sort.toLowerCase().startsWith("a"))?"asc":"desc";String sql = "select * from UserPhoto order by photoId "+ord;String[] args = {String.valueOf(row)};if(row>0){sql +=" limit ?";}else{args=null;}cur = ExecSQLForCursor(sql,args);}catch (Exception e) {cur = null;Log.e("SearchPhoto Exception",e.getMessage());        e.printStackTrace();}return cur;}//修改照片信息public int UpdateUserPhoto(int photoId,int classId,String title,String content, String tag){SQLiteDatabase db =getWritableDatabase();ContentValues cv = new ContentValues();cv.put("classId", classId);cv.put("title", title);cv.put("content", content);cv.put("tag", tag);String[] args = {String.valueOf(photoId)};return db.update(mTUserPhoto, cv, "photoId=?",args);}//删除照片信息public int DeleteUserPhoto(int photoId){SQLiteDatabase db =getWritableDatabase();String[] args = {String.valueOf(photoId)};return db.delete(mTUserPhoto, "photoId=?", args);}}

主要用到的类:SQLiteOpenHelper、SQLiteDatabase及ContentValues

更多相关文章

  1. android文件上传示例分享(android图片上传)
  2. 获得G1的电池电量信息
  3. 窗口透明样式示例
  4. Android(安卓)Dialog大全
  5. android用户界面-提示信息Toast
  6. Android(安卓)使用摄像头拍照
  7. Android(安卓)dumpstate 工具解析
  8. Android: not single entry point
  9. Android(安卓)监视文件

随机推荐

  1. Android中调用外部程序的方法[整理]
  2. Android(安卓)Gradle使用笔记(持续更新)
  3. Android(安卓)Studio之初体验 ---- 很好
  4. Android中调用系统所装的软件打开文件
  5. Android7 InputReader InputDispatcher K
  6. Android(安卓)bluetooth介绍(一):基本概念及
  7. Android学习笔记(十四)
  8. 想在Android上用一下PureMVC,谁知结果……
  9. Android(安卓)studio 使用问题汇总
  10. phonegap WebApp