我学习ophone里使用sqlite3

前端之家收集整理的这篇文章主要介绍了我学习ophone里使用sqlite3前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

写得很辛苦,大家觉得好的话请多多回帖支持我,有时间会发布第二篇

演示环境

Windows xp
Eclipse 3.4.2
Ophone SDK 1.0
一、 创建工程
在Eclipse里
File->new->Android project->输入工程名sqlite_demo等等如下图:->点击完成

二、建立数据库连接类
在src下oms.sqlite_demo下新建DBHelper类
代码如下
 
 
  1. /*classDBHelpercodestart*/
  2. packageoms.sqlite_demo;
  3. importandroid.content.Context;
  4. importandroid.database.sqlite.sqliteDatabase;
  5. importandroid.database.sqlite.sqliteOpenHelper;
  6. importandroid.database.sqlite.sqliteDatabase.CursorFactory;
  7. importandroid.util.Log;
  8. /**
  9. *数据库连接类
  10. *
  11. *@authoryifangyou2010-01-15
  12. *
  13. */
  14. publicclassDBHelperextendssqliteOpenHelper{
  15. privatestaticsqliteDatabasedb=null;
  16. /**
  17. *连接数据库数据库不存在则创建
  18. *
  19. *@paramContextcontext,内容上限文
  20. *@paramStringdbname,数据库名字
  21. *@paramCursorFactoryfactory,数据库游标
  22. *@paramintversion,数据库版本
  23. *@returnsqliteDatabase返回数据库操作类
  24. */
  25. publicDBHelper(Contextcontext,Stringdbname,CursorFactoryfactory,
  26. intversion){
  27. super(context,dbname,factory,version);
  28. }
  29. /**
  30. *连接数据库数据库不存在则创建
  31. *
  32. *@returnsqliteDatabase返回数据库操作类
  33. */
  34. publicsqliteDatabasegetconnect(){
  35. if(db==null){
  36. db=this.getWritableDatabase();
  37. }
  38. returndb;
  39. }
  40. /**
  41. *断开数据库连接
  42. *
  43. *@returnvoid
  44. */
  45. publicvoidclose(){
  46. if(db!=null){
  47. db.close();
  48. }
  49. }
  50. @Override
  51. publicvoidonCreate(sqliteDatabasearg0){
  52. }
  53. @Override
  54. publicvoidonUpgrade(sqliteDatabasearg0,intarg1,intarg2){
  55. }
  56. }
  57. /*classDBHelpercodeend*/

三、操作数据库

sqlite_demo.java里的代码如下

 
 
  1. packageoms.sqlite_demo;
  2. importandroid.app.Activity;
  3. importandroid.database.Cursor;
  4. importandroid.database.sqlite.sqliteDatabase;
  5. importandroid.os.Bundle;
  6. importandroid.util.Log;
  7. publicclasssqlite_demoextendsActivity{
  8. privatefinalStringDB_NAME="testdb";
  9. privatefinalStringTABLE_NAME="student";
  10. /**Calledwhentheactivityisfirstcreated.*/
  11. @Override
  12. publicvoidonCreate(BundlesavedInstanceState){
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.main);
  15. DBHelperdbh=newDBHelper(this.getBaseContext(),DB_NAME,null,1);
  16. sqliteDatabasedb=dbh.getconnect();
  17. createTable(db);
  18. queryTable(db);
  19. dbh.close();
  20. }
  21. publicvoidcreateTable(sqliteDatabasedb){
  22. db.execsql("CREATETABLEIFNOTEXISTS"+TABLE_NAME+"("
  23. +"stud_no"+"TEXT,"
  24. +"stud_name"+"TEXT"
  25. +");");
  26. Stringsql_1="insertinto"+TABLE_NAME+"(stud_no,stud_name)values('S777','LilyChang');";
  27. Stringsql_2="insertinto"+TABLE_NAME+"(stud_no,stud_name)values('S888','LindaLin');";
  28. Stringsql_3="insertinto"+TABLE_NAME+"(stud_no,stud_name)values('S999','BruceWang');";
  29. db.execsql(sql_1);db.execsql(sql_2);db.execsql(sql_3);
  30. }
  31. publicvoidqueryTable(sqliteDatabasedb){
  32. Stringstr="select*from"+TABLE_NAME;
  33. Cursorc=db.rawQuery(str,null);
  34. Log.v("loginactive","查询记录");
  35. Log.v("loginactive",String.valueOf(c.getCount()));
  36. if(c!=null){
  37. c.moveToFirst();
  38. while(!c.isLast()){
  39. Log.v("loginactive","outp.");
  40. Stringstud_no=c.getString(0);
  41. Stringstud_name=c.getString(1);
  42. System.out.println(stud_no+"---------------"+stud_name);
  43. Log.v("loginactive",stud_no+"---------------"+stud_name);
  44. c.moveToNext();
  45. }
  46. }
  47. }
  48. }

四、启动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

猜你在找的Sqlite相关文章