Android sqlite設(shè)置主鍵自增長(zhǎng)的方法教程
今天在APP中增加一個(gè)添加項(xiàng)目的功能,項(xiàng)目的主鍵為整數(shù),要讓它自增長(zhǎng)。
既然要自增長(zhǎng),那么在代碼里面就不用給id字段賦值。但是調(diào)試的時(shí)候發(fā)現(xiàn)不行,提示主鍵重復(fù),觀察了輸出,不賦值的話,id默認(rèn)為0,于是每次都為0,就重復(fù)了:
Source source = new Source(); source.setName(dict.getName());//id沒(méi)有賦值 SourceManager.get(this).insert(source);
ContentValues cv = new ContentValues();
System.out.println("id: " + source.getId());//輸出,id每次都是0
cv.put(COLUMN_ID, source.getId());
cv.put(COLUMN_NAME, source.getName());
id沒(méi)有賦值,為什么是0呢?那就是Java的默認(rèn)int為0了,所以,在對(duì)象層面,就算不賦值,id也默認(rèn)是0。
因此,要從數(shù)據(jù)庫(kù)操作層面來(lái)解決:
//cv.put(COLUMN_ID, source.getId()); v.put(COLUMN_NAME, source.getName());
ContentValue賦值時(shí)取消對(duì)id字段的賦值即可。
問(wèn)題解決,可以自增長(zhǎng)了。
總結(jié)
Android中,讓sqlite主鍵自增長(zhǎng)的條件如下:
1. 數(shù)據(jù)庫(kù)中,設(shè)置字段為INTEGER,Primary,Autoincrement。
2. Java代碼中,ContentValue賦值時(shí)忽略主鍵字段。
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
android聊天界面鍵盤、表情切換絲滑實(shí)現(xiàn)的具體思路
這篇文章主要給大家介紹了關(guān)于android聊天界面鍵盤、表情切換絲滑實(shí)現(xiàn)的具體思路,具體實(shí)現(xiàn)包括在XML布局中使用FrameLayout和RecyclerView,并在代碼中進(jìn)行相應(yīng)的高度控制和事件處理,需要的朋友可以參考下2024-12-12
移動(dòng)端開發(fā)之Jetpack?Hilt技術(shù)實(shí)現(xiàn)解耦
Hilt的出現(xiàn)解決前兩點(diǎn)問(wèn)題,因?yàn)镠ilt是Dagger針對(duì)Android平臺(tái)的場(chǎng)景化框架,比如Dagger需要我們手動(dòng)聲明注入的地方,而Android聲明的地方不都在onCreate()嗎,所以Hilt就幫我們做了,除此之外還做了很多事情2023-02-02
ViewPager滑動(dòng)靈敏度調(diào)整的方法實(shí)力
這篇文章主要介紹了ViewPager滑動(dòng)靈敏度調(diào)整的方法實(shí)力,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
android之BroadcastReceiver應(yīng)用詳解
這篇文章主要介紹了android之BroadcastReceiver應(yīng)用詳解,BroadcastReceiver也就是“廣播接收者”的意思,顧名思義,它就是用來(lái)接收來(lái)自系統(tǒng)和應(yīng)用中的廣播。有興趣的可以了解一下。2016-12-12
Android SQLite數(shù)據(jù)庫(kù)中的表詳解
這篇文章主要介紹了Android SQLite數(shù)據(jù)庫(kù)中的表詳解的相關(guān)資料,這里附有實(shí)例代碼,需要的朋友可以參考下2017-01-01
Android實(shí)現(xiàn)長(zhǎng)圖展開與收起效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)長(zhǎng)圖展開與收起效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
務(wù)必掌握的Android十六進(jìn)制狀態(tài)管理最佳實(shí)踐
這篇文章主要為大家介紹了務(wù)必掌握的Android十六進(jìn)制狀態(tài)管理最佳實(shí)踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09

