2

ウェブスペースにデータベースがあります。このデータベースをダウンロードして、/databases フォルダーにコピーします。DBの一部をコピーしますが、アクセスできません。「ルート エクスプローラー」では、「エラー - データベースを開いているときにエラーが発生しました。データベース ファイルを開けません」と表示されます。

private final static String DB_NAME = "werweisswasquiz";
private final static String DB_PATH = "data/data/my-package-name/databases/";


try {
        // Log.d(TAG, "downloading database");
        URL url = new URL("http://unnediger.bplaced.net/Files/mydbfile");
    URLConnection ucon = url.openConnection();
    InputStream is = ucon.getInputStream();
    BufferedInputStream bis = new BufferedInputStream(is);

    ByteArrayBuffer baf = new ByteArrayBuffer(1024);
    int current = 0;
    while ((current = bis.read()) != -1) {
        baf.append((byte) current);
    }

    /* Convert the Bytes read to a String. */
    OutputStream myOutput = new FileOutputStream(DB_PATH+DB_NAME);
    myOutput.write(baf.toByteArray());
    myOutput.flush();
    myOutput.close();
    bis.close();
    is.close();
} catch (Exception e) {
    Log.e("DOWNLOAD", "downloadDatabase Error: ", e);
    return false;
}
4

1 に答える 1

7

だから私は最終的に自分で解決策を見つけました。

サーバーはファイル「mydbfile」がtxtファイルであると考えたため、sqliteデータベースの拡張子「.db」を追加しました。今では完全に機能します。

于 2012-06-25T17:38:09.970 に答える