And*_*yer 5 java android android-contentprovider
我有多年的Microsoft .NET开发经验(主要是C#),并且一直在努力提高Android和Java的速度.到目前为止,我已经构建了一个带有几个屏幕和一个工作内容提供商的小应用程序.
我在开发内容提供程序时看到的所有示例通常都使用单个表,因此我得到的印象是这是惯例.
我为其他表构建了几个内容提供程序,当我尝试测试它们时遇到了"Unknown URI"IllegalArgumentException.我的一个内容提供商正在抛出异常,但不是我打算调用的那个.
我的应用程序似乎正在使用AndroidManifest.xml文件中的第一个内容提供程序,现在让我想知道我是否应该只为整个应用程序提供单个内容提供程序.
在Android应用程序中使用多个表是否有最佳实践和/或示例?我应该每个表有一个内容提供者还是整个应用程序只有一个?如果是前者,如何将URI解析为适当的提供者?如果是后者,如何防止我的内容提供者代码被switch语句污染?
mas*_*asi 10
好吧,我不得不同意CommonsWare.如果要避免IllegalStateExceptions和其他问题,则需要使用Cursorloader.他们为您处理多种事情,并确保光标是光滑的.因此,您需要内容提供商.最初的问题尚未得到回答.我不知道数字或内容提供商和表格的最佳做法.但在.query方法中,您检查URI ID.您可以测试uri id是否具有特定值并以此方式构建查询.
99% 的 Android 应用程序不需要内容提供程序。
内容提供者有一个主要用途:进程间通信。如果你是:
然后,也只有到那时,您才能实现内容提供程序。
否则,您所做的只是增加应用程序的开销并使代码更难以维护。
因此,如果您的应用程序是 99% 不需要内容提供程序的应用程序之一,只需摆脱您拥有的应用程序并通过其他方式访问您的内容(例如,SQLiteDatabase)。
| 归档时间: |
|
| 查看次数: |
1172 次 |
| 最近记录: |