jjzjj

GetReadableDatabase

全部标签

android - GetReadableDatabase错误android

我创建了一个DBTest类SQLiteOpenHelper然后我从我的主UI中调用它。当我点击DB.GetReadableDatabase()时它崩溃了,日志没有帮助,只是说空指针,但我不知道去哪里看。如果我使用一切正常SQLiteDatabase.openDatabase(myPath,null,SQLiteDatabase.OPEN_READONLY);相同的数据库这是帮助程序的类,在错误下方:publicclassDBTestextendsSQLiteOpenHelper{privatestaticStringDB_NAME="DB";privateSQLiteDatabasem

android - 我应该如何通知用户 SQLite Asset Helper 是第一次加载数据库?

我正在使用SQLiteAssetHelper库来处理设置和升级我的应用程序数据库的肮脏工作。它工作得很好,但不幸的是我还没有想出一种方法来通知用户图书馆:A)第一次加载数据库(通过从\assets\databases\文件夹中解压)或B)升级数据库(使用\assets\datates中升级后的数据库文件中的信息)我尝试将此代码放入我的应用程序的主Activity.onCreate()中,认为我可以在主线程上加载数据库(如果它不存在),同时使用不可关闭的AlertDialog分散用户的注意力:FiledbFile=this.getDatabasePath("gShoJMDict");Bo

android - getWritableDatabase() 和 getReadableDatabase() 之间的区别?

我使用读取和写入数据库没有任何问题。但我无法找出区别。我在网上搜索过,但不是很清楚。谁能告诉我区别?在哪种情况下我应该使用getWritableDatabase()或getReadableDatabase()? 最佳答案 摘self删除的答案here(这个问题与那个问题重复)。Innormalsituations,getReadableDatabase()willreturnthesamewritabledatabasereturnedbygetWritableDatabase().However,shoulditnotbeposs

android - SQLiteDatabase.openDatabase 与 SQLiteOpenHelper.getReadableDatabase

这两种方法有什么区别吗?两者都返回一个打开的SQLiteDatabase。如果一个数据库不存在,两者都可以创建一个数据库。当需要读/写时,SQLiteOpenHelper也有getWriteableDatabase...我应该使用哪种方法以及在哪里使用?根据我看到的示例代码,我首先使用SQLiteOpenHelper创建我的数据库,然后在需要使用数据库时调用SQLiteDatabase.openDatabase。 最佳答案 openDatabase()更灵活,允许您指定语言环境等,但在大多数情况下您不需要显式提供这些详细信息Andr

android - SQLiteDatabase.openDatabase 与 SQLiteOpenHelper.getReadableDatabase

这两种方法有什么区别吗?两者都返回一个打开的SQLiteDatabase。如果一个数据库不存在,两者都可以创建一个数据库。当需要读/写时,SQLiteOpenHelper也有getWriteableDatabase...我应该使用哪种方法以及在哪里使用?根据我看到的示例代码,我首先使用SQLiteOpenHelper创建我的数据库,然后在需要使用数据库时调用SQLiteDatabase.openDatabase。 最佳答案 openDatabase()更灵活,允许您指定语言环境等,但在大多数情况下您不需要显式提供这些详细信息Andr

android - getWritableDatabase() VS getReadableDatabase()

我正在创建一个数据库助手类,对于其中的一些方法,我只查询数据库,而我正在向它写入其他方法。我的理解是这两种方法都会打开数据库,让程序要么读取要么写入数据库。对于查询语句,是否值得仅使用getReadableDatabase()或者这两种方法之间的性能差异很小。感谢您的宝贵时间。 最佳答案 它们返回相同的对象,除非磁盘已满或存在强制以只读模式打开数据库的权限错误。这个名字有点困惑:)根据经验,您应该在UI线程之外对这些方法进行任何调用。两者都可能需要很长时间才能返回。如果您不打算编写数据库,请使用getReadableDatabase

android - getWritableDatabase() VS getReadableDatabase()

我正在创建一个数据库助手类,对于其中的一些方法,我只查询数据库,而我正在向它写入其他方法。我的理解是这两种方法都会打开数据库,让程序要么读取要么写入数据库。对于查询语句,是否值得仅使用getReadableDatabase()或者这两种方法之间的性能差异很小。感谢您的宝贵时间。 最佳答案 它们返回相同的对象,除非磁盘已满或存在强制以只读模式打开数据库的权限错误。这个名字有点困惑:)根据经验,您应该在UI线程之外对这些方法进行任何调用。两者都可能需要很长时间才能返回。如果您不打算编写数据库,请使用getReadableDatabase

java - 删除 android 数据库后 getReadableDatabase() 不会创建新数据库

我通过执行rm/data/data/app/databases/database删除了android数据库。删除它后,我尝试再次运行该应用程序,但它抛出异常,因为尚未创建表。我得到的异常是E/AndroidRuntime:FATALEXCEPTION:mainjava.lang.RuntimeException:无法创建服务wificontroller.WifiControllerService:android.database.sqlite.SQLiteException:没有这样的表:我在中创建表publicclassDataStoreextendsSQLiteOpenHelper

android - getReadableDatabase 经常但不总是返回 null

我在我的android应用程序的Crashlytics-Logs中看到此代码中的NullPointerException:try{mSQLDBreader=this.getReadableDatabase();}catch(SQLExceptione){if(mSQLDBreader!=null){mSQLDBreader.close();mSQLDBreader=this.getReadableDatabase();}}mSQLDBreader...//NPE由于之前的开发者已经不在了,不知道为什么试了两次,代码好像有时能用,但经常不行。此调用返回null的原因可能是什么?似乎如果这