AndroidデータベースSD(TF)カードに作成
Androidアプリケーションがデータベースを構築する場合、デフォルトはシステム内/data/data/'アプリケーションパッケージ名'/
時々SDカードの中に建てる必要があります.
SDカードのメリット:
1システムが工場出荷時の設定などの操作を再開した後、アプリケーションを再インストールします.データは失われません.
2バックアップ、リカバリを容易にします.PCにコピーするか、AndroidデバイスのSDカードにPCからコピーすればよい.
などなど.
データベースをSDカードに簡単に移動するにはどうすればいいですか?
1初期化、SDカードパス.データベースが存在するパスを定義します.
2 SQLiteOpenHelperでの使い方.
mDbNameデータベース名、フルパス付き
とても簡単です.
完了
時々SDカードの中に建てる必要があります.
SDカードのメリット:
1システムが工場出荷時の設定などの操作を再開した後、アプリケーションを再インストールします.データは失われません.
2バックアップ、リカバリを容易にします.PCにコピーするか、AndroidデバイスのSDカードにPCからコピーすればよい.
などなど.
データベースをSDカードに簡単に移動するにはどうすればいいですか?
1初期化、SDカードパス.データベースが存在するパスを定義します.
package cn.hpc.dbdemo;
import java.io.File;
import android.os.Environment;
/**
/sdcard/hpcDbData/
/sdcard/hpcDbData/' '/
*/
public class SDBHelper {
public static final String DB_DIR = Environment.getExternalStorageDirectory().getPath()
+ File.separator + "hpcDbData" + File.separator
+ SDBHelper.class.getPackage().getName()
;
static {
while(! Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
break;
}
}
File dbFolder = new File(DB_DIR);
//
if (!dbFolder.exists()){
dbFolder.mkdirs();
}
}
}
2 SQLiteOpenHelperでの使い方.
mDbNameデータベース名、フルパス付き
package cn.hpc.dbdemo;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DemoDbh extends SQLiteOpenHelper {
public static final int VERSION = 1;
public static final String mDbName = SDBHelper.DB_DIR + File.separator + "demo.db";
public DemoDbh(Context context) {
super(context, mDbName, null, VERSION);
}
// ... ,
}
とても簡単です.
完了