2016-07-26 2 views
0

android 스튜디오 프로젝트의 assets 폴더에 저장된 데이터베이스를 어떻게 다시 복사합니까?에셋 폴더에 저장된 데이터베이스를 업데이트하는 방법 Android

databaseHelper dataB; 
dataB = new databaseHelper(this); 

이, 생각, 데이터의 빈 데이터베이스를 생성

내가 안드로이드 SQLite는 자산 헬퍼 클래스

package com.acorney.migration; 

import android.content.Context; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteQueryBuilder; 

import com.readystatesoftware.sqliteasset.SQLiteAssetHelper; 

/** 
* Created by acorney on 25/07/2016. 
*/ 
public class databaseHelper extends SQLiteAssetHelper { 

private static final String TAG = SQLiteAssetHelper.class.getSimpleName(); 
private static final String DATABASE_NAME = "peopleDatabase.db"; 
private static final int DATABASE_VERSION = 1; 

public databaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 

을 사용하고 내가 내 MainActivity에의 인스턴스를 생성/데이터 자산을 데이터베이스에 복사합니다

그러나 SQLite 브라우저를 사용하여 응용 프로그램 외부에서 데이터베이스를 업데이트하고이를 assets 폴더에 다시 저장했습니다. 데이터베이스 업데이트를 응용 프로그램에 어떻게 복사 할 수 있습니까? 변화가 자산 폴더

그리고 앱이 시작되면 앱이 단지의 새로운 인스턴스를 생성해야합니다에 데이터베이스에 저장되도록 -

결국, 응용 프로그램은 읽고이 데이터베이스에 기록 할 필요가 assets 폴더에있는 데이터베이스.

기본적으로 모든 데이터베이스 변경 사항을 자산 폴더에서 원합니다. 수행 할 수있는 작업입니까?

당신의 도움이

+0

앱을 제거하고 다시 설치하십시오. – Nisarg

+0

코드를 통해이 작업을 수행 할 수있는 방법이 있습니까? 앱이 시작될 때마다 발생합니다. –

+0

코드를 사용하여 변경 내용을 적용 할 수 없습니다. – Nisarg

답변

0

없음 주셔서 감사합니다,이 수 없습니다. assets 폴더는 런타임시 변경할 수없는 바이너리 APK의 일부입니다. 컴파일시에만 변경할 수 있습니다.

+0

강제로 다시 컴파일 할 수 있습니까? –

+0

이상한 질문입니다. 코드가 PC에서 컴파일된다는 것을 알아야합니다. – greenapps

관련 문제