ContentUris是專門用來處理scheme為content的Uri
可以用來解析字尾的id, 或是新增id上去
這邊先解釋一下在Content provider內Uri的基本組成
<scheme>://<authority>/<path>/<id>
scheme: 代表的是資源的總類, 向是http, https, ftp等等, 這邊固定為content
authority: 這個就是package的名稱, 像是com.example
path: 資源所在的位置或資料夾, 如果是SQLite就是指所在的Table
id: 用來指到特定的資料, 在表格中就是第幾筆的意思
組合起來的簡單例子
content://com.example/table/2
static Uri.Builder appendId(Uri.Builder builder, long id)
把Id加到Uri.Builer後, 回傳一個加了Id的Uri.Builder
static long parseId(Uri contentUri)
回傳解析後的Uri結尾的id
static Uri withAppendedId(Uri contentUri, long id)
將id加到Uri後面, 然後回傳Uri
Uri uri = new Uri.Builder()
.scheme("content")
.authority("com.example")
.appendPath("table")
.build();
Log.d("TAG", uri.toString());
Uri uri_id = ContentUris.appendId(new Uri.Builder().scheme("content").authority("com.example").appendPath("table"), 3).build();;
Log.d("TAG", uri_id.toString());
Log.d("TAG", "id = " + ContentUris.parseId(uri_id));
Uri uri_id2 = ContentUris.withAppendedId(uri, 100);
Log.d("TAG", uri_id2.toString() );
1. 官網https://developer.android.com/reference/android/content/ContentUris.html
2. 宣告Uri並且使用
3. 結果如下
留言列表