Bu kodu çalıştırmak için flet kütüphanesini indirmeniz gerekiyor daha sonra çalıştırmak için şu komutu yazın

flet run dosyaadi.py --android


import flet as flutter
import requests
import time
def main(page: flutter.Page):
    page.title = "Döviz Kurları"
    page.bgcolor = "#34495e"
        
    def check_item_clicked(e):
        e.control.checked = not e.control.checked
        page.update()
    # AppBar oluşturma
    page.appbar = flutter.AppBar(
        leading=flutter.Icon(flutter.icons.ADJUST),  # AppBar'da sol üstte bir ikon (palet) ekler
        leading_width=40,  # Sol üstteki ikonun genişliği
        title=flutter.Text("Döviz Kurları"),  # AppBar başlığı
        center_title=False,  # Başlığı ortalamak yerine sola hizala
        bgcolor=flutter.colors.SURFACE_VARIANT,  # AppBar arkaplan rengi
        actions=[
            flutter.IconButton(flutter.icons.ACCESSIBLE_OUTLINED),  # Güneş ikonlu bir IconButton ekler
            flutter.IconButton(flutter.icons.FILTER_3),  # Filtre ikonlu bir IconButton ekler
            flutter.PopupMenuButton(
                items=[
                    flutter.PopupMenuItem(text="Item 1"),  # Popup menüde "Item 1" adlı bir öğe
                    flutter.PopupMenuItem(),  # Popup menüde bir ayırıcı (divider)
                    flutter.PopupMenuItem(
                        text="Checked item", checked=False, on_click=check_item_clicked
                    ),  # Kontrollü bir PopupMenuItem ekler ve tıklama işlevi tanımlar
                ]
            ),
        ],
    )
    
    # Başlangıç değerleri
    dolar_alis, dolar_satis, euro_alis, euro_satis, gbp_alis, gbp_satis = 0, 0, 0, 0, 0, 0
    
    def veri_getir():
        al = requests.get("https://www.doviz.com/api/v11/converterItems")
        response_data = al.json()
        
        # Döviz kurları
        dolar_alis = response_data['data']['C']['USD']['buying']
        dolar_satis = response_data['data']['C']['USD']['selling']
        euro_alis = response_data['data']['C']['EUR']['buying']
        euro_satis = response_data['data']['C']['EUR']['selling']
        gbp_alis = response_data['data']['C']['GBP']['buying']
        gbp_satis = response_data['data']['C']['GBP']['selling']
        
        return float(dolar_alis), float(dolar_satis), float(euro_alis), float(euro_satis), float(gbp_alis), float(gbp_satis)
    
    def bilgileri_guncelle():
        nonlocal dolar_alis, dolar_satis, euro_alis, euro_satis, gbp_alis, gbp_satis
        dolar_alis, dolar_satis, euro_alis, euro_satis, gbp_alis, gbp_satis = veri_getir()
        
        usd_degeri.value = f"Dolar:  Alış: {dolar_alis}  -  Satış: {dolar_satis}"
        euro_degeri.value = f"Euro:  Alış: {euro_alis}  -  Satış: {euro_satis}"
        gbp_degeri.value = f"GBP:  Alış: {gbp_alis}  -  Satış: {gbp_satis}"
        
        page.update()
    
    def otomatik_guncelle():
        while True:
            bilgileri_guncelle()
            time.sleep(5)  # Verileri 5 saniyede bir güncelle
         
    # Otomatik güncelleme işlemini başlat
    import threading
    auto_update_thread = threading.Thread(target=otomatik_guncelle)
    auto_update_thread.daemon = True
    auto_update_thread.start()
    
    usd_degeri = flutter.Text(value="", color="black", size=18)
    euro_degeri = flutter.Text(value="", color="black", size=18)
    gbp_degeri = flutter.Text(value="", color="black", size=18)
    
    usd_row = flutter.Row(controls=[usd_degeri])
    euro_row = flutter.Row(controls=[euro_degeri])
    gbp_row = flutter.Row(controls=[gbp_degeri])
    
    kutu = flutter.Container(content=(flutter.Column(controls=[usd_row, euro_row, gbp_row])),bgcolor="white",border_radius=20,shadow=flutter.BoxShadow(spread_radius=1,blur_radius=10),padding=20)
    page.add(kutu)
flutter.app(target=main)