単純なSL4APythonアプリでHTMLGUIを取得しようとしています。実行する必要があるのは、アプリの起動時にユーザーに1つの入力文字列を要求することだけです。
デバッグの目的で、私は単純なものから始めました。残念ながら、これでも機能しません。ここで何が問題なのですか?(私はこのようないくつかのコードを試しましたが、すべて同じ問題があります)
Pythonコード:
import android
loop = True
droid = android.Android()
droid.webViewShow('/sdcard/sl4a/scripts/screen.html')
while loop:
res = droid.waitForEvent('data')
if res:
print str(res)
HTMLコード
<html>
<head>
<script>
var droid = new Android();
var fiets = function() {
droid.postEvent("data", document.getElementById("gsm").value);
}
</script>
</head>
<body onload:"fiets()">
<form onsubmit="fiets(); return false;">
<label for="say">What would you like to say?</label>
<input type="text" id="gsm" value="99999999" />
<input type="submit" value="Store" />
</form>
</body>
</html>
エラーメッセージは繰り返し表示されます(番号3114は増分です)。
java.lang.NullPointerException
Result(id=3114, result=None, error=u'java.lang.NullPointerException')
アップデート:
http://www.mithril.com.au/android/doc/EventFacade.html
私たちが読んでいるように、私が読んだwaitForEvent
のはr4では非推奨です。eventWaitFor
代わりに使用する必要があります。これはエラーを取り除きますが、サンプルは機能しません。Pythonスクリプトは何も出力しません。
update2:
droid.postEvent
になる必要がありますdroid.eventPost
droid.waitForEvent('data')
になる必要がありますdroid.waitForEvent('data')
javascriptとpythonで。
問題が解決しました