layout = BoxLayout(orientation='vertical', padding=20, spacing=10)
# 🖼️ ÁREA DO DESENHO
# Lembre-se: para carregar, o 'avatar.png' precisa estar na mesma pasta do script!
if os.path.exists('avatar.png'):
self.desenho = Image(source='avatar.png', size_hint=(1, 0.4))
else:
self.desenho = Label(text="[ Aguardando sua arte em avatar.png ]", size_hint=(1, 0.4))
layout.add_widget(self.desenho)
# --- SEÇÃO DO PANDA (FINANÇAS) ---
# .get() evita que o app feche caso a chave sum de surpresa
moedas = self.dados.get("moedas_ienes", 0)
self.lbl_fundo = Label(
text=f"Total: {moedas:,} Ienes",
bold=True, size_hint=(1, 0.1)
)
# Barra de Progresso
self.barra = ProgressBar(
max=self.meta_ienes,
value=min(moedas, self.meta_ienes),
size_hint=(1, 0.08)
)
# Botão
self.btn_interacao = Button(
text="Guardar Ienes",
background_normal='',
background_color=(0.1, 0.6, 0.3, 1),
size_hint=(1, 0.15)
)
self.btn_interacao.bind(on_press=self.salvar_dados_teste)
layout.add_widget(self.lbl_fundo)
layout.add_widget(self.barra)
layout.add_widget(self.btn_interacao)
return layout
def carregar_dados(self):
try:
with open(self.nome_arquivo, "r") as arquivo:
self.dados = json.load(arquivo)
if "moedas_ienes" not in self.dados:
self.dados["moedas_ienes"] = 0
except:
# Se o arquivo não existir ou der erro, cria um do zero na memória
self.dados = {"moedas_ienes": 0}
def salvar_dados_teste(self, *args):
self.dados["moedas_ienes"] += 1000
try:
with open(self.nome_arquivo, "w") as f:
json.dump(self.dados, f)
except Exception as e:
print(f"Erro ao salvar: {e}")
self.lbl_fundo.text = f"Total: {self.dados['moedas_ienes']:,} Ienes"
self.barra.value = min(self.dados["moedas_ienes"], self.meta_ienes)
import json
import os
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.image import Image
from kivy.uix.progressbar import ProgressBar
class MitiVisualApp(App):
def build(self):
# 🔒 SOLUÇÃO DO CRASH: Define um caminho seguro que o Android permite gravar arquivos
self.nome_arquivo = os.path.join(self.user_data_dir, "progresso_miti.json")
self.carregar_dados()
self.meta_ienes = 500000
if name == 'main':
MitiVisualApp().run()