背景:
SQLite是一個非常流行的嵌入式資料庫,它提供了一個清爽的 SQL 介面,相當小的記憶體佔用和高速的響應,更 Happy 的是他還是免費的,大家都可以盡情的使用,很多牛叉的公司(諸如 Adobe,Apple,Google,Sun,Symbian ),開源項目( Mozilla,PHP,Python )都在產品中裝配 SQLite.
Android 中, SQLite 是被整合於 Android runtime ,每個 Android 應用程式都可以歡快的使用 SQLite 資料庫,如果你熟悉 JDBC ,那麼這個過程就更安逸了。
SQLite3 特徵
和傳統關聯式資料庫比較 有的:
Sql 語句:SELECT(查詢), INSERT(添加資料), UPDATE(修改資料), CREATE(建立表), DROP(刪除表)
資料類型: 不區分大小寫,TEXT( 文本), NUMERIC( 數值), INTEGER( 整型), REAL(小數), NONE(無類型)
沒有的: FOREIGN KEY(外鍵約束), RIGHT OUTER JOIN, FULL OUTER JOIN, ALTER TABLE(修改表中的列)
程式:
一、啟動eclipse和android虛擬機器,用adb shell命令列建立目錄、SQLite資料庫和表
1 編寫runadb.bat
path D:\程式設計\安卓\eclipse 3.7\android-sdks\platform-tools
adb shell (也可在DOS環境中直接輸入);
2 建立檔案夾
在data/data目錄下建立cqvie.edu.cn(項目中包的名字),
mkdir cqvie.edu.cn
cd cqvie.edu.cn 在此目錄下建立檔案夾databases
mkdir databases
cd databases
3 建立資料庫
sqlite3 test.db
create table 表名(“no” integer,”name” text); //建立表
select * from sqlite_master where type=”table” and name=”表名”; //查詢表結構
insert into 表名 values(1,”張三”);
.explain ON
Select * from 表名; //查詢
二、編寫android程式實現表記錄的添加與查
1 建立專門用於資料庫操作的DBHelper類
在cqvie.edu.cn包上點滑鼠右鍵,建立一個類
類的名稱是DBHelper,繼承自“android.database.sqlite.SQLiteOpenHelper”,基類的名稱可以點按鈕進行尋找
2 使用者介面
3 代碼編寫實現添加查詢功能
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnAdd=(Button) findViewById(R.id.btnAdd);
Button btnQuery=(Button) findViewById(R.id.btnQuery);
btnAdd.setOnClickListener(this);
btnQuery.setOnClickListener(this);
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
DBHelper helper=new DBHelper(this, "test.db", null, 1);
SQLiteDatabase db=helper.getWritableDatabase();
Button btn=(Button)arg0;
int id=btn.getId();
if(id==R.id.btnAdd){
String sql="insert into count values(2222)";
db.execSQL(sql);
}
else if(id==R.id.btnQuery){
Cursor cursor=db.query("count", new String[]{"*"}, "name=?", new String[]{"2222"}, null, null, null);
String s="查詢結果\n";
while(cursor.moveToNext()){
int =cursor.getInt(cursor.getColumnIndex("no"));
String name=cursor.getString(cursor.getColumnIndex("name"));
s+=no+","+name+"\n";
}
EditText Text=(EditText) findViewById(R.id.Text);
Text.setText(s);
}
}
}
在進行資料庫寫測試之前,一定要把資料庫檔案test.db的寫入權限開啟,不然會出錯
在data/data/cqvie.edu.cn/databases目錄下寫chmod 777 test.db
當標示符為”#”時,可直接寫這句chmod 777 test.db
當標示符為”sqlite>”時,要先退出.exit,再寫這句chmod 777 test.db
4結果顯示