sqlite 是一个小型的数据库存储, AndroidTestCase 实在junit 之上进行分装的,废话少说,先上代码
这里面包括数据库的创建,及实现表的创建
- package com.example.test;
- import android.content.Context;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- public class PersonSqLiteOpenHelp extends SQLiteOpenHelper {
- // person.db 为数据库
- public PersonSqLiteOpenHelp(Context context) {
- super(context, "person.db", null, 1);
- // TODO Auto-generated constructor stub
- }
- /**
- * 进行数据库创建
- */
- @Override
- public void onCreate(SQLiteDatabase db) {
- // TODO Auto-generated method stub
- db.execSQL("create table person(id integer primary key,name text,age text)");
- }
- @Override
- public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
- // TODO Auto-generated method stub
- }
- }
PersonDao 是一个业务类及实现增,删,改,查
- package com.example.test;
- import java.util.ArrayList;
- import java.util.List;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- public class PersonDao {
- private static PersonSqLiteOpenHelp helper;
- public PersonDao (Context context) {
- helper = new PersonSqLiteOpenHelp(context);
- }
- /**
- * 添加一条记录
- */
- public static void add(String name,String number) {
- SQLiteDatabase db = helper.getWritableDatabase();
- db.execSQL("insert into person(name,age) values(?,?)",new Object[]{name,number});
- db.close();
- }
- /**
- * 查询数据记录
- */
- public static boolean find(String name) {
- SQLiteDatabase db = helper.getReadableDatabase();
- Cursor cursor = db.rawQuery("select * from person where name=?", new String[]{name});
- //cursor.moveToFirst();
- boolean result = cursor.moveToNext();
- cursor.close();
- db.close();
- return result;
- }
- /**
- * 修改一条记录
- */
- public static void update(String name,String number) {
- SQLiteDatabase db = helper.getWritableDatabase();
- db.execSQL("update person set age=? where name=?",new Object[]{number,name});
- db.close();
- }
- /**
- * 删除一条记录
- */
- public static void delete(String name) {
- SQLiteDatabase db = helper.getWritableDatabase();
- db.execSQL("delete from person where name=?",new String[]{name});
- db.close();
- }
- /**
- * 查询所有结果集
- */
- public static List<Person> findAll() {
- SQLiteDatabase db = helper.getReadableDatabase();
- Cursor cursor = db.rawQuery("select * from person", null);
- List<Person> personArray = new ArrayList<Person>();
- while(cursor.moveToNext()) {
- int id = cursor.getInt(0);
- String name = cursor.getString(1);
- String age = cursor.getString(2);
- Person p = new Person();
- p.setId(id);
- p.setName(name);
- p.setAge(age);
- personArray.add(p);
- }
- cursor.close();
- db.close();
- return personArray;
- }
- }
Person 是一个javaBean
- package com.example.test;
- import java.io.Serializable;
- public class Person implements Serializable {
- private static final long serialVersionUID = 8851031738798388406L;
- private String name;
- private String age;
- private int id;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getAge() {
- return age;
- }
- public void setAge(String age) {
- this.age = age;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- @Override
- public String toString() {
- return "Person [name=" + name + ", age=" + age + ", id=" + id + "]";
- }
- }
TestPersonDB 使用了AndroidTest 进行测试
- package com.example.test;
- import java.util.Arrays;
- import java.util.List;
- import android.test.AndroidTestCase;
- public class TestPersonDB extends AndroidTestCase {
- public void testCreateDB() {
- PersonSqLiteOpenHelp helper = new PersonSqLiteOpenHelp(getContext());
- helper.getWritableDatabase();
- }
- public void testAdd() {
- new PersonDao(getContext());
- PersonDao.add("123" , "123");
- }
- public void findAll() {
- new PersonDao(getContext());
- List<Person> p = PersonDao.findAll();
- System.out.println(Arrays.toString(p.toArray()));
- }
- public void testupdate() {
- new PersonDao(getContext());
- PersonDao.update("123", "3211");
- }
- public void testdelete() {
- new PersonDao(getContext());
- PersonDao.delete("123");
- }
- }
如果你不配置你是运行不起来的在AndroidManifest.xml 中进行配置
- <instrumentation
- android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="com.example.test" >
- </instrumentation>
- <uses-library android:name="android.test.runner" />
好了,现在你可以使用了。。