2012-12-15 30 views
0

問題1:的Android +的Python + webView的一些問題

我試圖與Python和web視圖Android應用程序。

我不知道我是否可以得到一個python變量並將其發送給html並將它們保存在一個javascript變量中。

我試過,但不起作用:

script.py

import android 
import os, sys 


ruta_del_proyecto = os.path.dirname(os.path.realpath(__file__)) 

droid = android.Android() 
droid.webViewShow(ruta_del_proyecto + '/ui/prueba.html?ruta_del_proyecto=5') 

print ruta_del_proyecto + '/ui/prueba.html?ruta_del_proyecto=5' 

prueba.html

<html> 
    <!--urta cel: file:///sdcard/sl4a/scripts/test1/ --> 
    <head> 
    <title>prueba</title> 
    <script> 
     var droid = new Android(); 

     function getUrlVars() { 
     var vars = {}; 
     var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
      vars[key] = value; 
     }); 
     return vars; 
     } 

     var ruta_del_proyecto = getUrlVars()["ruta_del_proyecto"]; 

     alert (ruta_del_proyecto); 
    </script> 
    </head> 
    <body> 
    </body> 
</html> 

問題2:

當我做了script.py中APK與「Android的Java IDE的(AIDE)」,然後安裝並打開的WebView不開

的Python代碼是執行,但WebView中不要打開

有什麼想法?

回答

0

有一個簡單的黑客你可以做。 WebKit的WebView中有「加載完成」事件的頁面加載後triigers和之後,你可以執行你的JavaScript函數:

def on_load_finished(webview, frame): 
    browser.execute_script('your-js-function('+yourVariable+');') 

browser = webkit.WebView() 
browser.connect("load-finished", on_load_finished) 

請記住,您可以通過JSON模塊和反序列化序列化它們傳遞的字典作爲參數他們在JS!