Android 内容提供程序中的内容\u URI

Android 内容提供程序中的内容\u URI,android,android-contentprovider,Android,Android Contentprovider,根据我的理解,内容提供者是访问数据库内容的一种手段 要访问数据库,需要权限部分。此授权部分由CONTENT_URI提供。 因此,Content_URI是授予数据库权限的一种方法。 就内容URI而言,它通常是 content://com.example.transportationprovider/trains/122 ______ |____________________________________|_____ |___ A B

根据我的理解,内容提供者是访问数据库内容的一种手段

要访问数据库,需要权限部分。此授权部分由CONTENT_URI提供。 因此,Content_URI是授予数据库权限的一种方法。 就内容URI而言,它通常是

content://com.example.transportationprovider/trains/122
______ |____________________________________|_____ |___ 
  A                      B                     C     D
Where A = Content,
      B = Authority Part
      c = Path determining what data to request
      D = specific data
上面的场景是一个理想的场景,在这个场景中,我们将pass/trains作为唯一的数据库名称。 但如果我有以下内容,该怎么办

content://com.example.transportationprovider/land/bus/133
在这种情况下,
/land/bus
是路径段

但在内部,这些数据是如何存储在数据库中的呢? 或者内容提供商如何解释这些数据


请帮帮我。

简单的答案是,它以您喜欢的方式存储在数据库中。路径中的所有内容以及路径到下面数据库的映射都由ContentProvider的编写者定义

或多或少,您希望使用的模型是,数据库中的每个表都有一个路径

在某些情况下,您可能需要一些附加路径。通常,这意味着公开数据库的一些备用“视图”。。。提供了一个很好的例子


你为什么要强制执行这种雇佣制的“陆地/巴士”?为什么不只是“公共汽车”和“火车”呢。每个都有一个SQL表?SQL表不是Java类。他们没有继承关系,这种雇佣关系也没有必要。

谢谢你的帖子!!!终于有人敢回答我的问题了。我没有试图强制执行任何层次结构,但我想到的是一个随机问题。是的,通常不通过路径强制执行hirearchy更容易,而是通过表关系或代码强制执行hirearchy。至于回答,我很乐意。你还有其他问题吗?如果我的回答完全回答了您的问题,请检查是否满足您的问题。这将有助于把它从“未回答的问题”列表中去掉,这样人们就可以看到它是完整的,并且有一个好的答案。此外,这将有助于提高我的声誉P