SQLiteのDB Browserで作成されたプリロードされた.dbファイルを、Codename Oneで作成されたアプリケーションにコピーしようとしています。私は、(データの下で)私のsrcフォルダとtheme.resフォルダにアプリを配置しているし、私のアプリの開口クラスの私のinit()
方法に次のコードを追加しました:sqlite dbファイル(シミュレータとデバイス)を読み込むときに、コードネーム1のエラーを解決する方法は?
String path = Display.getInstance().getDatabasePath("mydb.db");
Log.p("init path = " + path);
FileSystemStorage fs = FileSystemStorage.getInstance();
if(path != null && !fs.exists(path)) {
Log.p("path != null ");
try (OutputStream os = fs.openOutputStream(path);
InputStream is = Display.getInstance().getResourceAsStream(getClass(), "/mydb.db");
) {
Util.copy(is, os);
} catch (IOException err) {
Log.e(err);
//copyDb(path);
}
}
path
は、変数を返します。この問題を解決する方法について
Exception: android.database.sqlite.SQLiteException - no such table:
任意のアイデア:私はこのメッセージを取得し、私のAndroidデバイスで
java.sql.SQLException: [SQLITE_CORRUPT] The database disk image is malformed (database disk image is malformed)
:シミュレータを実行しているとき、私は、このエラーメッセージが表示されますか?
ありがとうございます!
「UCSConstantsAndCommons.DB」と「UCSConstantsAndCommons.DB_PATH」の値はそれぞれ –
「mydb.db」と「/mydb.db」です。私は上記の変更を行った。 – Schreiby