2012-12-15 57 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!