介绍
这篇文章给大家介绍如何在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存储数据