Android建立和使用數據庫詳細指南(3)

檢索單個標題android

想要經過ID檢索單個標題,能夠使用DBAdapter類的getTitle()方法:數據庫

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

DBAdapter db
= new DBAdapter(this);

//---get a title---

db.
open();

Cursor c = db.getTitle(2);

if (c.moveToFirst())

DisplayTitle(c);

else

Toast.makeText(this, "No title found",

Toast.LENGTH_LONG).show();

db.
close();

}

返回的結果是一個Cursor對象,若是返回一行,能夠使用DisplayTitle()方法顯示標題的詳細信息,不然就使用Toast類顯示一個錯誤消息。ide

更新一個標題this

要更新一個特定的標題,能夠調用DBAdapter的updateTitle()方法,傳遞想要更新的標題的ID給它就能夠了,如清單6所示。spa

清單6 調用DBAdapter類的updateTitle()方法更新標題code

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

DBAdapter db
= new DBAdapter(this);

//---更新標題---

db.
open();

if (db.updateTitle(1,

"
0470285818",

"C#
2008 Programmer's Reference",

"Wrox Press"))

Toast.makeText(this, "Update successful.",

Toast.LENGTH_LONG).show();

else

Toast.makeText(this, "Update failed.",

Toast.LENGTH_LONG).show();

//-------------------

//---檢索相同的標題---

Cursor c = db.getTitle(1);

if (c.moveToFirst())

DisplayTitle(c);

else

Toast.makeText(this, "No title found",

Toast.LENGTH_LONG).show();

//-------------------

db.close();

}

 

若是更新成功會顯示一條表示成功的消息,同時,你能夠檢索剛剛更新的標題看更新結果是否正確。orm

刪除一個標題htm

想要刪除一個標題,能夠調用DBAdapter類的deleteTitle()方法,傳遞你想要刪除的標題的ID便可:對象

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

DBAdapter db
= new DBAdapter(this);

//---delete a title---

db.
open();

if (db.deleteTitle(1))

Toast.makeText(this, "
Delete successful.",

Toast.LENGTH_LONG).show();

else

Toast.makeText(this, "
Delete failed.",

Toast.LENGTH_LONG).show();

db.
close();

}

 

若是刪除成功會顯示一條表示成功的消息。blog

升級數據庫

要升級數據庫,修改DBAdapter類中DATABASE_VERSION常量的值比以前的值大,如以前的值是1,將其改成2:

 

public class DBAdapter

{

public static final String KEY_ROWID = "_id";

public static final String KEY_ISBN = "isbn";

public static final String KEY_TITLE = "title";

public static final String KEY_PUBLISHER = "publisher";

private static final String TAG
= "DBAdapter";

private static final String DATABASE_NAME
= "books";

private static final String DATABASE_TABLE
= "titles";

//---change this to a higher value---

private static final
int DATABASE_VERSION = 2;

private static final String DATABASE_CREATE
=

"
create table titles (_id integer primary key autoincrement, "

+ "isbn text not null, title text not null, "

+ "publisher text not null);";

 

當你再次運行這個應用程序時,你會在Eclipse的LogCat窗口中看到數據庫已經升級的消息,如圖5所示。

圖5 LogCat窗口-消息顯示數據庫升級成功

簡化數據庫訪問

使用DBAdapter類,能夠簡化你的Android應用程序訪問數據庫記錄的操做,一個重要的事情是在Android中建立的SQLite數據庫只有建立它的應用程序能夠訪問它。若是你要共享數據,你須要使用一個內容提供器,這個將在之後的文章中再介紹了。

 前幾天,51CTO爲你們帶來了《在Ubuntu下創建Eclipse的Android開發環境》教程,此次爲你們帶來的是《在MyEclipse 8.6上搭建Android開發環境》的教程,但願你們喜歡。

1,基本環境準備:

安裝JDK1.5以上,Eclipse3.3以上版本.(MyEclipse也能夠),筆者安裝了JDK1.6和MyEclipse 8.6。


JDK1.6

 
MyEclipse 8.6

Phone Club——51CTO移動開發線下技術沙龍

活動日期:12月19日
本期主題:Android應用開發技術進階
地點:創新工場 北京市海淀區北四環西路66號第三極大廈B座18層
演講講師:王明禮(創新工場) 範懷宇(網易)
相關文章
相關標籤/搜索