Android中如何实现数据库操作
创始人
2024-12-17 15:01:04
0次

Android数据库操作1. 创建数据库

Android 提供了标准的数据库创建方式。继承SQLiteOpenHelper ,实现onCreate 和 onUpgrade 两个方法,有个好处就是便于数据库版本的升级。

private static class DatabaseHelper extends SQLiteOpenHelper {  DatabaseHelper(Context context) {  super(context, DATABASE_NAME, null, DATABASE_VERSION);  }  @Override  public void onCreate(SQLiteDatabase db) {  }  @Override  public void onUpgrade(SQLiteDatabase db, int oldVersion,   int newVersion) {  }  }

Android数据库操作2. 操作数据库

之前一直疑惑于一个功能操作是否要每次打开数据库完之后,要立即关闭数据库? 还是一个应用程序只开一次数据库,等到应用程序退出时再关闭数据库? 其中的顾虑在性能和多线程。 想到一个方法 ,将数据库操作类作为单件,将数据库的lock 设置为false. 关闭数据库的lock., 而在每一个Table的修改时加上相应的Table锁。

public class WebViewDatabase {  public static synchronized WebViewDatabase getInstance(Context context) {   // use per table Mutex lock, turn off database lock, this  // improves performance as database's ReentrantLock is expansive  mDatabase.setLockingEnabled(false);  }  // synchronize locks  private final Object mHttpAuthLock = new Object();  public boolean hasHttpAuthUsernamePassword() {  synchronized (mHttpAuthLock) {  return hasEntries(TABLE_HTTPAUTH_ID);  }  }  }

想想看,将将底层数据封装成ContentProvider, 供应用程序调用, 标准的做法,就是如果对ContentProvider不是很熟悉的话,就有点麻烦了。

  • Android数字证书具体应用机制

  • Android数据存储访问机制

  • Android可选API适用范围

  • Android调试程序正确进行方式

  • Android根文件系统相关应用介绍

Android数据库操作3. 数据显示

Cursor前面说过,是一个指向数据源的随机迭代器显示数据。将View绑定到Cursor通常要设置这样几个参数。一个是每一行的样式,称作Row Layout,其实就是一个普通的Layout的XML文件。还有就是一个列和现实控件的对应关系。那个控件显示哪个列的值,这是需要配置的。为了定制一个良好的数据显示控件,最简单你可以定制很PP的Row Layout,复杂一点就是可以重载绑定控件View,或者是适配器ListAdapter。

要使用Cursor动态绑定View,每个表有一个_id列。

重新绑定Cursor, 并刷新页面

Cursor.requery().  Adapter. notifyDataSetChanged();

想到一个问题,数据量非常大的时候,会不会出现内存不足的现象? Cursor是动态绑定View. 深入去看android的代码,CursorWindow 内部提供了Buffer, 供将数据库的数据拷贝到该Buffer. 作为View显示的缓冲区,其大小是有限的。根据V iew 的变化重新填充Buffer.

Android数据库操作4. 导出数据库

我们要查看手机的数据库内容,每次都要从手机导出,然后sqlite 工具查看。其实用adb shell sqlite直接查看手机的数据库, 在这抛砖引玉了,有志之人将其做一个工具,封装sqlite 语句,便可以直接操作手机数据库。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...