
本文实例讲述了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程序设计有所帮助。
总结以上是内存溢出为你收集整理的Android使用Sqlite存储数据用法示例全部内容,希望文章能够帮你解决Android使用Sqlite存储数据用法示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)