我學習ophone里使用sqlite3
- 2020 年 1 月 14 日
- 筆記
寫得很辛苦,大家覺得好的話請多多回帖支援我,有時間會發布第二篇
演示環境
Windows xp
Eclipse 3.4.2
Ophone SDK 1.0
一、 創建工程
在Eclipse里
File->new->Android project->輸入工程名sqlite_demo等等如下圖:->點擊完成

二、建立資料庫連接類
在src下oms.sqlite_demo下新建DBHelper類
寫程式碼如下
/ * 類 DBHelper 程式碼 開始 * / 包oms。sqlite_demo ; 導入android。內容。語境 ; 導入android。資料庫。sqlite。SQLiteDatabase ; 導入android。資料庫。sqlite。SQLiteOpenHelper ; 導入android。資料庫。sqlite。SQLiteDatabase。CursorFactory ; 導入android。實用程式。日誌 ; / ** *資料庫連接類 * * @ 作者 yifangyou 2010-01-15 * * / 公共類DBHelper 擴展了SQLiteOpenHelper { 私有靜態SQLiteDatabase db = null ; / ** *連接資料庫,資料庫不存在則創建 * * @ param 上下文 上下文,內容上限文 * @ param String dbname,資料庫名字 * @ param CursorFactory 工廠,資料庫游標 * @ param int 版本,資料庫版本 * @ return SQLiteDatabase 返回資料庫操作類 * / 公共DBHelper (上下文上下文,字元串dbname,CursorFactory工廠, 內部 版本) { 超級(上下文,dbname,工廠,版本); } / ** *連接資料庫,資料庫不存在則創建 * * @ return SQLiteDatabase 返回資料庫操作類 * / 公共SQLiteDatabase getconnect () { 如果(db == null ) { db = this。getWritableDatabase () ; } 返回db ; } / ** *接入資料庫連接 * * @ 返回 無效 * / public void close () { 如果(db!= null ) { db。close () ; } } @ 覆寫 公共無效onCreate (SQLiteDatabase arg0) { } @ 覆寫 public void onUpgrade (SQLiteDatabase arg0, int arg1, int arg2) { } } / * 類 DBHelper 程式碼 結尾 * /
三、操作資料庫
在sqlite_demo.java里的程式碼如下
oms.sqlite_demo; 導入 android.app.Activity; 導入 android.database.Cursor; 導入 android.database.sqlite.SQLiteDatabase; 導入 android.os.Bundle; 導入 android.util.Log; 公共類sqlite_demo 擴展了活動 { 私有最終字元串DB_NAME = 「 testdb 」 ; 私有最終字元串TABLE_NAME = 「 學生 」 ; / ** 調用 時 的 活性 是 先 創建。* / @ 覆寫 公共無效onCreate (捆綁保存的InstanceState) { 超級。onCreate (savedInstanceState) ; setContentView (R.layout.main) ; DBHelper dbh = 新的DBHelper (this .getBaseContext (),DB_NAME, null ,1) ; SQLiteDatabase db = dbh。getconnect () ; createTable (db) ; queryTable (db) ; dbh。close () ; } 公共無效createTable (SQLiteDatabase db) { db。execSQL (「如果不存在則創建表」 + TABLE_NAME + 「(」 + 「 stud_no」 + 「文字」 + 「 stud_name」 + 「 TEXT」 + 「);」 ) ; 串 sql_1 = 「 插入 到 」 + TABLE_NAME + 「 (stud_no,stud_name) 值('S777' , '百合昌') ;」 ; 串 sql_2 = 「 插入 到 」 + TABLE_NAME + 「 (stud_no,stud_name) 值('S888' , '琳達林') ;」 ; 串 sql_3 = 「 插入 到 」 + TABLE_NAME + 「 (stud_no,stud_name) 值('S999' , '布魯斯王') ;」 ; db。execSQL (sql_1) ; db。execSQL (sql_2) ; db。execSQL (sql_3) ; } 公共無效queryTable (SQLiteDatabase db) { 字元串 str = 「 select * from 」 + TABLE_NAME ; 游標 c = db。rawQuery (str,null ) ; 日誌。v (「 loginactive」,「查詢記錄」); 日誌。v (「 loginactive」,String.valueOf (c.getCount ()) ) ; 如果(c!= null ) { c。moveToFirst () ; while (!c.isLast ()) { 日誌。v (「 loginactive」,「 outp。」); 字元串 stud_no = c。getString (0) ; 字元串 stud_name = c。getString (1) ; 系統。出來。println (stud_no + 「 ---------------」 + stud_name) ; 日誌。v (「 loginactive」,stud_no + 「 ---------------」 + stud_name) ; c。moveToNext () ; } } } }
四、啟動DDMS
在eclipse里
Window->New Perspective->DDMS

五、運行
選擇">"里的run configure->如下圖填完後->apply->run

六、查看結果
點擊run後馬上點擊右上角的DDMS就能在log里看到結果

七、命令行下查看資料庫
Cd $OPHONE_HOME/tools
adb pull /data/data/oms.sqlite_dmoe/databases/testdb test.db
sqlite3 test.db
