对Android sqlite数据库的简单熟悉
2015-01-18 21:42
405 查看
先创建一个接口,源码如下:
再创建一个Dao,源码如下:
在一个测试类中测试,源码如下:
在测试的类之前,要在清单文件中进行配置
package service; import java.util.List; import java.util.Map; //声明一个接口,好让personDao来实现 public interface PersonService { public boolean addPerson(Object[] params); public boolean deletePerson(Object[] params); public boolean updataPerson(Object[] params); public Map<String,String> viewPerson(String[] selectionArgs); public List<Map<String,String>> listPersonMaps(String[] selectionArgs); }
再创建一个Dao,源码如下:
package dao; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import com.sunmoon.notification.db.DbOpenHelper; import service.PersonService; public class personDao implements PersonService { private DbOpenHelper helper = null; public personDao(Context context) { helper = new DbOpenHelper(context); } //插入数据 @Override public boolean addPerson(Object[] params) { boolean flag = false; SQLiteDatabase database = null; try { String sql = "insert into person(name,address,sex) values(?,?,?)"; database = helper.getWritableDatabase(); database.execSQL(sql, params); flag = true; } catch (Exception e) { } finally { if (database != null) { database.close(); } } return flag; } //删除数据 @Override public boolean deletePerson(Object[] params) { boolean flag = false; SQLiteDatabase database = null; try { String sql = "delete from person where id = ?"; database = helper.getWritableDatabase(); database.execSQL(sql, params); flag = true; } catch (Exception e) { } finally { if (database != null) { database.close(); } } return false; } //更新数据 @Override public boolean updataPerson(Object[] params) { boolean flag = false; SQLiteDatabase database = null; try { String sql = "update person set name = ?,address = ?, sex = ? where id = ? "; database = helper.getWritableDatabase(); database.execSQL(sql, params); } catch (Exception e) { } finally { if (database != null) { database.close(); } } return flag; } //查询单个数据 @Override public Map<String, String> viewPerson(String[] selectionArgs) { Map<String, String> map = new HashMap<String, String>(); SQLiteDatabase database = null; try { String sql = "select * from person where id = ?"; database = helper.getWritableDatabase(); Cursor cursor = database.rawQuery(sql, selectionArgs); int colums = cursor.getColumnCount(); while (cursor.moveToNext()) { for (int i = 0; i < colums; i++) { String cols_name = cursor.getColumnName(i); String cols_value = cursor.getString(cursor .getColumnIndex(cols_name)); if (cols_value == null) { cols_value = ""; } map.put(cols_name, cols_value); } } } catch (Exception e) { } finally { if (database != null) { database.close(); } } return map; } //查询多个数据 @Override public List<Map<String, String>> listPersonMaps(String[] selectionArgs) { List<Map<String, String>> list = new ArrayList<Map<String, String>>(); String sql = "select * from person"; SQLiteDatabase database = null; try { database = helper.getReadableDatabase(); Cursor cursor = database.rawQuery(sql, selectionArgs); int colums = cursor.getColumnCount(); while (cursor.moveToNext()) { Map<String, String> map = new HashMap<String, String>(); for (int i = 0; i < colums; i++) { String cols_name = cursor.getColumnName(i); String cols_value = cursor.getString(cursor .getColumnIndex(cols_name)); if (cols_value == null) { cols_value = ""; } map.put(cols_name, cols_value); } list.add(map); } } catch (Exception e) { } finally { if (database != null) { database.close(); } } return list; } }
在一个测试类中测试,源码如下:
package com.sunmoon.notification.test; import java.util.List; import java.util.Map; import service.PersonService; import com.sunmoon.notification.db.DbOpenHelper; import dao.personDao; import android.test.AndroidTestCase; import android.util.Log; public class myTest extends AndroidTestCase { public myTest() { } public void createDb(){ DbOpenHelper helper = new DbOpenHelper(getContext()); helper.getWritableDatabase(); } public void insertDB(){ PersonService service = new personDao(getContext()); Object[] params = {"李四","四川","女"}; boolean flag = service.addPerson(params); System.out.println("-->"+flag); } public void delteDB(){ PersonService service = new personDao(getContext()); Object[] params = {1}; boolean flag = service.deletePerson(params); System.out.println("-->"+flag); } public void updateDB(){ PersonService service = new personDao(getContext()); Object[] params = {"王五","内江","不详","3"}; service.updataPerson(params); } public void viewDB(){ PersonService service = new personDao(getContext()); String[] serlectionArgs = {"3"}; Map<String,String> map = service.viewPerson(serlectionArgs); Log.i("Test","-->>"+map.toString()); } public void listDB(){ PersonService service = new personDao(getContext()); List<Map<String,String>> list = service.listPersonMaps(null); Log.i("Test","-->>"+list.toString()); } }
在测试的类之前,要在清单文件中进行配置
<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.baoxiu123.notification" > </instrumentation>还得要在 application中加入一个uses-library 例如:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <uses-library android:name="android.test.runner" />
相关文章推荐
- android SQLite数据库的简单用法
- android数据库sqlite的简单总结
- Android数据库SQLite使用详解二 : 学生管理系统的简单实现
- Android:SqliteDatabase 数据库的简单使用
- sqlite的简单使用,Android中数据库的简单使用
- android sqlite数据库简单操作(adb shell)
- android 数据库 SQLiteExpertPers的简单使用
- android关于数据库SQLite的简单使用
- Android SQLite数据库简单实现增删改查
- Android-SQLite-创建简单数据库
- android:将数据库(SQLite)取出的数据ListView,并进行分页的简单记录(14)
- Android数据库SQLite的简单使用
- android数据库SQLite简单测试
- Android 数据库SQLite的使用简单Demo
- android- 数据库 模糊搜索, 单引号 ’ 报错问题(SQLiteException: unrecognized token: “‘)
- android 数据库 SQLiteOpenHelper和ContentProvider学习笔记---添加修改删除数据之联系人(二)
- Android 数据存储之 SQLite嵌入式数据库
- Android 数据库SQLite基础
- android大型数据库(sqlite)处理及其他问题总结
- Android 高手进阶教程(十三)之----Android 数据库SQLiteDatabase的使用!