Android中uri的組成
http://hi.baidu.com/xiaor186/item/7eada18f8e2dffc8b1715413
Content Provider這個東西在Android平臺上是最常用的共享資料的方法(似乎應用程式之間共享資料也只有這種方法吧,待求證)。雖然常用,但是這個東 西要理解透徹還是要先掌握一些基礎的。URI就是Content Provider(簡稱CP)的基礎。我們要標識一個CP,就必須用URI這個東東。這就類似於我們要通過網址來標識某個特定網站,實際上網址URL本身
就是一種URI。URI全稱Uniform Resource Identifier, 它包括了URL和URN。而關於它們的詳細解釋,有心的朋友可以參考RFC3896:http://tools.ietf.org/html /rfc3986。URI不僅可以標識特定CP,還可以標識CP中特定的資料庫表,就好像URL不僅可以標識特定網站,也可以標識這個網站某個特定網頁一 樣。實際上在Android平臺上URI的用途更廣泛一些,它還用於Intent中data的標識。
就Android平臺而言,URI主要分三個部分:scheme, authority and path。其中authority又分為host和port。格式如下:
scheme://host:port/path
舉個實際的例子:
content://com.example.project:200/folder/subfolder/etc
\---------/ \---------------------------/ \---/ \--------------------------/
scheme host port path
\--------------------------------/
authority
現在大家應該知道data flag中那些屬性的含義了吧,看下data flag
<data android:host="string"
android:mimeType="string"
android:path="string"
android:pathPattern="string"
android:pathPrefix="string"
android:port="string"
android:scheme="string" />
但是我們在程式中一般是不直接用URI來標識CP的,是的,正如我們通常見到的用定義的常量來標識。例如standard CP中的Contacts,我們就用Contacts.People.CONTENT_URI來標識Contacts CP中People這個表。那麼要標識某個具體的人怎麼辦呢? 這就用到了ContentUris.withAppendedId()
和 Uri.withAppendedPath()。例如我們要表示content://contacts/people/20,那麼我們就可以用如下語句:
Uri uri = ContentUris.withAppendedId(People.CONTENT_URI, 20); 或者
Uri uri = Uri.withAppendedPath(People.CONTENT_URI, "20");
相關文章
- Android URI簡介Android
- Android MVVM組成結構AndroidMVVM
- Android筆記:獲取url或uri字串中的引數值Android筆記字串
- 匯出Wireless組中的成員
- 在計算機組成原理中x,計算機組成原理計算機
- Map<String, Object>轉換成uri請求串Object
- Elasticsearch中URI Search和RequestBody Search分析Elasticsearch
- 【招募】看雪 Android 安全小組招募成員Android
- WireX:Android智慧手機組成的DDoS殭屍網路Android
- 程式的組成部分
- HTTP協議中URI和URL區別HTTP協議
- css樣式的組成CSS
- 簡介JavaScript的組成JavaScript
- JavaScript的組成 | DOM/BOMJavaScript
- Linux 磁碟的組成Linux
- oracle 11.2.0.2的組成Oracle
- MyBatis 應用的組成MyBatis
- SQL Server 2005中Service Broker應用的組成SQLServer
- 程式的定義、組成、組織方式、特徵特徵
- uri和url的區別
- url和uri的區別
- 應用層是雲端計算中缺失的重要組成部分
- Linux組成Linux
- JavaScript的組成結構梳理JavaScript
- JavaScript的三大組成部分JavaScript
- 網際網路的組成
- Oracle資料塊的組成Oracle
- 小組成員的github地址Github
- 資料倉儲的組成
- 在FILTER中,能取得URI,並且呼叫forward嗎?FilterForward
- 計算機組成與體系結構-CPU組成計算機
- Nginx 重寫URINginx
- webclient類_操作uriWebclient
- 在Linux中,作業系統的主要組成部分有哪些?Linux作業系統
- ASP.NET Web API中通過URI顯示實體中的部分欄位ASP.NETWebAPI
- Android執行出現android Installation failed due to invalid URI! 錯誤處理AndroidAI
- 伺服器機房的組成伺服器
- 伺服器的組成和作用伺服器