国产精品无码av有声小说-天堂av2024-久久国产剧情-午夜视频一区-国内自拍xxxx18-男女啪啪免费-在线国产福利-中文字幕在线三区-天天艹日日干-色眯眯视频-天天干天天操天天爱-性欧美丰满熟妇xxxx性久久久-精品国产一区二区在线-污视频网站免费在线观看-98久久久-日日夜夜爽爽-乌克兰性欧美精品高清

歡迎來到酷云建站平臺(tái),全網(wǎng)營銷云系統(tǒng)加盟中心!

海量企業(yè)網(wǎng)站模板 · 任您選擇

美出特色,精出品質(zhì),一切為了企業(yè)更好的營銷

隱藏側(cè)欄
Beta
轉(zhuǎn)載

Android開發(fā)之Cursor的使用方法介紹

       小程序     2021-12-16     admin     588     0    

Cursor是個(gè)神奇的表數(shù)據(jù)處理工具,其任務(wù)就是封裝數(shù)據(jù)表中的原始字段值,下面徐州APP開發(fā)公司小編就帶大家一起了解一下它的具體操作方法。

從Cursor獲取數(shù)據(jù)的代碼大致如下所示:

String uuidString = cursor.getString(

cursor.getColumnIndex(CrimeTable.Cols.UUID));

String title = cursor.getString(

cursor.getColumnIndex(CrimeTable.Cols.TITLE));

long date = cursor.getLong(

cursor.getColumnIndex(CrimeTable.Cols.DATE));

int isSolved = cursor.getInt(

cursor.getColumnIndex(CrimeTable.Cols.SOLVED));

每從Cursor中取出一條crime記錄,以上代碼都要重復(fù)寫一次。(這還不包括按照這些字段值創(chuàng)建Crime實(shí)例的代碼。)

顯然,遇到這種情況,我們應(yīng)考慮到前面說過的代碼復(fù)用原則。與其機(jī)械地編寫重復(fù)代碼,

不如創(chuàng)建可復(fù)用的專用Cursor子類。使用CursorWrapper可快速方便地創(chuàng)建Cursor子類。顧名思義,CursorWrapper能夠封裝一個(gè)個(gè)Cursor的對(duì)象,并允許在其上添加新的有用方法。

參照以下代碼,在數(shù)據(jù)庫包中新建CrimeCursorWrapper類。

創(chuàng)建CrimeCursorWrapper類(CrimeCursorWrapper.java)

public class CrimeCursorWrapper extends CursorWrapper {

public CrimeCursorWrapper(Cursor cursor) {

super(cursor);

}

}

可以看到,以上代碼創(chuàng)建了一個(gè)Cursor封裝類。該類繼承了Cursor類的全部方法。注意,這樣封裝的目的就是為了定制新方法,以方便操作內(nèi)部Cursor。

參照以下代碼,新增獲取相關(guān)字段值的getCrime()方法。

新增getCrime()方法(CrimeCursorWrapper.java)

public class CrimeCursorWrapper extends CursorWrapper {

public CrimeCursorWrapper(Cursor cursor) {

super(cursor);

}

public Crime getCrime() {

String uuidString = getString(getColumnIndex(CrimeTable.Cols.UUID));

String title = getString(getColumnIndex(CrimeTable.Cols.TITLE));

long date = getLong(getColumnIndex(CrimeTable.Cols.DATE));

int isSolved = getInt(getColumnIndex(CrimeTable.Cols.SOLVED));

return null;

}

}

我們需要返回具有UUID的Crime。在Crime.java中新增一個(gè)有此用途的構(gòu)造方法,如下代碼所示。

新增Crime構(gòu)造方法(Crime.java)

public Crime() {

this(UUID.randomUUID());

mId = UUID.randomUUID();

mDate = new Date();

}

public Crime(UUID id) {

mId = id;

mDate = new Date();

}

最后,完成getCrime()方法,如下代碼

新增getCrime()方法(CrimeCursorWrapper.java)

public Crime getCrime() {

String uuidString = getString(getColumnIndex(CrimeTable.Cols.UUID));

String title = getString(getColumnIndex(CrimeTable.Cols.TITLE));

long date = getLong(getColumnIndex(CrimeTable.Cols.DATE));

int isSolved = getInt(getColumnIndex(CrimeTable.Cols.SOLVED));

Crime crime = new Crime(UUID.fromString(uuidString));

crime.setTitle(title);

crime.setDate(new Date(date));

crime.setSolved(isSolved != 0);

return crime;

return null;

}

(Android Studio會(huì)讓你確定是選擇java.util.Date還是java.sql.Date。不要搞錯(cuò),即便我們現(xiàn)在是在編寫數(shù)據(jù)庫相關(guān)代碼,也應(yīng)該選java.util.Date。)

最后,小編要提醒大家的是,在徐州APP開發(fā)公司中,經(jīng)常會(huì)遇到Cursor封裝數(shù)據(jù)表中的原始字段值的情況,所以正確掌握Cursor的用法是很有必要的,如果對(duì)于Cursor的用法大家還有哪些不太明白的地方,可隨時(shí)來電咨詢酷優(yōu)網(wǎng)絡(luò),本公司專業(yè)從事APP開發(fā)、網(wǎng)站建設(shè)、微信開發(fā)等服務(wù)具有十多年的豐富經(jīng)驗(yàn),技術(shù)嫻熟,實(shí)力雄厚。因此,只要您有需要,任何疑難問題我們都可以為您解決!


--結(jié)束END--

本文鏈接: http://www.sh-linbin.cn/start/2388.html (轉(zhuǎn)載時(shí)請(qǐng)注明來源鏈接)

 
本文標(biāo)簽: 全部

下班PC閱讀不方便?

手機(jī)也可以隨時(shí)學(xué)習(xí)開發(fā)

微信關(guān)注公眾號(hào)“酷云”
"酷云平臺(tái)前端開發(fā)教學(xué)"
每日干貨技術(shù)分享
 

×

成為 酷云平臺(tái) 代理商!

關(guān)注

微信
關(guān)注

微信掃一掃
獲取最新優(yōu)惠信息

酷云平臺(tái)公眾號(hào)

客服

聯(lián)系
客服

很高興為您服務(wù)
尊敬的用戶,歡迎您咨詢,我們?yōu)樾掠脩魷?zhǔn)備了優(yōu)惠好禮。 咨詢客服

聯(lián)系客服:

在線QQ: 3206174

客服電話: 0516-83703228

售前咨詢 售后服務(wù)
在線交談 智能小云

工作時(shí)間:

周一至周五: 09:00 - 17:00

WAP

手機(jī)
訪問

移動(dòng)端訪問
手機(jī)上也能選模板

酷云平臺(tái)手機(jī)端

双牌县| 南开区| 威远县| 德兴市| 翁牛特旗| 师宗县| 宁波市| 黄骅市| 汝南县| 杂多县| 洪湖市| 绥阳县| 乐亭县| 伊春市| 应用必备| 政和县| 金寨县| 潮州市| 师宗县| 曲麻莱县| 大港区| 新乡市| 新宁县| 潮安县| 兴安县| 甘孜| 石河子市| 晋中市| 滦平县| 长白| 盐边县| 安龙县| 阜平县| 连南| 英山县| 天峨县| 什邡市| 济宁市| 松溪县| 河间市| 姜堰市|