1. 程式人生 > >Android學習之SQLite資料庫簡單測試例項

Android學習之SQLite資料庫簡單測試例項

MyOpenDB.java檔案

package com.example.androidsqlite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class MyOpenDB extends SQLiteOpenHelper {

	public MyOpenDB(Context context) {
		super(context, "mydb.db", null, 1);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		String sql="create table persion(id integer primary key autoincrement,name varchar(64),number varchar(64))";
		db.execSQL(sql);
	}
	
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

	}

}

MyDBService.java
package com.example.androidsqlite;

import java.util.jar.Attributes.Name;

import android.content.Context;

public class MyDBService {
	private MyOpenDB myOpenDB;
	public MyDBService(Context context){
		 myOpenDB=new MyOpenDB(context);
	}
	
	public void add(String name,String number){
		String sql="insert into persion(name,number)values(?,?)";
        myOpenDB.getWritableDatabase().execSQL(sql, new String[]{name,number});
	}
}
TestDB.java  測試類
package com.example.androidsqlite.test;

import com.example.androidsqlite.MyDBService;
import com.example.androidsqlite.MyOpenDB;

import android.test.AndroidTestCase;

public class TestDB extends AndroidTestCase {
	 public TestDB() {
		 
	}
	 public void createDb(){
		 MyOpenDB mDb=new MyOpenDB(getContext());
		 mDb.getWritableDatabase();
	 }
         //新增測試
	 public void addDb(){
		MyDBService mService=new MyDBService(getContext());
		mService.add("haha", "123");
		mService.add("ha", "1213");
	 }
}
在整個過程中建立測試類的時候要對AndroidManifest.xml中進行配置,在AndroidManifest.xml的instrumentation中新增android:name="android.test.InstrumentationTestRunner"

同時在application中新增<uses-library android:name="android.test.runner"/>

如果不加我們進行測試時將會報錯,無法測試成功!

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.androidsqlite"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <instrumentation android:label="test" android:targetPackage="com.example.androidsqlite" android:name="android.test.InstrumentationTestRunner"></instrumentation>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.androidsqlite.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>

點選執行測試

建立資料庫測試


資料新增操作測試


測試後我們開啟  file explore


將資料庫匯出


用SQLite Expert開啟看到結果如下


@author http://www.lelexie.com