2012-12-15 4 views
0

질문 1 : 내가 파이썬과 웹보기와 안드로이드 응용 프로그램을 만들려고 노력하고있어안드로이드 + 파이썬 +의 웹보기 몇 가지 문제

.

파이썬 변수를 가져 와서 html로 보내고 자바 스크립트 변수에 저장할 수 있는지 궁금합니다.

나는이 시도했지만 작동하지 않습니다

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 :

내가 함께 APK에있는 script.py을 할 때 "안드로이드 자바 IDE (보좌관)"을 선택한 후 설치하고 개방, 웹보기가

파이썬 코드를 열지 마십시오 실행할 수 있지만 웹보기는

을 열지 마십시오

아이디어가 있으십니까?

답변

0

할 수있는 간단한 해킹이 있습니다. 웹킷 웹보기는 페이지가로드 한 후 triigers은 "로드 완료"이벤트가 있고, 그 후에 당신은 당신의 자바 스크립트 기능을 실행할 수 있습니다

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!