Android使用Sqlite存储数据用法示例
本文实例讲述了Android使用Sqlite存储数据的方法。分享给大家供大家参考,具体如下:
一般在开发程序中,经常使用数据的存储功能,如在使用Delphi开发程序时,存储程序的简单设置的INI文件,在C#开发中有时也需要存储简单的设置,个人一般存储在XML中,也在INI中存储过,但是不如XML使用方便,那么这些都是简单的数据存储功能,在Android中也支持这样的文件存储,但是现在这里主要说的还是使用SQLite存储数据,SQLite是一种跨平台的数据库,是单文件式的,如咱们平常见的最多的Access数据库,但是他有比Access更好的平台支持,并且支持分页,现在主要是用于嵌入式的开发。
在开发过程中其实可以直接声明数据库对象来进行存储管理的,代码如下:
SQLiteDatabasesqlitedb;//数据库对象 sqlitedb=this.openOrCreateDatabase(datebaseName,MODE_PRIVATE,null); //执行代码: SqlString="createtable"+tableName+"(_idintegerprimarykey,numinteger,datatext)"; sqlitedb.execSQL(SqlString);
这种方式需要我们处理的内容更多一些,个人感觉不是太方便,就像我们开发C#的程序使用SqlHelper一样,在Android平台中也提供了一个类似的类:
SQLiteOpenHelper这样的类
我们可以通过实现这个类来完成我们的操作,这样更简单和高效:
代码如下:
importandroid.content.Context; importandroid.database.Cursor; importandroid.database.sqlite.SQLiteDatabase; importandroid.database.sqlite.SQLiteOpenHelper; importandroid.database.sqlite.SQLiteDatabase.CursorFactory; publicclassDBHelperextendsSQLiteOpenHelper{ privatestaticfinalintDB_VERSION=1; publicDBHelper(Contextcontext,Stringname,CursorFactoryfactory,intversion){ super(context,name,factory,version); //TODOAuto-generatedconstructorstub } publicDBHelper(Contextcontext,StringdBName){ super(context,dBName,null,DB_VERSION); } @Override publicvoidonCreate(SQLiteDatabasedb){ //TODOAuto-generatedmethodstub } publicvoidonCreate(SQLiteDatabasedb,StringcreateDBSql){ //TODOAuto-generatedmethodstub db.execSQL(createDBSql); } @Override publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){ //TODOAuto-generatedmethodstub } @Override publicvoidonOpen(SQLiteDatabasedb){ //TODOAuto-generatedmethodstub super.onOpen(db); } publicvoidInsertintoDB(SQLiteDatabasedb,Stringsql) { db.execSQL(sql); } publicCursoropendb(SQLiteDatabasedb,Stringsql){ returndb.rawQuery(sql,null); } }
在这里只做了一个简单的写作,没有写太多方法这个只是一个引导,可以对这个类进行扩展,这样使用起来更方便一些。
下面是一个简单的调用:
//声明 SQLiteDatabasedb=null; DBHelperdbhelper=null; //实例化 dbhelper=newDBHelper(this,"DBName"); //方法 voidCreateTable(){ Stringsql="CreateTableifnotexists"+TABLE_NAME+"("+ID+"textnotnull,"+NAME+"textnotnull);"; dbhelper.onCreate(db,sql); } voidInsertDB(Stringid,Stringname){ db=dbhelper.getWritableDatabase(); Stringsql="insertinto"+TABLE_NAME+"("+ID+","+NAME+")values('"+id+"','"+name+"')"; dbhelper.InsertintoDB(db,sql); } voidgetDB(){ db=dbhelper.getReadableDatabase(); Stringsql="select*from"+TABLE_NAME; Cursorcursor=dbhelper.opendb(db,sql); Stringtext=""; while(cursor.moveToNext()){ for(inti=0;i<cursor.getColumnCount();i++){ text+=cursor.getString(i); } text+="\n"; } Toast.makeText(this,cursor.getCount()+"\n"+text,Toast.LENGTH_LONG).show(); }
在此只是提供一下简单的参考!欢迎批评指正!
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android操作SQLite数据库技巧总结》、《Android数据库操作技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。