Android使用Sqlite存储数据用法示例
本文实例讲述了android使用sqlite存储数据的方法。分享给大家供大家参考,具体如下:
一般在开发程序中,经常使用数据的存储功能,如在使用delphi开发程序时,存储程序的简单设置的ini文件,在c#开发中有时也需要存储简单的设置,个人一般存储在xml中,也在ini中存储过,但是不如xml使用方便,那么这些都是简单的数据存储功能,在android中也支持这样的文件存储,但是现在这里主要说的还是使用sqlite存储数据,sqlite是一种跨平台的数据库,是单文件式的,如咱们平常见的最多的access数据库,但是他有比access更好的平台支持,并且支持分页,现在主要是用于嵌入式的开发。
在开发过程中其实可以直接声明数据库对象来进行存储管理的,代码如下:
sqlitedatabase sqlitedb; //数据库对象 sqlitedb = this.openorcreatedatabase(datebasename, mode_private, null); //执行代码: sqlstring = " create table " + tablename + " (_id integer primary key,num integer,data text) "; sqlitedb.execsql(sqlstring);
这种方式需要我们处理的内容更多一些,个人感觉不是太方便,就像我们开发c#的程序使用sqlhelper一样,在android平台中也提供了一个类似的类:
sqliteopenhelper 这样的类
我们可以通过实现这个类来完成我们的操作,这样更简单和高效:
代码如下:
import android.content.context; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.database.sqlite.sqlitedatabase.cursorfactory; public class dbhelper extends sqliteopenhelper { private static final int db_version = 1; public dbhelper(context context, string name, cursorfactory factory, int version) { super(context, name, factory, version); // todo auto-generated constructor stub } public dbhelper(context context, string dbname) { super(context, dbname, null, db_version); } @override public void oncreate(sqlitedatabase db) { // todo auto-generated method stub } public void oncreate(sqlitedatabase db, string createdbsql) { // todo auto-generated method stub db.execsql(createdbsql); } @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // todo auto-generated method stub } @override public void onopen(sqlitedatabase db) { // todo auto-generated method stub super.onopen(db); } public void insertintodb(sqlitedatabase db,string sql) { db.execsql(sql); } public cursor opendb(sqlitedatabase db,string sql) { return db.rawquery(sql, null); } }
在这里只做了一个简单的写作,没有写太多方法这个只是一个引导,可以对这个类进行扩展,这样使用起来更方便一些。
下面是一个简单的调用:
//声明 sqlitedatabase db = null; dbhelper dbhelper = null; //实例化 dbhelper = new dbhelper(this, "dbname"); //方法 void createtable() { string sql = "create table if not exists " + table_name + " ( " + id + " text not null , " + name + " text not null );"; dbhelper.oncreate(db, sql); } void insertdb(string id, string name) { db = dbhelper.getwritabledatabase(); string sql = "insert into " + table_name + " (" + id + "," + name + ") values('" + id + "','" + name + "')"; dbhelper.insertintodb(db, sql); } void getdb() { db = dbhelper.getreadabledatabase(); string sql = "select * from " + table_name; cursor cursor = dbhelper.opendb(db, sql); string text = ""; while (cursor.movetonext()) { for (int i = 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程序设计有所帮助。
推荐阅读