का उपयोग कर मैं एक साधारण सवाल का जवाब जानना चाहता था, लेकिन मैं have'nt एक अच्छा (मैं घंटों के लिए इसे गूगल है :))sl4a
मैं खेल रहा हूँ पाया जावास्क्रिप्ट को अजगर से घटनाओं भेज python के साथ sl4a के साथ और मैं जेएस से पायथन लिपि में घटनाएं भेज सकता हूं, लेकिन जेएस घटना को पकड़ नहीं रहा है पोस्ट मैं पाइथन से जेएस तक नीचे दिए गए कोड में डालता हूं।
कोई भी जानता है कि यह कैसे किया गया है या यदि रजिस्टर के बिना कोई दूसरा तरीका है?
एचटीएमएल कोड:
<html>
<head>
<script>
var droid = new Android();
function doit(){
droid.makeToast("Text send :=>"+document.getElementById("msg").value);
droid.eventPost("doit",document.getElementById("msg").value);
}
function alert_me(data){
droid.makeToast("All done!");
document.getElementById("msg").value = '';
}
droid.registerCallback("done",alert_me);
</script>
</head>
<body>
<input type="text" name="boton" id="msg" value="" />
<input type="button" name="boton" value="Go!" onclick="javascript:doit()" />
</body>
</html>
अजगर कोड:
import android,time
if __name__ == '__main__' :
droid = android.Android()
droid.webViewShow("file:///sdcard/sl4a/scripts/sample.html")
while True:
event = droid.eventWait().result
if event["name"] == 'doit':
droid.makeToast("Event catched! %s" % event['data'])
droid.eventPost("done","Done message")
time.sleep(2)
droid.exit()
आपका जेएस 'alert_me' फ़ंक्शन इसे प्राप्त तर्क का कोई उपयोग नहीं करता है। यदि ऐसा होता है, तो तर्क में आपके खाते में 'डेटा'' नामक एक सदस्य होता है, इसलिए आपके डेटा में 'data.data'' होता है, जो "पूर्ण संदेश" का मूल्यांकन करेगा। –