问题标签 [sqliteopenhelper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 当数据库被不同的作家关闭时“数据库未打开”
Fragments
我的应用程序中有很多ViewPager
。在应用程序启动时,其中三个尝试连接到数据库以检索数据。
对于数据库处理,我使用带有SQLiteOpenHelper
. 当我需要我的数据库时,我这样称呼它:SQLiteDatabase db=DatabaseHelper.getInstance(this.getContext()).getWritableDatabase();
.
问题:
如果我不关闭数据库,db.close()
我android.database.sqlite.DatabaseObjectNotClosedException
当然会得到一个。所以我愿意。但由于它是一种单例方法,当我的一个片段完成获取数据时,它会关闭数据库并且其余片段无法使用它。
当我从中读取某些内容时,检查数据库是否在每次迭代中都打开似乎非常多余。我还可以做些什么?
android - 为什么只尝试从表中查询一列时出现 _id 不存在错误?
我试图用一些代码解决昨天为什么会出现此错误的问题:
我有更多的代码,尤其是我不需要的,所以我去掉了很多代码,以便更容易理解我哪里出错了。但本质上这是我的架构:
可以说,看起来不错。除非我忘记阅读,否则它显然就在那里。但后来我弄清楚了我的错误来自哪里,或者至少我确定这就是原因。检索游标的这段代码:
根据android,这是错误。当我将其更改为:
一切都是桃色的。当前者时,它会崩溃。关于为什么会这样的任何原因。我认为在 rawQuery() 中我可以做到这一点。只要我不包括 where 子句,我就没有。非常感谢任何帮助。
android - Android:创建 SQLite 数据库和表的最佳位置是什么
我必须在我的 android 应用程序中创建近 5-6 个表。创建 SQLite 数据库和 5-6 个表的最佳位置是什么?我可以在初始活动启动时编写所有这些逻辑(使用 SQLite 开放辅助方法),但如果我这样做,它将在每次初始活动启动时被调用。这意味着每次应用程序启动时都会执行这些数据库和表的创建逻辑。任何人都可以告诉最佳实践来做到这一点。
java - 使用 ORMLite for Android 存储在内存数据库中
我正在为安卓开发一个应用程序。我有一个 Web 服务,我将在其中进行数据库查询和存储。在应用程序的开头,我想通过 REST 调用从 Web 服务加载某些数据并将其存储在本地数据库中,最好是 ORM。我找到了 ORMLite 并且喜欢它的使用方式,但我想知道如何将数据库存储在内存中,以便在应用程序退出时擦除数据。
当我使用
如文档中所述,它会引发 runtimeException。任何有关如何完成此操作或其他方式的建议将不胜感激。
android - SQLiteOpenHelper getWritableDatabse() 失败,没有异常
我有一个非常奇怪的问题。它只在几个设备上不时显示。似乎无法在我想要的时候重现它,但有过很多次,我想我知道我从哪里得到它。
所以我有一个Loader
通过单例连接到 sqlite 的方法SQLiteOpenHelper
:
我SQLIteOpenHelper
看起来像这样:
在大多数情况下,它确实非常有效。但有时我会收到类似这样的日志:
这条线Log.i(TAG, "Get details offline / db: "+db);
永远不会被调用!没有例外,沉默。另外,带有 的线程Loader
不再运行。
所以什么都没有:
被执行。
这条线上可能出现什么问题?
android - LG 手机无法访问 SqLite 数据库
我们已经为 Android 平台开发了一个预加载 SQLite 数据库的应用程序。使用 SQLiteOpenHelper,在应用程序的第一次执行中,我们从“Assets”中复制数据库为应用程序数据目录(/data/data/br.com.lwu/databases/appdatabase.sqlite)。这适用于大多数设备。但是我们在使用以下 LG 手机时遇到了问题:
- LG 擎天柱一号
- LG-P500
- LG-P500h
显然,数据库已正确复制。但应用程序无法访问数据库(如表)。我们需要帮助!
android - 仅在首次创建数据库时将记录插入 sqlite 数据库
我只想在创建数据库时(即仅当我的应用程序第一次在设备上安装时)才将记录插入我的 sqlite 数据库。我搜索了帮助,有人建议在 的
onCreate()
方法中插入数据SQLiteOpenHelper
,但使用该方法无法插入记录。
这是我的代码
android - Android中SQLite的默认线程模式是什么?
http://www.sqlite.org/threadsafe.html
从上面的链接我了解到,SQLite 支持三种不同的线程模式:单线程、多线程和序列化。我只是想知道“Android中SQLite的默认线程模式是什么”?有什么方法可以务实地改变线程模式吗?如果是这样,我如何以及有什么优势?什么时候选择哪一个有一些样本?
提前致谢。
android - Android:数据库插入触发异常“递归调用getWritableDatabase”
每当异步任务尝试将数据插入 SQLite 数据库时,我都会遇到以下异常。
java.lang.IllegalStateException: 递归调用 getWritableDatabase
数据由运行单独的异步任务以下载、转换并最终插入数据的服务生成。我不确定我传递的上下文对象是否正确。请注意我添加到源代码中的注释。下面我添加了相关的类和函数。如果您需要更多信息,请发表评论。
...
...
...
...
当我在调试模式下运行应用程序时,我最终进入了方法块ThreadPoolExecutor
中的框架类。finally
runWorker()
编辑:
这是完整的异常堆栈跟踪。
我没有提到CustomSQLiteOpenHelper.insertTestData()
调用getWritableDatabase()
. 我将方法称为insertTestData()
. CustomSQLiteOpenHelper.onCreate()
每当应用程序尚未创建数据库时,都会发生崩溃。总而言之,hawaii.five-0 是完全正确的!
java - SQLiteOpenHelper 的说明
我正在为我的(初学者/Android)应用程序实现一个数据库。
我不清楚是否
旨在创建数据库(物理上,编写 .db/.sql 文件)
或者如果它仍然由我来创建这样的文件,并且这个类只是为了管理打开、关闭、更新数据库。
如果是这样,没有其他方法可以让一个类自动管理数据库,例如只传递文件名(除了自己做 ^_^ )
谢谢