簡體   English   中英

在Android中使用SQLite和ContentProvider設置_ID字段

[英]Setting the _ID field using SQLite & ContentProvider in Android

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

這樣做的原因是這樣,我希望能夠像這樣引用ID:

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

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

以下內容僅會導致錯誤“ android.database.SQLException:無法將行插入到content://com.example.acme.propertyprovider/properties中

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);

您最好在Android數據庫中設置外鍵來保存外部數據庫中的ID。 然后,您不必擔心事情會不同步。 由於_ID字段是自動遞增的,因此您將自己創建噩夢。

添加類似extHouse_id的內容(或其他內容)。 這是非常普遍的做法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM