Android数据库的运用

【Android数据库的运用】最是人间留不住,朱颜辞镜花辞树。这篇文章主要讲述Android数据库的运用相关的知识,希望能为你提供帮助。
很简单的应用,所以我直接简单明了。
      android中数据库的运用:     1.定义类继承SQLiteOpenHelper   ps:  public  class  DBHelper  extends  SQLiteOpenHelper {      public  DBHelper(Context context) {       super(context, DBInfo.DB.DB_NAME,  null, DBInfo.DB.DB_VERSION);   }   @Override //这个是数据库第一次创建的时候用   public  void  onCreate(SQLiteDatabase db) {     db.execSQL(DBInfo.Table.USER_INFO_CREATE);   }   @Override //这个是数据库升级版本时候调用的方法   public  void  onUpgrade(SQLiteDatabase db,  int  oldVersion,  int  newVersion) {     db.execSQL(DBInfo.Table.USER_INFO_DROP);     onCreate(db);   } }          当你完成了对数据库的操作(例如你的 Activity 已经关闭),需要调用 SQLiteDatabase 的 Close() 方法来释放掉数据库连接。
    下面是对数据库的增删改查(每种方法包括两种方法介绍:优点与缺点):     /**     * 添加一条记录到数据库     *     * @param id     * @param name     */ //第一种方法   public  void  add(String id, String name) { //创建数据库,只有它执行,数据库才可以被创建   另外也可以用.getReadableDatabase();       SQLiteDatabase db = dbHelper.getWritableDatabase();       // 不好之处:无返回值,无法判断是否插入成功     db.execSQL("insert into user_table (userId,userName) values (?,?)",         new  Object[] { id, name });     db.close();   } //第二种方法   public  long  addandroid(String id, String name) {     SQLiteDatabase db = dbHelper.getWritableDatabase();     ContentValues values =  new  ContentValues();     values.put("userId", id);     values.put("userName", name);     // 好处:有返回值   但是当表多的时候查询就会麻烦     long  result = db.insert(Table.USER_INFO_TB_NAME,  null, values); // 返回值是插入的是第几行,大于0代表添加成功     db.close();     return  result;   }         /**     * 查询某条记录是否存在     *     * @param name     * @return     */   public  boolean  find(String name) {     SQLiteDatabase db = dbHelper.getReadableDatabase();     Cursor cursor = db.rawQuery(         "select * from user_table where userName = ?",         new  String[] { name });     boolean  result = cursor.moveToNext();     db.close();     return  result;   }   public  boolean  findAndroid(String name) {     SQLiteDatabase db = dbHelper.getReadableDatabase();     Cursor cursor = db.query(Table.USER_INFO_TB_NAME,  null"userName = ?",         new  String[] { name },  nullnullnull);     boolean  result =  cursor.moveToNext(); // true代表查找到了//有许多的方法,可以看api文档介绍     db.close();     return  result;   }       /**     * 修改一条记录     *     * @param id     * @param name     */   public  void  update(String id, String name) {     SQLiteDatabase db = dbHelper.getWritableDatabase();     // 缺点无返回值     db.execSQL("update user_table set userName = ? where userId = ?",         new  Object[] { name, id });     db.close();   }   public  int  updateAndroid(String id, String name) {     SQLiteDatabase db = dbHelper.getWritableDatabase();     ContentValues values =  new  ContentValues(); //是一个map集合,谷歌封装好的 所有有key与value值。     values.put("userName", name);     // 返回值大于0代表修改更新成功     int  result = db.update(Table.USER_INFO_TB_NAME, values,  "userId = ?",         new  String[] { id });     db.close();     return  result;   }       /**     * 删除一条记录     *     * @param name     */   public  void  delete(String name) {     SQLiteDatabase db = dbHelper.getWritableDatabase();     db.execSQL("delete from user_table where userName = ?",         new  String[] { name });     db.close();   }   public  int  deleteAndroid(String name) {     SQLiteDatabase db = dbHelper.getWritableDatabase();     int  result = db.delete(Table.USER_INFO_TB_NAME,  "userName = ?",         new  String[] { name }); // 返回值为受影响的行数,大于0代表成功     db.close();     return  result;   }

    推荐阅读