2012-04-10 11 views
1

私は少しトリッキーなことをしようとしています。私は内部にwebViewを持つアクティビティを持っています。 このWebビューは、いくつかのjavascript機能を持つ外部HTMLファイルをロードしています。Android webViewのJavascript

私の活動は定期的に成果を上げており、JavaScriptの機能でこれらの結果にアクセスしたいと考えています。私は出力結果をファイルに書き込むことを考え、javascript側で読むことは解決策かもしれません。しかし、私はそれについては分かりません。

このようにsthを行う方法はありますか?

私はjavascriptからアンドロイドの機能にナビゲートすることができますが、私が必要とするものではありません。

おかげ..

+0

JSがローカルに保存されたファイルを読み取ることができるかわからない –

+0

jsはローカルファイルを読み取ることができます。あなたは、あなたのアプリの資産フォルダと読み込むファイルにjsファイルを置くことができます。それはそれを行います。私のアプリケーションは衛星の位置を取得するためにこれを行い、jsで行われた計算はアンドロイドウェブビューで読み込まれ、画面に表示されます。 – Katana24

+0

@ Katana24実際に私はまったく同じことをやろうとしています。 GPS上の位置を取得し、地図上に表示します。しかし私が知っているように、私はアセットフォルダのファイルに書き込むことができないのですか? – penguru

答えて

2

あなたは一度だけの結果を必要とし、その場で、あなたはそれらをファイルに書き込むことがなく、JavaScriptなどのWebViewにそれを注入しないようにしてください可能性がある場合。たとえば、ページに関数を追加することができます。

function newData(jsonObj) { 
    ... 
} 

ファイルに書き込む代わりに、実際のデータでこれを呼び出すことができます。

webview.loadUrl("javascript:(newData({a:1, b:2,...}))"); 
+0

どうすればAndroidのアクティビティからjavascript関数を呼び出し、jsonObjパラメータを挿入できますか? – penguru

+0

は答えに例を追加しました – Gavriel

+0

@Flöcys - うまくいけばうまくいきません。私は既にwebView.loadDataWithBaseURLでwebviewをロードしているからです。その後、loadUrlを再度呼び出すと動作しない可能性があります。試してみます.. – penguru