写得很辛苦,大家觉得好的话请多多回帖支持我,有时间会发布第二篇
演示环境
Windows xp
Eclipse 3.4.2
Ophone SDK 1.0
一、
创建工程
在Eclipse里
File->new->Android project->输入工程名sqlite_demo等等如下图:->点击完成
二、建立数据库连接类
在src下oms.sqlite_demo下新建DBHelper类
写代码如下
- /*classDBHelpercodestart*/
- packageoms.sqlite_demo;
- importandroid.content.Context;
- importandroid.database.sqlite.sqliteDatabase;
- importandroid.database.sqlite.sqliteOpenHelper;
- importandroid.database.sqlite.sqliteDatabase.CursorFactory;
- importandroid.util.Log;
- /**
- *数据库连接类
- *
- *@authoryifangyou2010-01-15
- *
- */
- publicclassDBHelperextendssqliteOpenHelper{
- privatestaticsqliteDatabasedb=null;
- /**
- *连接数据库,数据库不存在则创建
- *
- *@paramContextcontext,内容上限文
- *@paramStringdbname,数据库名字
- *@paramCursorFactoryfactory,数据库游标
- *@paramintversion,数据库版本
- *@returnsqliteDatabase返回数据库操作类
- */
- publicDBHelper(Contextcontext,Stringdbname,CursorFactoryfactory,
- intversion){
- super(context,dbname,factory,version);
- }
- /**
- *连接数据库,数据库不存在则创建
- *
- *@returnsqliteDatabase返回数据库操作类
- */
- publicsqliteDatabasegetconnect(){
- if(db==null){
- db=this.getWritableDatabase();
- }
- returndb;
- }
- /**
- *断开数据库连接
- *
- *@returnvoid
- */
- publicvoidclose(){
- if(db!=null){
- db.close();
- }
- }
- @Override
- publicvoidonCreate(sqliteDatabasearg0){
- }
- @Override
- publicvoidonUpgrade(sqliteDatabasearg0,intarg1,intarg2){
- }
- }
- /*classDBHelpercodeend*/
三、操作数据库
- packageoms.sqlite_demo;
- importandroid.app.Activity;
- importandroid.database.Cursor;
- importandroid.database.sqlite.sqliteDatabase;
- importandroid.os.Bundle;
- importandroid.util.Log;
- publicclasssqlite_demoextendsActivity{
- privatefinalStringDB_NAME="testdb";
- privatefinalStringTABLE_NAME="student";
- /**Calledwhentheactivityisfirstcreated.*/
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- DBHelperdbh=newDBHelper(this.getBaseContext(),DB_NAME,null,1);
- sqliteDatabasedb=dbh.getconnect();
- createTable(db);
- queryTable(db);
- dbh.close();
- }
- publicvoidcreateTable(sqliteDatabasedb){
- db.execsql("CREATETABLEIFNOTEXISTS"+TABLE_NAME+"("
- +"stud_no"+"TEXT,"
- +"stud_name"+"TEXT"
- +");");
- Stringsql_1="insertinto"+TABLE_NAME+"(stud_no,stud_name)values('S777','LilyChang');";
- Stringsql_2="insertinto"+TABLE_NAME+"(stud_no,stud_name)values('S888','LindaLin');";
- Stringsql_3="insertinto"+TABLE_NAME+"(stud_no,stud_name)values('S999','BruceWang');";
- db.execsql(sql_1);db.execsql(sql_2);db.execsql(sql_3);
- }
- publicvoidqueryTable(sqliteDatabasedb){
- Stringstr="select*from"+TABLE_NAME;
- Cursorc=db.rawQuery(str,null);
- Log.v("loginactive","查询记录");
- Log.v("loginactive",String.valueOf(c.getCount()));
- if(c!=null){
- c.moveToFirst();
- while(!c.isLast()){
- Log.v("loginactive","outp.");
- Stringstud_no=c.getString(0);
- Stringstud_name=c.getString(1);
- System.out.println(stud_no+"---------------"+stud_name);
- Log.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