Как отобразить локальные HTML -файлы в WebView от flet в устройстве Android?Android

Форум для тех, кто программирует под Android
Anonymous
Как отобразить локальные HTML -файлы в WebView от flet в устройстве Android?

Сообщение Anonymous »

У меня есть проблемы с элементом WebView в Android.
Я хотел бы отобразить локальные файлы HTML с JavaScript и CSS. http: // localhost: 8000/file.html .

Код: Выделить всё

import flet as ft
import http.server
import socketserver
import threading
import sys
import ssl

SERVER = "localhost"
PORT = 8000
HTML_DIRECTORY = "assets/html"

class HookHandler(http.server.SimpleHTTPRequestHandler):
def __init__(self, *args, **kwargs):
super().__init__(*args, directory=HTML_DIRECTORY, **kwargs)

class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
pass

def start_server():
with ThreadedTCPServer((SERVER, PORT), HookHandler) as httpd:
httpd.serve_forever()

def main(page: ft.Page):
wv = ft.WebView(
f"http://{SERVER}:{PORT}/file.html",
expand=True
)
page.add(wv)

server_thread = threading.Thread(target=start_server)
server_thread.daemon = True
server_thread.start()
app = ft.app(main)
< /code>
Но когда я получаю доступ к файлам, существует ошибка безопасности err_cleartext_not_permitted. Я не нахожу способ отключить эту безопасность в компоненте WebView.import flet as ft
import http.server
import socketserver
import threading
import sys
import ssl

SERVER = "localhost"
PORT = 8000
HTML_DIRECTORY = "assets/html"

class HookHandler(http.server.SimpleHTTPRequestHandler):
def __init__(self, *args, **kwargs):
super().__init__(*args, directory=HTML_DIRECTORY, **kwargs)

class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
pass

def get_ssl_context(certfile, keyfile):
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain(certfile, keyfile)
return context

def start_server():
with ThreadedTCPServer((SERVER, PORT), HookHandler) as httpd:
context = get_ssl_context("cert.pem", "key.pem")
httpd.socket = context.wrap_socket(httpd.socket, server_side=True)
print("Serving at port", PORT)
httpd.serve_forever()

def main(page: ft.Page):
wv = ft.WebView(
f"https://{SERVER}:{PORT}/file.html",
expand=True,
)
page.add(url_input, submit_btn, wv)

server_thread = threading.Thread(target=start_server)
server_thread.daemon = True
server_thread.start()
app = ft.app(main)

< /code>
Когда я открываю свое приложение, оно пусто. WebView? Способ добавить пользовательские элементы/свойства в этом файле автоматически в команде Flet Build Apk 
?

Подробнее здесь: https://stackoverflow.com/questions/785 ... oid-device

Вернуться в «Android»