久草免费在线观看-久草免费在线色站-久草免费在线视频-久草免费资源-天堂网中文在线-天堂网中文字幕

歡迎來到酷云建站平臺,全網營銷云系統加盟中心!

海量企業網站模板 · 任您選擇

美出特色,精出品質,一切為了企業更好的營銷

隱藏側欄
Beta
轉載

Android開發之Cursor的使用方法介紹

       小程序     2021-12-16     admin     562     0    

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

從Cursor獲取數據的代碼大致如下所示:

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記錄,以上代碼都要重復寫一次。(這還不包括按照這些字段值創建Crime實例的代碼。)

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

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

參照以下代碼,在數據庫包中新建CrimeCursorWrapper類。

創建CrimeCursorWrapper類(CrimeCursorWrapper.java)

public class CrimeCursorWrapper extends CursorWrapper {

public CrimeCursorWrapper(Cursor cursor) {

super(cursor);

}

}

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

參照以下代碼,新增獲取相關字段值的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中新增一個有此用途的構造方法,如下代碼所示。

新增Crime構造方法(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會讓你確定是選擇java.util.Date還是java.sql.Date。不要搞錯,即便我們現在是在編寫數據庫相關代碼,也應該選java.util.Date。)

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


--結束END--

本文鏈接: http://www.u0rvp.cn/start/2388.html (轉載時請注明來源鏈接)

 
本文標簽: 全部

下班PC閱讀不方便?

手機也可以隨時學習開發

微信關注公眾號“酷云”
"酷云平臺前端開發教學"
每日干貨技術分享
 

×

成為 酷云平臺 代理商!

關注

微信
關注

微信掃一掃
獲取最新優惠信息

酷云平臺公眾號

客服

聯系
客服

很高興為您服務
尊敬的用戶,歡迎您咨詢,我們為新用戶準備了優惠好禮。 咨詢客服

聯系客服:

在線QQ: 3206174

客服電話: 0516-83703228

售前咨詢 售后服務
在線交談 智能小云

工作時間:

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

WAP

手機
訪問

移動端訪問
手機上也能選模板

酷云平臺手機端