sqlite数据库测试类的基本使用java
一、在清单里配置权限和引入单元测试框架
代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sql_db_test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<!-- 添加权限 对数据库的操做 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 引入android单元测试的框架 targetPackage 是该app的包名 -->
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.sql_db_test">
</instrumentation>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 单元测试的依赖包 -->
<uses-library
android:name="android.test.runner"/>
</application>
</manifest>
-------------------------------------------
二、新建一个类
代码
//数据库 测试类 要继承AndroidTestCase 类
public class Test_studentinfo_db extends AndroidTestCase {
private String path = Environment.getExternalStorageDirectory() + File.separator + "studentinfo2.db";
//方法名前面必须test而后 + xxx(方法名)
//而且测试方法 没有返回值 -- 注意:testAdd()方法 能够选中直接 运行
//增长数据方法
public void testAdd(){
//链接数据库 操做数据
//第一个参数 -- 存放数据库的路径
//第二个参数 -- 游标 能够是null(默认)
//第三个参数 -- 访问数据库的权限
SQLiteDatabase db = SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READWRITE);
//添加数据到 数据库
//第一个参数 -- 数据库 增删改 的SQL语句 value里的? -- 占位符
//第二个参数 -- 第一个参数 SQL语句 要增删改 的 数据
for(int i = 0;i<20;i++){
db.execSQL("insert into student(s_name,s_age,s_address,s_classname) values(?,?,?,?)", new Object[]{"李四","12","广州","android2"});
} db.close();
}
//查询 数据库 数据方法
public void textQuery(){
SQLiteDatabase db = SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READWRITE);
//查询 数据库 数据
//返回的 是一个游标
Cursor cursor = db.rawQuery("select * from studentinfo", null);
while(cursor.moveToNext()){
//cursor.getString() 获取 具体下标 数据
//cursor.getColumnIndex -- 不知道具体下标 能够根据 key来 拿 想要的数据
String s_sex = cursor.getString(cursor.getColumnIndex("s_sex"));
int s_age = cursor.getInt(cursor.getColumnIndex("s_age"));
int s_score = cursor.getInt(cursor.getColumnIndex("s_score"));
//在日志猫里 显示 要查询的 数据
Log.i("data", s_sex + "," + s_age + "," + s_score);
}
//关闭 游标 和 数据库
cursor.close();
db.close();
}
}
android