Articles of SQLite

使用CursorLoader查询SQLite数据库并填充AutoCompleteTextView

我有一个SQLite数据库,我想查询。 我想通过ICS瞄准Android 2.2。 我遇到了这篇文章如何做到这一点,但它使用了不推荐的代码(不是asynchronous查询,而是在UI线程上)。 我已经读了,我可以使用CursorLoader与LoaderManager一起做这个任务的首选,最佳实践的方式(以不妨碍UI线程)。 问题是find一个简洁的例子来向我解释如何做到这一点。 1)加载数据库,2)查询它,3)使用结果来填充一个AutoCompletetextBox列表视图。 这样的例子存在吗?

用android设备实现微软同步框架

我需要与我的Android应用程序实现微软同步框架。 我从这里接受了帮助 Android示例与Microsoft Sync Framework工具包 。 更新的链接: SyncFrameworkAndroid 但是我还是不了解工作stream程。 任何人有任何想法如何整合微软同步框架与Android应用程序同步SQLite数据库到SQL服务器。

从android应用程序访问外部存储中的某个下载的.sqlite数据库

我想在一个基于android的WebView的应用程序中实现一个离线地图function: 使用DownloadManager , 我从我们的web服务器 (包含地图平铺图像的斑点(“离线地图”)) 下载一个sqlite数据库文件 (类似于.mbtiles的结构 ),并将其存储在android外部存储器中 public void downloadMap() { downloadManager = (DownloadManager) getActivity().getSystemService(Activity.DOWNLOAD_SERVICE); DownloadManager.Request r = new DownloadManager.Request(Uri.parse("http://sry.youtoknow.idontwant/map.sqlite")); r.setDestinationInExternalFilesDir(getContext(), "map", "map.sqlite"); downloadManager.enqueue(r); } 下载似乎工作得很好。 我注册一个BroadcastReceiver来接收DownloadManager.ACTION_DOWNLOAD_COMPLETE并使用SharedPreferences存储path为“map.sqlite”。 要从JavaScript访问数据库以使用WebView的平铺图像, 我通过检查URL中的自定义虚构模式名称customhttp:来拦截XHRequests : webView.setWebViewClient(new WebViewClient() { public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { String url = request.getUrl().toString(); if (!url.startsWith("customhttp:")) { return null; } else { SharedPreferences preferences […]

Android SQLite数据库通知

我正在编写一个Android应用程序,只要给定的SQLite数据库发生更改(任何添加,删除或更新的新行),都需要得到通知。 有没有任何程序化的方式来听取这些通知? 为每个表写数据库触发器的唯一方法?

在Android ContentProvider中连接表和通知ContentObserver的最佳实践

我有一个ContentProvider处理与我的应用程序相关的所有数据插入和检索,我遵循Virgil Dobjanschi在Google I / O上build议的模式。 我正在使用第一种模式。 我的问题是,我有一个逻辑实体,由数据库中的多个表示。 例如,我有一个Articles表和一个ArticleExtras表。 文章代表文章本身,而ArticleExtras代表某些文章的附加信息,如评论数量。 我在用户界面中使用CursorAdapter来显示文章标题和一行ListView中的文章的评论数。 为了实现这一点,我在我的ContentProvider查询方法的Article表中添加了一个left outer join ArticleExtras on语句,以便CursorAdapter将ArticleExtras与Article本身一起获得。 当从Web获取新文章时,我通​​过ContentProvider将其插入到数据库中,然后CursorAdapter得到通知并更新UI,这部分按预期工作。 但是,当我提取的评论数量(ArticleExtras),我想要相同的CursorAdapter,它正在监视content://com.myapp.content/Articles变化content://com.myapp.content/Articles ,也被通知,所以我可以更新我的行ListView。 我目前的实现是这样的:插入ArticleExtras到数据库后,我开始一个新的查询,以检查是否有文章表有任何行与我刚刚插入的ArticleExtras有关。 如果是的话,我会为该文章创build一个新的URI(例如: content://com.myapp.cotent/Articles/123 ),并调用getContext().getContentResolver().notifyChange(uri, null)正在监视这篇文章的变化的相应的CursorAdapter将得到通知。 方法是否正确,还是有更好的方法来实现我想要的?

UnsatisfiedLinkError(未find本地方法)

有一块代码在Android 4.1.2上正常工作,但不在4.0.3上,崩溃日志是4.0.3 我得到UnsatisfiedLinkErrorexception 请引导我谢谢 02-22 12:57:09.319: D/dalvikvm(1312): Trying to load lib /data/data/com.kosh.android/lib/libsqliteX.so 0x41056f48 02-22 12:57:09.319: D/dalvikvm(1312): Added shared lib /data/data/com.kosh.android/lib/libsqliteX.so 0x41056f48 02-22 12:58:02.060: W/dalvikvm(1312): No implementation found for native Lcom/shabdkosh/android/sqlite/CursorWindow;.native_init (Z)V 02-22 12:58:07.624: D/AndroidRuntime(1312): Shutting down VM 02-22 12:58:07.624: W/dalvikvm(1312): threadid=1: thread exiting with uncaught exception (group=0x409961f8) 02-22 12:58:07.767: E/AndroidRuntime(1312): FATAL EXCEPTION: main 02-22 12:58:07.767: […]

没有closures游标的android的缺点

我有一些关于Cursor问题。 我想知道不closuresCursor什么缺点? 它释放资源,但哪些资源被释放? 如果我们不closuresCursor ? 会有什么后果和在多大程度上? 不closuresCursor不会影响Activity一点点,但它会给日志猫带来错误。

Android中的“-journal”SQLite数据库是什么?

在我的类应用程序的数据库目录(/data/data/com.me.myApp/databases)中,对于我创build的每个sqlite数据库,都有一个相同名称的相应数据库,并在名称后附加“-journal”。 例如:myDatabase,myDatabase-journal,myOtherDatabase.db,myOtherDatabase.db-journal 这是什么? 和, 如果我为我的应用程序提供预先填充的数据库(按照: http : //www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ ),是否需要包括这些呢?

Android SQLite空指针exception

我在LogCat中得到这个: 05-20 17:16:34.721: E/AndroidRuntime(30461): FATAL EXCEPTION: main 05-20 17:16:34.721: E/AndroidRuntime(30461): java.lang.NullPointerException 05-20 17:16:34.721: E/AndroidRuntime(30461): at android.database.sqlite.SQLiteStatement.releaseAndUnlock(SQLiteStatement.java:290) 05-20 17:16:34.721: E/AndroidRuntime(30461): at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:96) 05-20 17:16:34.721: E/AndroidRuntime(30461): at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1810) 05-20 17:16:34.721: E/AndroidRuntime(30461): at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1761) 05-20 17:16:34.721: E/AndroidRuntime(30461): at com.kickinglettuce.debtplannerpro.DebtDataSource.updateDebt(DebtDataSource.java:130) 05-20 17:16:34.721: E/AndroidRuntime(30461): at com.kickinglettuce.debtplannerpro.manageDebts$4.onClick(manageDebts.java:184) 05-20 17:16:34.721: E/AndroidRuntime(30461): at android.view.View.performClick(View.java:3511) 05-20 17:16:34.721: E/AndroidRuntime(30461): at android.view.View$PerformClick.run(View.java:14105) 05-20 17:16:34.721: E/AndroidRuntime(30461): at […]

SQLiteOpenHelper与ContentProvider

我是Android开发的新手。 我试图创build一个应用程序,从内部数据库(SQLite)读取并列出列表中的所有数据(我使用listView )。 到目前为止,我得到了一个名为DatabaseHandler的类,它扩展了SQLiteOpenHelper ,并执行所有数据库操作(select数据,插入数据,删除数据…)。 但现在我想列出值,我正在阅读一些网站,我不得不使用一个Loader而不是Cursor ,因此一个ContentProvider 。 到目前为止,我明白ContentProvider提供了对数据库的受控访问。 我的问题是: ContentProvider是否与SQLiteOpenHelper ? 另外,我正在使用API​​级别8, ContentProvider仅在API级别11上可用。解决此问题的最佳方法是什么? 提前致谢。