2011-03-10 63 views
1

我試圖在Android應用程序中設置ContentProvider來存放有關房屋的信息。我希望能夠將_ID字段設置爲與我的外部數據庫中的ID字段相同(該程序將同步ContentProvider與此外部數據庫)。在Android中使用SQLite&ContentProvider設置_ID字段

這樣做的原因是,所以我想能夠引用ID等:

content://com.example.acme.propertyprovider/properties/23 

其中圖23是在兩個外部數據庫和內部數據庫相同的ID。

以下只是導致錯誤「android.database.SQLException:

ContentValues values = new ContentValues(); 

values.put(Properties._ID, 23); 
values.put(Properties.COLUMN_NAME_ROAD, "123 Sample Property"); 
values.put(Properties.COLUMN_NAME_RENT, 320); 

getContentResolver().insert(Properties.CONTENT_URI, values); 

回答

1

你會更好設置//com.example.acme.propertyprovider/properties:無法插入行內容外鍵在Android數據庫中保存你的外部數據庫的ID,那麼你不必擔心事情不同步,因爲_ID字段是自動遞增的,你將爲自己創建一個噩夢。

添加像extHouse_id(或其他)的東西。這是一個非常普遍的做法。

+1

我放棄了,你是對的。無論如何,這不是一個大問題,只是一個小小的煩惱 – Mat 2011-03-11 02:13:07

相關問題