Android中怎么实现数据库操作

发布时间:2021-06-26 14:54:56 作者:Leah
来源:亿速云 阅读:111

这篇文章将为大家详细讲解有关Android中怎么实现数据库操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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数据库操作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 语句,便可以直接操作手机数据库。

关于Android中怎么实现数据库操作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. android sqlite数据库操作
  2. Android Day03-SQLite数据库操作及ListView详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android

上一篇:layer中ui插件显示tips时如何修改字体颜色

下一篇:Docker是什么以及它的原理有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》