ContentUris類使用介紹

ContentUris類用於獲取Uri路徑後面的ID部分,它有兩個比較實用的方法:

方法1:withAppendedId(uri, id)用於爲路徑加上ID部分:

//兩個代碼生成的uri相同只是用的方法不一樣,用來比較

Uri uri = Uri.parse("content://cn.itcast.provider.personprovider/person"+10)
Uri resultUri = ContentUris.withAppendedId(uri, 10); 
//生成後的Uri爲:content://cn.itcast.provider.personprovider/person/10

方法2:parseId(uri)方法用於從路徑中獲取ID部分:
Uri uri = Uri.parse("content://cn.itcast.provider.personprovider/person/10")

long personid = ContentUris.parseId(uri);//獲取的結果爲:10


----------------------------------------華麗的分割線--------------------------------------


Android使用內容提供者方式進行存儲這片文章進行補充,文章未實現 getType()函數,在此實現一下

//該方法用於返回當前Url所代表數據的MIME類型
	@Override
	public String getType(Uri uri) {
		// TODO Auto-generated method stub
		switch (matcher.match(uri)) {
		case 1: 
			 return "vnd.android.cursor.dir/person";
//操作的數據屬於集合類型,如content://cn.itcast.provider.personprovider/person	
		case 2: 
			 return "vnd.android.cursor.item/person";
//操作的數據屬於非集合類型數據,如content://cn.itcast.provider.personprovider/person/10
		default:
			throw new IllegalAccessError("uri錯誤");
		}			
	}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章