如何在Android中使用SQLite存储数据

  介绍

这篇文章给大家介绍如何在Android中使用SQLite存储数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1。安装一个SQLiteDeveloper,这个用来打开android生成的数据库。软件随便搜索就能找的到,后面导出数据库只需打开软件点击”数据库”——→“注册数据库“后面的操作最好自己摸索吧

2。编写一个业务类先生成一个数据库和数据库表,这个类如下所示

package  org.lxh.service;   import  android.content.Context;   import  android.database.sqlite.SQLiteDatabase;   import  android.database.sqlite.SQLiteDatabase.CursorFactory;   import  android.database.sqlite.SQLiteOpenHelper;   import  android.database.sqlite.SQLiteQueryBuilder;   public  class  DBService  extends  SQLiteOpenHelper {,//使用SQLiteOpenHelper创建数据库   public 才能DBService (Context 上下文),{   ,,,超级(上下文,“mldn.db",,空,,1);   ,,}   public 才能;void  onCreate (SQLiteDatabase  db), {   ,,,String  sql=癱reate  table 学生(userid  Integer  primary  key 自动增量,username  varchar(30))“,,,//生成数据库表的sql   ,,,db.execSQL (sql);,//生成表   ,,}   public 才能;void  onUpgrade (SQLiteDatabase  db, int  oldVersion,, int 新版本),{   ,,}   }

数据库和表准备好之后就可以做下一步的工作了

3。编写增删改查的业务类

package  org.lxh.service;   import  java.util.ArrayList;   import  java.util.Iterator;   import 并不知道;   import  org.lxh.vo.Student;   import  android.content.Context;   import  android.database.Cursor;   import  android.database.sqlite.SQLiteDatabase;   public  class  StudentService  {   private 才能DBService 数据库;   public 才能StudentService (Context 上下文){,//构造方法实例化DBService   ,,,db=new  DBService(上下文);   ,,}   public 才能;void  savePerson (List,它=stu.iterator ();   ,,,,(it.hasNext ()) {   ,,,,,Student 学生=it.next ();   ,,,,,database.execSQL (sql, new 对象[]{student.getUsername()});,//执行插入   ,,,}   ,,}   public 才能;void 删除(int  userid) {   ,,,String  sql=癲elete 得到student  where 用户id=吗?“   ,,,SQLiteDatabase 数据库=db.getWritableDatabase ();   ,,,database.execSQL (sql, new 对象[]{String.valueOf (userid)});   ,,}   public 才能;List< Student>, fiandAll () {   ,,,List,所有=new  ArrayList ();   ,,,String  sql=皊elect  *,得到student";   ,,,SQLiteDatabase 数据库=db.getReadableDatabase();,//使用getReadableDatabase取得SQLiteDatabase   ,,,Cursor 游标=database.rawQuery (sql, null);,//得到游标,类似结果集   ,,,Student 斯图;   ,,,,(cursor.moveToNext()){,//移动游标   ,,,,,int  id=cursor.getInt (cursor.getColumnIndex (“userid"));   ,,,,,String  name=cursor.getString (cursor.getColumnIndex (“username"));   ,,,,,斯图=new 学生();   ,,,,,stu.setUserid (id);   ,,,,,stu.setUsername(名称);   ,,,,,all.add (stu);   ,,,}   ,,,cursor.close();,//关闭游标   ,,,return ;   ,,}   public 才能;int  getCount () {   ,,,String  sql=皊elect  count(*),得到student";   ,,,SQLiteDatabase 数据库=db.getReadableDatabase ();   ,,,Cursor 游标=database.rawQuery (sql, null);   ,,,cursor.moveToFirst ();   ,,,return  cursor.getInt (0);   ,,}   }

需要注意的是getReadableDatabase和getWritableDatabase的用法,只是单纯的数据查询就使用getReadableDatabase,对数据进行修改操作就使用后者。另外需要注意sqlite的数据类型是没有任何作用的,只是为了程序员的互相合作。

4。编写android的Junit

package  org.lxh.db;   import  java.util.ArrayList;   import  java.util.Iterator;   import 并不知道;   import  org.lxh.service.DBService;   import  org.lxh.service.StudentService;   import  org.lxh.vo.Student;   import  android.test.AndroidTestCase;   import  android.util.Log;   public  class  Test  extends  AndroidTestCase {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在Android中使用SQLite存储数据