0

質問のタイトルが示すように、Android の内部ストレージに HTML ファイルを生成するアプリがあります。

これが私がそれをした方法です:

ファイルの読み取り

        if (thereIsSomethingToShow)
        {
            File dir = getDir("MyApp", MODE_WORLD_READABLE);
            File newfile = new File(dir.getAbsolutePath() + File.separator + Ref+"-"+Name+".html");
            mWebview.loadUrl("file:/"+dir.getAbsolutePath()+File.separator+Ref+"-"+Name+".html"); //("file:///"+Environment.getExternalStorageDirectory()/*+"//MyApp//MySheets//"*/+"//"+Ref+"-"+Name+".html");
            setContentView(mWebview);
        }

ファイルの書き込み (上記のクラスのコードの前)

File root = getDir("MyApp", MODE_WORLD_READABLE); //Environment.getExternalStorageDirectory();
File f = new File(root.getAbsolutePath() + File.separator + Ref+"-"+Name+".html"); //new File(root, Ref+"-"+Name+".html");
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos, "ISO-8859-1"));
bw.write(rs.getFullCode());
bw.close();

HTML ファイルは指定された場所に適切に生成されますが、ルート エクスプローラーを使用して HTML ファイルを外部ストレージに移動しない限り、アプリの webView でもブラウザーでも読み取ることができません。

そうしないと、ブラウザと webView の両方に「Web ページを利用できません」と表示されます。コメントで値を使用すると、すべてがうまくいくことに注意してください。

ご協力いただきありがとうございます。

4

0 に答える 0