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