我學習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
