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!!!

Другие вопросы по тегам