91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android開發之Cursor怎么使用

發布時間:2022-04-20 16:37:42 來源:億速云 閱讀:260 作者:iii 欄目:大數據

這篇文章主要講解了“Android開發之Cursor怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Android開發之Cursor怎么使用”吧!

從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。)

感謝各位的閱讀,以上就是“Android開發之Cursor怎么使用”的內容了,經過本文的學習后,相信大家對Android開發之Cursor怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新郑市| 屯门区| 蓝田县| 秭归县| 茌平县| 来宾市| 鄂托克前旗| 南郑县| 侯马市| 余姚市| 穆棱市| 遵化市| 张家口市| 讷河市| 凉城县| 鄂托克旗| 雅江县| 宁乡县| 濉溪县| 广河县| 临颍县| 腾冲县| 东乌珠穆沁旗| 定西市| 阳春市| 昌平区| 上蔡县| 铜川市| 玉屏| 松原市| 富阳市| 进贤县| 汽车| 道真| 丰顺县| 乐业县| 安阳市| 高唐县| 乌兰浩特市| 上蔡县| 青浦区|