sqlite數據庫測試類基本使用

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

相關文章
相關標籤/搜索