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