Android getWritableDatabase()和getReadableDatabase区别

Android使用getWritableDatabase()和getReadableDatabase()方法都可以获取一个用于操作数据库的SQLiteDatabase实例。

其中getReadableDatabase()方法则是先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。如果该问题成功解决,则只读数据库对象就会关闭,然后返回一个可读写的数据库对象。

getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,使用的是getWritableDatabase() 方法就会出错。

时间: 2024-10-14 17:20:06

Android getWritableDatabase()和getReadableDatabase区别的相关文章

Android使用getWritableDatabase()和getReadableDatabase()

数据库SQLite介绍 Android使用getWritableDatabase()和getReadableDatabase()方法都可以获取一个用于操作数据库的SQLiteDatabase实例. getReadableDatabase()方法中会调用getWritableDatabase()方法 其中 getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若使用的是getWritableDatabase() 方法就会出错. g

getWritableDatabase()与getReadableDatabase()的区别:

getWritableDatabase取得的实例不是仅仅具有写的功能,而是同时具有读和写的功能同样的 getReadableDatabase取得的实例也是具对数据库进行读和写的功能. 两者的区别在于 getWritableDatabase取得的实例是以读写的方式打开数据库,如果打开的数据库磁盘满了,此时只能读不能写,此时调用了getWritableDatabase的实例,那么将会发生错误(异常) getReadableDatabase取得的实例是先调用getWritableDatabase以读写

android setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds区别

手工设置文本与图片相对位置时,常用到如下方法: setCompoundDrawables(left, top, right, bottom) setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom) 意思是设置Drawable显示在text的左.上.右.下位置. 但是两者有些区别: setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高, 所以才有The D

@+id/和android:id有什么区别?

Any View object may have an integer ID associated with it, to uniquely identify the View within the tree. When the application is compiled, this ID is referenced as an integer, but the ID is typically assigned in the layout XML file as a string, in t

getWritableDatabase()与getReadableDatabase()方法

一旦在程序中得到了SQLiteOpenHelper对象之后,程序无须使用SQLiteDatabase的静态方法创建SQLiteDatabase实例,而且可以使用getWritableDatabase()或getReadableDatabase()方法来获取一个用于操作数据库的SQLiteDatabase实例. getWritableDatabase()方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若使用getWritableDatabase()打开数据库就会出错.

android.support.v4.app.Fragment vs android.app.Fragment 的区别

android.support.v4.app.Fragment vs android.app.Fragment 的区别 我开过平板相关应用,用了Fragment来处理.后来重新开发另外一个应用,直接引用了原来布局和代码, 我用的是android.support.v4.app.fragment居然死活通过.总是报错 “android.view.InflateException: Binary XML file line #7: Error inflating class fragment” 往下推

[转载] Android raw与assets区别

*res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. *res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类.2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源: 1

细说ios开发和Android开发有什么区别?谁更有优势?

ios开发和安卓开发的市场分析:      首先iOS系统是应用在iPhone.iPad等高端设备上的,iOS市场占有的份额虽然不高,但是用户的消费能力比较强,生态圈较好有利于开发者直接获利.Android向大众人群普及,市场份额占有率虽然很高,但是用户群体的人均消费能力普遍弱,但是依托于用户的基数使得Android有资本跟iOS抢占市场份额. ios开发与安卓开发区别比较:      iOS:基于Unix闭源的操作系统,核心语言是Objective-C,相关的语言还有C语言(重点在数据结构和算

android Thread和Runable区别,精讲(有疑问)

发现我对Thread和Runable有错误的理解,看过源码后进行区分这两者. 其一:Runable只是一个接口,不会开启一个线程,依旧是运行在UI线程中. public interface Runnable { /** * Starts executing the active part of the class' code. This method is * called when a thread is started that has been created with a class w