SL4A - подача веб-бутылки на бутылку
Я создаю прототип приложения для Android с бутылкой и sl4a. Встречаются проблемы с кодом. Я использую многопроцессорность, чтобы установить 5-секундную задержку для функции, которая открывает веб-просмотр для localhost, поэтому, когда я запускаю сервер, у него есть время для установки, прежде чем веб-просмотр запрашивает сайт. По некоторым причинам это не открывает веб-просмотр. (сценарий не завершается и не оставляет ошибок, чтобы выяснить, что работает неправильно). Я могу запустить сервер одним сценарием и запустить альтернативный сценарий, который открывает веб-просмотр, и он работает просто отлично. Может кто-нибудь увидеть проблему в моем коде, так как я не хочу иметь отдельные скрипты, так как я планирую обернуть все это в apk с sl4a и pythonforandroid.
Я упустил большую часть своего кода для простоты.
from bottle import route, run, template, static_file, redirect, request
from multiprocessing import Process
import android
def showurl():
time.sleep(5)
droid.webViewShow("http:\/\/localhost:8080")
if __name__ == '__main__':
droid = android.Android()
port = int(os.environ.get('PORT', 8080))
p = Process(target=showurl)
p.start
run(host='localhost', port=port, debug=True)
Заранее спасибо!
1 ответ
Догадаться. Сделал код немного более подробным для объяснения.
from bottle import route, run, template, static_file, redirect, request
from multiprocessing import Process
def startserver():
port = int(os.environ.get('PORT', 8080))
run(host='localhost', port=port, debug=True)
def showurl():
droid.webViewShow("http:\/\/localhost:8080")
@route('/')
def index():
return static_file('index.html', root='')
if __name__ == '__main__':
droid = android.Android()
server = Process(target=startserver)
webview = Process(target=showurl)
server.start()
time.sleep(1)
webview.start()
У меня не возникло проблем с тем, чтобы заставить это работать, как только я перевел сервер и веб-просмотр с помощью метода Process() из многопроцессорной обработки с задержкой (1) секунды, запускающей веб-просмотр, чтобы дать серверу время для настройки.
Полностью функционирующее нативное /html приложение, все на python. FTW!!!