为了账号安全,请及时绑定邮箱和手机立即绑定

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 }, null, null, null);

  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;

 } 

  在看数据库的时候不必用工具,还可以采用sqlite3的命令行来查询数据库。

  数据库中也有事物的介绍,详情看api。

原文链接:http://www.apkbus.com/blog-846519-61881.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消