我有两个SQLite表:
服务: sid(prim.key),workDesc,title
ServiceInstance: ssid(prim.key),sid(外键),日期,workComment,里程表
今天,我使用CustomAdapter扩展SimpleCursorAdapter,为ListView提供来自这些表的数据。但由于不推荐使用此方法,我希望使用LoaderManager / CursorLoader重构代码。
现在,我感到困惑的是,在ListView中,我想显示ServiceInstance表中的日期和Service表中的标题。像:
2013-06-05常规服务
我该怎么做?从现在开始,当我使用扩展的SimpleCursorAdapter类时,我将游标发送给构造函数。但是在这种情况下,当我稍微更改了数据库结构时,我需要显示来自两个不同游标(Service和ServiceInstance)的数据。
我用谷歌搜索并阅读了几个教程,但没有发现任何类似的情况。但在这里,http://www.mysamplecode.com/2012/11/android-database-content-provider.html
在声明字符串数组列的地方(步骤6,MainActivity.java:58),我可以添加列名(日期和标题),即使它们存在于不同的表中吗?
另一个问题是,我不打算将这些数据提供给其他应用,因此创建ContentProvider是否有意义?
答案 0 :(得分:0)
在您的情况下,没有必要绑定到两个不同的游标(我不推荐它,因为在这种情况下您必须编写自己的适配器。)
尝试在您的表格中进行查询,请检查以获取起点:
对于第二个问题,如果您不想将ContentProvider公开给其他应用程序集:
<provider
....
android:exported="false">
</provider>
你的清单中的