我学习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