2013-08-24 2 views
-1

проверка некоторых основных html-скриптов с помощью sl4a и моего приложения python, похоже, не может вызвать HTML ... пытается отправить данные из небольшой формы в HTML-код на сторону pythonвызов HTML с помощью webViewShow в sl4a

вот HTML

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>HTML form</title> 
<link rel="stylesheet" href="style.css"/> 
</head> 

<body> 
<div id="body"> 
<h1>My Settings</h1> 
<script type="text/javascript"> 
var droid = new Android(); 
function post_data(){ 
var values = [ 
['airplane', document.getElementById('airplane_mode').value], 
['wifi', document.getElementById('wifi_on').value], 
['brightness', document.getElementById('brightness').value], 
['volume', document.getElementById('volume').value], 
]; 
var q = '?'; 
for (i=0;i<values.length;i++){ 
    var k = values[i][0]; 
    var v = values[i][1]; 
    if (q != '?'){ 
    q = q + '&'; 
    } 
    q = q + k + '=' + v; 
    } 
    droid.postEvent('save', q); 
    } 
</script> 
<form onsubmit="post_data();"> 
<div class="container"> 
<div> 
<label for="airplane_mode">Airplane Mode</label> 
<input id="airplane_mode" name="radio" type="radio" /> 
</div> 
<div> 
<label for="wifi_on">WiFi On</label> 
<input id="wifi_on" name="radio" type="radio" /> 
</div> 
<div> 
<label for="off">Both off</label> 
<input id="off" name="radio" type="radio" /> 
</div> 
</div> 
<div class="container"> 
<div> 
<label for="brightness">Brightness Level</label> 
<input size="5" id="brightness" type="text" /> 
</div> 
<div> 
<label for="volume">Media Volume</label> 
<input size="5" id="volume" type="text" /> 
</div> 
</div> 
<div class="container buttons"> 
<div> 
<input size="5" id="save" name="save" type="submit" value="Save Settings" /> 
<input size="5" id="cancel" name="cancel" type="button" value="Cancel" /> 
</div> 
</div> 
</form> 
</div> 


</body> 
</html> 

вот конец питон, который использует значения, переданные из JS в HTML, чтобы изменить некоторые параметры телефона

import android 
import urlparse 

droid = android.Android() 
droid.webViewShow('file:///tablet/sl4a/scripts/html/options.html') 
while True: 
    result = droid.eventWaitFor('save').result 
    data = urlparse.parse_qs(result['data'][1:]) 
    droid.toggleAirplaneMode('airplane' in data) 
    print 'airplane' in data 
    droid.toggleWifiState('wifi' in data) 
    print 'wifi' in data 
    droid.setScreenBrightness('screen' in data and 255 or 0) 

вещь, когда я выполняю код python, он вообще не вызывает webViewShow и просто закрывает, заявляя, что ответ не обрабатывается , потому что это значение равно none, а не кортеж, так где именно я ошибся?

обновление: Пробовал разные форматы для URL-адреса, поэтому никто не работал. сам веб-просмотр не называется

обновление 2: нормально ... webview открывается, но все, что я получаю, - это пустая страница, которая заставляет меня выполнять жесткое убийство с помощью диспетчера задач, поскольку sl4a зависает там, как будто это пытаясь отобразить html

обновление 3: если webViewShow ссылается на несуществующий адрес и проблема с экраном продолжает происходить. есть идеи?

Py4A - последняя версия SL4A - это R6. работает на android 4.1.2

ответ

-1
droid.webViewShow('file:///tablet/sl4a/scripts/html/options.html',None) 
+1

Как насчет того, чтобы приложить какое-то усилие к этому ответу, например, описание? –

Смежные вопросы