編輯:關於Android編程
在Android SQLite數據庫中,十分重要的概念。Cursor(游標)提供了一種對從表中檢索出的數據進行操作的靈活手段,就本質而言,Cursor(游標)實際上是一種能從包括多條數據記錄的結果集中每次提取一條記錄的機制。今天特地將它單獨拿出來談,加深自己和大家對Android 中使用 Cursor 的理解。
1. 關於 Cursor
在你理解和使用 Android Cursor 的時候你必須先知道關於 Cursor 的幾件事情:
Cursor 是每行的集合。
使用 moveToFirst() 定位第一行。
你必須知道每一列的名稱。
你必須知道每一列的數據類型。
Cursor 是一個隨機的數據源。
所有的數據都是通過下標取得。
Cursor 位於 android.database.Cursor類,可見出它的設計是基於數據庫服務產生的。
在Android 查詢數據是通過Cursor 類來實現的。當我們使用 SQLiteDatabase.query()方法時,就會得到Cursor對象, Cursor所指向的就是每一條數據。
2. 關於Cursor 的重要方法:
close()
關閉游標,釋放資源
copyStringToBuffer(intcolumnIndex, CharArrayBuffer buffer)
在緩沖區中檢索請求的列的文本,將將其存儲
getColumnCount()
返回所有列的總數
getColumnIndex(StringcolumnName);
返回指定列的名稱,如果不存在返回-1
getColumnIndexOrThrow(StringcolumnName);
從零開始返回指定列名稱,如果不存在將拋出IllegalArgumentException 異常。
getColumnName(intcolumnIndex);
從給定的索引返回列名
getColumnNames();
返回一個字符串數組的列名
getCount();
返回Cursor 中的行數
moveToFirst();
移動光標到第一行
moveToLast();
移動光標到最後一行
moveToNext();
移動光標到下一行
moveToPosition(intposition);
移動光標到一個絕對的位置
moveToPrevious();
移動光標到上一行
3. 例子:
(1) 為空的Cursor的判斷
if (cur.moveToFirst() == false) { //為空的Cursor return; }
intnameColumnIndex = cur.getColumnIndex(People.NAME); String name = cur.getString(nameColumnIndex);
while(cur.moveToNext()) { //光標移動成功 //把數據取出 }
for(cur.moveToFirst();!cur.isAfterLast();cur.moveToNext()) { int nameColumn = cur.getColumnIndex(People.NAME); int phoneColumn = cur.getColumnIndex(People.NUMBER); String name = cur.getString(nameColumn); String phoneNumber = cur.getString(phoneColumn); }
前言android中有很多現成的組件可以使用,但是android上面的程序很多時候用系統自帶的組件都不太合適,主要是樣式可能不是我們想要的。這個時候我們就需要定制一些樣式
前言:相信Android開發者沒有人不知道Context,每一個工程、每一個組件都在用。但是正是因為太熟悉了,反而不會仔細了解它。這篇文章就來說說大家熟視而無睹的Cont
我們在開發程序是經常會需要軟件全屏顯示、自定義標題(使用按鈕等控件)和其他的需求,今天這一講就是如何控制Android應用程序的窗體顯示
有很長一段時間沒有更新博客了,最近實在是太忙了,沒有時間去總結,現在終於可以有時間去總結一些Android上面的東西了,很久以前寫過這篇關於使用Android Studi