2013-01-31 6 views
10

私は自分のタブレットの内部ストレージにファイルを持っています。 /myfolder/subfolder/index.html。どのように私はこれをアプリケーションのwebviewに読み込むことができます。somefile.htmlファイルを内部ストレージからアプリのWebビューにロード

私は

webview.loadURL("file:///myfolder/subfolder/index.html"); 

を試してみましたが、それは予想される結果を与えていません。それはWebページが利用できないと言います。

私は資産フォルダまたはウェブ/インターネットからの読み込み方法を知っています。私はwebviewにローカルファイルをロードする必要があります。出来ますか。?

+0

希望が役立ちますあなた: http://stackoverflow.com/questions/5749569/load-local-html-file-into-webview –

答えて

6

私はパスとして、以下を使用して私の問題を解決することができました:URLを以下の

webview.loadURL("file:///mnt/sdcard/myfolder/subfolder/index.html"); 
+1

あなたは、アプリケーションにはというアクセス許可が必要であることに気付かなければなりません。 – Phuong

2

アセットフォルダにhtmlファイルを置くと、以下のようなページが表示されます。

webview.loadURL("file:///"+mContext.getFilesDir()+"/myfolder/subfolder/index.html"); 

アンドロイドアセットのhtmlページにアクセスするには、アンドロイドアセットを指定する必要があります。

+0

あなたは私の質問を完全に見て欲しいと思います。私は資産フォルダからそれをロードする方法を知っています。しかし、私はそれを望んでいません。 – SKK

+0

申し訳ありません友人..この許可を宣言して試してみましたか?

+0

okです。しかし、私はそれらをローカルストレージ内のファイルを読む必要がありますか?私はそうは思わない。 – SKK

21
File file = new File("/data/data/packagename/foldername/"); 
webView.loadUrl("file:///" + file); 
+0

お時間をいただきありがとうございます。 – SKK

+0

"/ foldername /" + "filename" –

+0

フォルダ名はどこから来ますか?それは開発者が作成したフォルダなのか、それとも内部ストレージの本質ですか?たとえば、私がこのようなcontext.openFileOutput( "temp.pdf"、context.MODE_PRIVATE)のようなファイルtemp.pdfを作成すると、ファイルはフォルダに保存されますか、またはURLは単にfile:///data/data/packagename/temp.pdfですか?その情報をお寄せいただきありがとうございます。 –

5

アプリは別のアプリに保存されている内部ストレージのデータにアクセスできません。アクセス許可は、アプリケーションによって書き込まれたデータをそのアプリケーションの外部にアクセスできないようにする内部ストレージに適用されます(あなたのアプリは別のアプリケーションによって書き込まれたものを読み取ることはできません)。

したがって、アプリケーションで作成されていないファイル(AFAIK)にアクセスしている場合、そのファイルにアクセスすることはできません。

ところで、あなたは以下のように内部ストレージからファイルにアクセスすることができ、

webview.loadURL("file:///data/data/com.yourproject.example/files/index.html"); 
+0

私は "file:/// mnt/sdcard/myfolder/subfolder/indexhtml"を使用してhtmlをロードすることができました – SKK

+0

からsdcard。?右。? –

+0

私はSDカードを持っていません。しかし、私はいくつかのファイルエクスプローラを使用し、htmlファイルをクリックして、私にオプションを与えてそれを開くアプリケーションを選択しました。私はブラウザを与え、私は領域を入力するURLのパスを見つけた。 – SKK

関連する問題