我们使用AsyncTasks来访问数据库表和游标。
不幸的是,我们偶尔会看到关于数据库被锁定的异常。
E/SQLiteOpenHelper(15963): Couldn't open iviewnews.db for writing (will try read-only):
E/SQLiteOpenHelper(15963): android.database.sqlite.SQLiteException: database is locked
E/SQLiteOpenHelper(15963): at android.database.sqlite.SQLiteDatab
我知道这个问题以前曾被讨论过。但是我找不到解决问题的办法,所以我要再问一次。创建数据库有问题。我复制了SQLiteOpenHelper的实现: public class DBCreator extends SQLiteOpenHelper
{
private static final String DATABASE_NAME = "servision.db";
private static final int DATABASE_VERSION = 1;
private static final String INFO_TABLE ="cr
我知道这个话题以前已经讨论过了。但是我找不到解决我的问题的办法,所以我再问一次。我在创建数据库时遇到问题。我复制了SQLiteOpenHelper的实现:
public class DBCreator extends SQLiteOpenHelper
{
private static final String DATABASE_NAME = "servision.db";
private static final int DATABASE_VERSION = 1;
private static final String INFO_TABLE =
我正在开发一个联系人列表应用程序,我需要创建2个表,因为我想要加入。我正尝试在我的数据库中创建两个表,但在创建一个“create view”时遇到一些错误。
这是我得到的堆栈跟踪:
01-04 21:24:32.132: E/Database(4183): Failure 1 (near "EXIST": syntax error) on 0x123c38 when preparing 'CREATE VIEW IF NOT EXIST ViewGroups AS SELECT contactTest1._id AS _id, contactTest
当我使用android 4.0.3时,我在getReadbleDataBase()方法中得到了一个异常。
10-08 11:34:24.163: E/SQLiteOpenHelper(18710): Couldn't open quytech.db for writing (will try read-only):
10-08 11:34:24.163: E/SQLiteOpenHelper(18710): android.database.sqlite.SQLiteException: Can't downgrade database from version 6 to
我找到了一种访问TestProject资源的方法
但是,当我使用ActivityTestCase而不是AndroidTestcase时,我无法访问数据库
java.lang.NullPointerException
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
at com.j256
我得到了这个错误:
USER_COMMENT=
APP_VERSION_CODE=44
APP_VERSION_NAME=2.0
ANDROID_VERSION=4.0.3
PHONE_MODEL=Transformer Prime TF201
CUSTOM_DATA=
STACK_TRACE=java.lang.NullPointerException
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157)
at android.database.sqlite.SQ
最近我更新了我的android游戏,在我的表中添加了新字段,编辑sqlite数据库。更新后,我收到了4份崩溃报告(其中3份来自三星Galaxy S4)。
android.database.sqlite.SQLiteOpenHelper.onDowngrade(SQLiteOpenHelper.java:361) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:255) at android.database.sqlite.SQLiteOpenHelper.getWritab
我查看了JavaDoc for SQLiteOpenHelper并注意到了setWriteAheadLoggingEnabled(boolean)方法。SQLiteOpenHelper文档建议在助手的onConfigure(SQLiteDatabase)方法中启用预写日志。
在助手上调用setWriteAheadLoggingEnabled(true)与调用传递给onConfigure()的数据库实例上的enableWriteAheadLogging()有什么区别吗?还是API只是多余的?
Update:查看和的代码,似乎SQLiteOpenHelper.setWriteAheadLoggin
我遵循的教程由我们的家人在谷歌。
如果您查看第三个代码片段,本教程将显示从FeedReaderDbHelper类扩展而来的SQLiteOpenHelper类。
public class FeedReaderDbHelper extends SQLiteOpenHelper
然后,展示如何创建FeedReaderDbHelper对象的实例,以便使用它来读取和写入数据库。
FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext());
我所看到的问题是,SQLiteOpenHelper是一个抽象类。因此,每当我在自己的程序中
在android中运行junit测试用例时,我面临一个问题。这个问题非常奇怪,因为当我第一次在电话中运行测试用例时,它运行的非常好,但是如果应用程序已经安装,并且当我运行测试用例时,我会得到以下错误:-
net.sqlcipher.database.SQLiteException: not an error
at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
at net.sqlcipher.database.SQLiteDatabase.<init>(SQLiteDatabase.java:1942)
at
我正尝试在一个安卓应用程序中测试我的SQLiteOpenHelper子类的插入和检索方法。SQLLiteHelper子类存在于被测应用程序中,并在安装文件夹中创建一个数据库。但是,单元测试存在于测试应用程序的InstrumentTestCase中,我想在测试应用程序中创建一个测试数据库。
不幸的是,如果我试图在测试应用程序中创建/打开一个数据库,我会得到以下异常:
android.database.sqlite.SQLiteException: unable to open database file
at android.database.sqlite.SQLiteDatabase.dbop
i have two database in my project
Database1 db1;
db1.open();
String newKey= "newKey";
db1.rekey(currentKEy, newKey);
db1.close();
DataBase2 db2;
db2.rekey(currentKEy, newKEy);
LOGCAT
Failed to setLocale() when constructing, closing the database
net.sqlcip
我有一个正在工作的项目,现在我想升级布局,我正在尝试添加碎片(预蜂窝),但现在似乎我有一些问题连接到我的数据库,我得到了NullPointerException
ERROR/AndroidRuntime(27294):
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118)
ERROR/AndroidRuntime(27294):
at android.database.sqlite.SQLiteOpenHelper.getReadableDataba
我有自己的SQLiteOpenHelper,如下:
public class MyOpenHelper extends SQLiteOpenHelper {
public static final int DB_VERSION = 1;
public static final String DB_NAME = "dbname";
public MyOpenHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void o
我不明白下面的代码片段是如何工作的:
public class GroceryDBHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "grocerylist.db";
public static final int DATABASE_VERSION = 1;
public GroceryDBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_V
我创建了一个自定义ContentProvider,它由Sqlite查询、更新、插入等实现。在我的代码中,我使用这个ContentProvider来存储我的数据。现在我想使用Robolectric来对我的应用程序进行单元测试。但测试代码将失败,如下所示:
java.lang.NullPointerException
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
at android.database.sqlite.SQLiteOpenHelper.getWritab