-2

我遇到了内容提供商的问题。我正在尝试创建一个内容提供者。

    public static final Uri CONTENT_URI = 
               Uri.parse("content://data/data/one.two/databases");

这会导致我的数据库,因为我想从中提取数据并将其显示在列表视图中。之后,我必须编辑插入提供程序的清单

<provider android:name="databases789"
    android:grantUriPermissions="true"
    android:enabled="true"
    android:syncable="true" 
    android:authorities="one.two.databases" >
</provider> 
  1. 我的 URI 是否被正确解析?
  2. 如果我将我的课程扩展到 Content Provider,我的数据库文件会有点搞砸,有没有更简单的方法?

但是,它显示了不存在 one.two.databases 的错误。

4

2 回答 2

5

您可能想从这里开始:

http://developer.android.com/guide/topics/providers/content-providers.html

一些具体的帮助提示:

首先,您的 URI 不是数据库文件的路径。它以“content://”开头,然后是权限,最后是数据库名称(通常)。

您的权限是您提供的名称,通常是您的包名称,末尾带有“提供者”。所以你的可能是 one.two.provider。

然后你会在你的项目中创建一个新类,比如 MyProvider.java。按照上面链接中的示例,了解在您的提供程序中实际提供数据的操作。

最后,在您的 AndroidManifest.xml 文件中,您将执行以下操作:

<provider
    android:authorities="one.two.provider"
    android:name="MyProvider"
></provider>

这告诉 android 操作系统将您的权限 (one.two.provider) 与您的班级挂钩。

于 2010-07-01T15:19:40.887 回答
1

您必须在AndroidManifest.xml您自己的ContentProvider.

<provider android:name="com.app.MyContentProvider"
android:grantUriPermissions="true"
android:enabled="true"
android:syncable="true" 
android:authorities="com.app.authorities.data" >

于 2014-09-20T04:02:53.527 回答