Android 數據的保存,檢索,刪除之Cursor

今天遇到的一個問題是如何將數據刪除後,將原來的id也相應的做改變呢,如果說對其id值進行逐個修改這也是可以的,但是當數據增多的時候,我們這麼做就會很大程度上的降低程序的性能,所以我們想到的就是不要根據id的檢索來獲取數據庫中的值,因爲這樣做的話是很不方便我們進行數據的刪除的,不根據id的話,我們可以利用的就只有遊標了,通過遊標首先讓其指向第一個元素,然後不斷的向下指,這樣我們就可以將其進行賦值了,但是當用遊標的時候,程序崩了,所以準備好好的看看Api文檔然後再去寫了。

Cursor:

這個接口提供了一個隨機讀取數據庫的query方法返回的結果的權利,遊標的實現並不需要同步,因此當我們在多線程中使用遊標的時候,Cursor 是每行的集合。使用 moveToFirst() 定位第一行你必須知道每一列的名稱。你必須知道每一列的數據類Cursor 是一個隨機的數據源。所有的數據都是通過下標取得。moveToFirst() 定位第一行。你必須知道每一列的名稱。你必須知道每一列的數據類型。Cursor 是一個隨機的數據源。所有的數據都是通過下標取得。

關於 Cursor 的重要方法:

close()
關閉遊標,釋放資源
copyStringToBuffer(int columnIndex, CharArrayBuffer buffer)
在緩衝區中檢索請求的列的文本,將將其存儲
getColumnCount()
返回所有列的總數
getColumnIndex(String columnName)
返回指定列的名稱,如果不存在返回-1
getColumnIndexOrThrow(String columnName)
從零開始返回指定列名稱,如果不存在將拋出IllegalArgumentException 異常。
getColumnName(int columnIndex)
從給定的索引返回列名
getColumnNames()
返回一個字符串數組的列名
getCount()
返回Cursor 中的行數
moveToFirst()
移動光標到第一行
moveToLast()
移動光標到最後一行
moveToNext()
移動光標到下一行
moveToPosition(int position)
移動光標到一個絕對的位置
moveToPrevious()

移動光標到上一行






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章