2012-04-10 72 views
1

我想要做一些有點棘手的事情。我有一個活動,裏面有一個webView。 此Web視圖正在加載具有一些JavaScript功能的外部html文件。使用Javascript的webView

我的活動定期產生一些reults,我想在JavaScript函數中訪問這些結果。我認爲將輸出結果寫入一個文件並在JavaScript端閱讀可能是一個解決方案。但我不確定。

有沒有辦法這樣做?

我知道我們可以從javascript導航到android功能,但它不完全是我所需要的。

謝謝..

+0

不知道JS是否可以讀取本地存儲的文件 – 2012-04-10 08:56:42

+0

js可以讀取本地文件。您可以將js文件放入應用程序的資產文件夾以及要讀取的文件中,然後執行此操作。我的應用程序這樣做是爲了獲得衛星位置,在js中完成的計算然後通過我的android web視圖讀取並顯示在屏幕 – Katana24 2012-04-10 09:13:33

+0

@ Katana24其實我正在嘗試做同樣的事情。獲取gps位置並在地圖上顯示。但據我所知,我無法寫入資產文件夾中的文件? – penguru 2012-04-10 09:44:07

回答

2

如果您需要的結果只有一次,和上飛,那麼你可以嘗試不要把它們寫到一個文件,但將其注入到WebView中,如JavaScript。例如,在您的頁面中,您可以添加一個功能:

function newData(jsonObj) { 
    ... 
} 

而不是寫入文件,您可以使用您的實際數據調用此文件。

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

如何從android活動調用javascript函數並注入jsonObj參數? – penguru 2012-04-10 10:16:25

+0

在答案中增加了一個示例 – Gavriel 2012-04-10 10:22:43

+0

@Flöcys - 如果它能起作用,我不會受到影響。因爲我已經用webView.loadDataWithBaseURL加載了webview。然後再次調用loadUrl可能不起作用。我會盡力.. – penguru 2012-04-10 10:45:30