このような不自由な問題で申し訳ありませんが、4時間解決できません。SQLiteOpenHelper で使用できる /assets フォルダーからデータベースをコピーしようとしていますが、InputStream を開こうとするとエラーが発生します。
E/Trace: error opening trace file: No such file or directory (2)
コード:
public static final String DATABASE_PATH = "/data/data/com.mycomp.myapp/databases/";
public static final String DATABASE_NAME = "database.db";
@Override
protected void onCreate(Bundle savedInstanceState) {
try {
copyDatabase(getApplicationContext());
} catch (IOException e) {
e.printStackTrace();
Log.d(TAG, "blad" + e.toString());
}
}
private void copyDatabase(Context context) throws IOException {
String outfilename = DATABASE_PATH + DATABASE_NAME;
InputStream myinput = context.getAssets().open("database.db");
OutputStream myoutput = new FileOutputStream(outfilename);
byte[] buffer = new byte[1024];
int length;
while ((length = myinput.read(buffer)) > 0) {
myoutput.write(buffer, 0, length);
}
myoutput.flush();
myoutput.close();
myinput.close();
}