问题标签 [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 - Android 架构:使用多个 ContentProvider 和 onUpgrade 事件
我的应用程序有两个数据库表:Products
和ShoppingCard
. 所以我创建了一个ProductContentProvider
and ShoppingCardContentProvider
。每个都ContentProvider
在其方法中调用onCreate()
一个私有类,该类是SQLiteOpenHelper
.
从我的角度来看,我会
DATABASE_VERSION
在一个单独的 ConfigBean中创建一个全局静态变量,该变量负责两个内容提供者。因此,如果我更新所有表都已更新。
=> 那行不通。只是永远不会触发 onUpdate 事件。如果您在每个内容提供者中指定 a
DATABASE_VERSION
,但在每个内容提供者中使用不同的版本号
=> 那不起作用。从我的角度来看,这也没有任何意义,因为 in 的参数SQLiteOpenHelper
被称为DATABASE_VERSION
notTABLE_VERSION
。因此,换句话说,如果不对所有onUpgrade侦听器更新/抛出事件,您将无法更新任何表。如果您在每个内容提供者中指定 a
DATABASE_VERSION
,但在每个内容提供者中使用相同的版本号。
=> 那行得通。
问题:
为什么你不能在DATABASE_VERSION
外部创建一个公共静态变量来处理全局升级,或者我的架构完全走错了路?
android - SQLiteDatabase.openDatabase 与 SQLiteOpenHelper.getReadableDatabase
这两种方法有什么区别吗?两者都返回一个打开的 SQLiteDatabase。如果一个数据库不存在,两者都可以创建一个数据库。当需要读/写时,SQLiteOpenHelper 也有 getWriteableDatabase ......
我应该使用哪种方法以及在哪里使用?根据我看到的示例代码,我首先使用 SQLiteOpenHelper 创建我的数据库,然后在需要使用数据库时调用 SQLiteDatabase.openDatabase。
android - 在 SQLiteOpenHelper 中的 onCreate 中获取上下文
在我的 android 应用程序中:如何在 SQLiteOpenHelper 的 onCreate 方法中访问 Context?
android - 将值传递给 DabaseHelper
如何将值从OnItemSelectedListener
类(附加到微调器)传递到DatabaseHelper
( SQLiteOpenHelper
) 类?
我正在尝试使用设置器,DatabaseHelper
但由于某种原因它不起作用。:|
MyOnItemSelectedListener:
数据库助手:
提前致谢。:)
android - Android SQLite SQLiteOpenHelper IllegalStateException - DB 已关闭错误
这几天让我发疯了。我有一个非常复杂的 android 应用程序。它使用多个线程从服务器中提取数据并填充 SQLite 数据库。我正在使用单例来引用我的 SQLiteOpenHelper 扩展。我在每个活动中打开和关闭数据库。
该错误仅发生在我进行 4 次活动深度然后尝试退出的情况下。我尝试了各种打开和关闭数据库的方法,包括将关闭从 onDestroy() 移动到 onPause() 方法,以及向 onResume() 添加另一个打开。
另外值得注意的是,我的活动大量使用了 ListViews 和 ExpandableListViews,据我了解,这可能会导致数据库根据这篇文章关闭: http: //darutk-oboegaki.blogspot.com/2011/03/sqlitedatabase-is-closed-自动.html
我已经检查了代码并确保我要么关闭所有游标,要么,如果它们被分配给适配器,则调用 startManagingCursor()。
有人知道发生了什么吗?
更新: 我已经解决了这个问题,但不确定为什么要解决它。所以,也许有人知道或可以解释。
当我在活动堆栈的第 4 个活动中时,我试图通过 db.close() 关闭数据库。无论我把它放在哪里,在我得到我需要的数据之后的 onCreate 中,或者在 onStop 或 onDestroy 中,它都会产生这个错误。如果我不关闭数据库,我就没有问题。因此,某些原因导致数据库自动关闭。奇怪的是,虽然我在最后的活动中使用了可扩展列表视图,但我没有使用 cursorAdapter。有人有什么想法吗?很想了解这一点。
android - Android SQLiteOpenHelper 生成的打印语句
我有一个不能正常工作的更新语句,想知道最终语句的样子。有没有办法打印出 Android SQLiteOpenHelper 生成的语句?
到目前为止,我设法通过单步执行堆栈跟踪来掌握未填充的语句:
未填充语句的语法是正确的。
android - SqliteOpenHelper 调用 OnCreate() 方法时
嗨,我想知道当我创建 MyDatabase Manager 类的对象时,何时调用 SqliteOPenHelper 的 Oncreate() 方法
问题是,当我运行应用程序时,它创建数据库但未创建表,并且它抛出异常表不退出。
}
在这里,我调用了我的 AdatabaseManager
android - SQLiteOpenHelper-Android 混淆
我有几个关于 sqlite-android 的问题
什么时候在应用程序中调用该
onUpgrade
方法?我可以在一个应用程序中有两个助手类吗?如果是这样...
那么我如何/何时打电话给二等舱
android - 从市场升级时如何重置应用程序状态
作为开发人员,我已经在市场上发布了应用程序。当用户下载新版本时,我希望应用程序清理其状态( SharedPreferences 、 SQLite 模式 ... )。我读到了SQLiteOpenHelper。我想当我从 Eclipse 设备上加载新的 .apk 时,该应用程序仍保留其以前的 SharedPreferences 。如果数据库架构发生更改,应用程序将崩溃。
当应用程序从市场升级时,是否可以触发“干净状态”?
android - SQLiteOpenHelper 没有调用 onCreate
这是我第一次使用 SQLiteOpenHelper(或 android 上的数据库)。当我得到一个可写的数据库时,我想知道为什么在类的每个新实例上都没有调用 onCreate。难道我做错了什么?
}