Ich erstelle meine erste App mit Flet in Python. Das Problem, das ich bekomme, ist, wenn ich die App als APK erstelle, ist sie innen einfach leer. Kein Fehler, kein Absturz. Das Seltsamste ist, dass die App beim Testen völlig einwandfrei funktioniert. Ich habe einige Leute im Internet gesehen, die das gleiche Problem hatten, aber ihre Lösungen haben bei mir nicht funktioniert.
Ich habe die App mit flet build apk -vv erstellt
Ein bisschen über die App:
Ich habe die App für mich und die erfundene Sprache meiner Freunde erstellt.
Einige Teile des Codes sind auf Russisch.
Es importiert nur Anfragen und flet sich selbst.
Es hat GET- und PUT-Anfragen.
Es hat ein paar UI-Elemente. (Eingabefelder, Schaltflächen, Beschriftungen)
def apply_spaces_patterned(pattern, text):
result = []
text_index = 0
for char in pattern:
if char == " ":
result.append(" ")
else:
if text_index < len(text):
result.append(text[text_index])
text_index += 1
if text_index < len(text):
result.append(text[text_index:])
return "".join(result)
def copy_capitalization(input_str: str, output_str: str):
words = input_str.split(" ")
output_words = output_str.split(" ")
for i, word in enumerate(words):
if word[0].capitalize() == word[0]:
# is capitalized
if word.upper() == word:
# is caps
try:
output_words[i] = output_words[i].upper()
except IndexError:
print("out of range, but it's fine bro")
else:
try:
output_words[i] = output_words[i][0].upper() + output_words[i][1:]
except IndexError:
print("out of range, but it's fine bro")
result = "".join(output_words)
return apply_spaces_patterned(output_str, result)
def copy_punctuation(pattern: str, text: str):
VALID_PUNCTUATION = ". , ! ? ; : @ # $ % ^ & / * - + ~".split(" ")
punctuations = []
pattern_words = pattern.split(" ")
text_words = text.split(" ")
for i, word in enumerate(pattern_words):
if word[-1] in VALID_PUNCTUATION:
punctuations.append([word[-1], i])
result = ""
if not punctuations:
return text
for i, word in enumerate(text_words):
added = False
for punc in punctuations:
if punc[1] == i:
added = True
result = result + str(text_words[punc[1]] + punc[0]) + " " # лучше это не трогать
break
if not added:
result = result + word + " "
if result[-1] == " ":
result = result[0:len(result)-1]
return result
def check_word_already_good(word):
allowed_letters = "а р б у з".split(" ")
for letter in word:
if letter not in allowed_letters:
return False
return True
Jede Hilfe ist willkommen!
Dinge, die ich versucht habe:
Die genaue Flet-Version in „requirements.txt“ einfügen
Flutter neu installieren
Neuaufbau
Was ich erwarte: App auf Android, die über eine Benutzeroberfläche verfügt und funktioniert.
Ich erstelle meine erste App mit Flet in Python. Das Problem, das ich bekomme, ist, wenn ich die App als APK erstelle, ist sie innen einfach leer. Kein Fehler, kein Absturz. Das Seltsamste ist, dass die App beim Testen völlig einwandfrei funktioniert. Ich habe einige Leute im Internet gesehen, die das gleiche [url=viewtopic.php?t=26065]Problem[/url] hatten, aber ihre Lösungen haben bei mir nicht funktioniert. Ich habe die App mit flet build apk -vv erstellt Ein bisschen über die App: [list] [*]Ich habe die App für mich und die erfundene Sprache meiner Freunde erstellt. [*]Einige Teile des Codes sind auf Russisch. [*]Es importiert nur Anfragen und flet sich selbst. [*]Es hat GET- und PUT-Anfragen. [*]Es hat ein paar UI-Elemente. (Eingabefelder, Schaltflächen, Beschriftungen) [/list] Versionen von Sachen: [list] [*]Python: 3.12 [*]flet: 0.28.3 [*]flutter: 3.29.2 [/list] [code]main.py[/code]: [code]import flet as ft import process_data as pd import requests
to_translate = ''.join(char for char in to_translate if char not in VALID_PUNCTUATION)
to_translate = to_translate.split(" ")
result = "" for word in to_translate: if word in translations: result += translations[word] else: if pd.check_word_already_good(word): result += word else: result += "ар"+word+"уз"
result += " "
result = pd.copy_capitalization(input_field.value, result) result = pd.copy_punctuation(input_field.value, result)
output_field.value = result
page.update()
input_field = ft.TextField(label="Русский", hint_text="Введите текст сюда") output_field = ft.TextField(label="Арбузный", read_only=True, value="Жмакни на кнопку") submit_button = ft.Button(text="Перевести", on_click=translate)
for i, word in enumerate(words): if word[0].capitalize() == word[0]: # is capitalized if word.upper() == word: # is caps try: output_words[i] = output_words[i].upper() except IndexError: print("out of range, but it's fine bro") else: try: output_words[i] = output_words[i][0].upper() + output_words[i][1:] except IndexError: print("out of range, but it's fine bro") result = "".join(output_words)
for i, word in enumerate(pattern_words): if word[-1] in VALID_PUNCTUATION: punctuations.append([word[-1], i])
result = "" if not punctuations: return text
for i, word in enumerate(text_words): added = False for punc in punctuations: if punc[1] == i: added = True result = result + str(text_words[punc[1]] + punc[0]) + " " # лучше это не трогать break if not added: result = result + word + " "
if result[-1] == " ": result = result[0:len(result)-1]
return result
def check_word_already_good(word): allowed_letters = "а р б у з".split(" ")
for letter in word: if letter not in allowed_letters: return False
return True [/code] Jede Hilfe ist willkommen! Dinge, die ich versucht habe: [list] [*]Die genaue Flet-Version in „requirements.txt“ einfügen [*]Flutter neu installieren [*]Neuaufbau [/list] Was ich erwarte: App auf Android, die über eine Benutzeroberfläche verfügt und funktioniert.
Ich erstelle meine erste App mit Flet in Python. Das Problem, das ich bekomme, ist, wenn ich die App als APK erstelle, ist sie innen einfach leer. Kein Fehler, kein Absturz. Das Seltsamste ist, dass...
Ähnliche Probleme wurden hier, hier und hier gepostet, aber diese beziehen sich entweder auf die SDKs (von denen es kein C#-SDK gibt) oder die Problemumgehung ist nicht geeignet (siehe unten).
Wir...
Ich kratze Fußballspiele Ergebnisse und Quotendaten von einer Website, aber wenn ein Fußballspiel keine Chancen hat, möchte ich diese Reihe gerne überspringen. Im Moment, und ich weiß nicht warum,...
Ich möchte Tests in meiner App mit H2 als Datenbank ausführen, aber jedes Mal, wenn ich versuche, einen Test auszuführen, zeigt ich eine Ausnahme, dass H2 dB leer ist. Keine der verwandten Fragen,...