İçeriğe geç

Menü

Berk Akademi
Yorumlar Google yorumları Özel Ders Başvuru Ücretsiz ön görüşme Ana Sayfa

App Inventor'da TinyDB ile Veri Nasıl Kaydedilir ve Okunur?

app-inventorda-tinydb-veri-kaydetme-okuma
Bu yazıda neler var?
  1. TinyDB uygulama kapandıktan sonra veriyi nasıl saklar?
  2. TinyDB bileşeni ekrana nasıl eklenir?
  3. StoreValue ile kullanıcı adı nasıl kaydedilir?
  4. GetValue ile kayıtlı ad nasıl yüklenir?
  5. ClearTag kaydı nasıl siler ve hatalar nasıl bulunur?

App Inventor’da TinyDB ile veri kaydetmek için StoreValue bloğunda bir etiket ve değer belirlersin; daha sonra aynı etiketi GetValue bloğunda kullanarak bilgiyi okursun. TinyDB kaydı uygulama kapatılıp yeniden açıldığında da telefonda saklar. Bileşeni Designer’da ekledikten sonra bloklarını kullanabilirsin.

TinyDB uygulama kapandıktan sonra veriyi nasıl saklar?

TinyDB, bilgiyi telefonda bir etiket ve o etikete bağlı bir değer olarak saklar. Etiket, çekmecenin üzerindeki isim; değer ise çekmecenin içindeki eşya gibidir. Örneğin kullanici_adi etiketi altında Ayşe değerini tutabilirsin. Buradaki Ayşe, yalnızca temsili bir addır.

Uygulama çalışırken kullandığın bir değişkeni geçici not gibi düşünebilirsin. Uygulama yeniden başladığında değişken başlangıçta verdiğin değere dönebilir. TinyDB’ye kaydettiğin bilgi ise etiketli çekmecede durur; uygulamayı tekrar açtığında aynı etiketle bu değeri okuyabilirsin. MIT App Inventor’ın TinyDB bileşeni açıklaması da verilerin etiket ve değer çiftleriyle saklandığını belirtir.

Örneğin TinyDB1 bileşeninin StoreValue bloğunda etiket olarak tema, değer olarak koyu seçersen, kayıt tema → koyu biçiminde tutulur. Daha sonra bu etiketi GetValue bloğunda kullandığında kaydedilen değeri alırsın. Etiketi farklı yazarsan başka bir çekmeceyi aramış olursun.

TinyDB örneklerinde gerçek ad, parola veya başka kişisel bilgileri kullanma. Deneme yaparken Ayşe gibi temsili bir ad ya da tema gibi kişisel olmayan bir değer seç.

TinyDB bileşeni ekrana nasıl eklenir?

TinyDB bileşeni ekrana nasıl eklenir?

TinyDB’yi Designer’daki Palette bölümünün Storage kategorisinde bulup ekrana sürükleyerek eklersin. Bileşen, uygulamadaki veriyi saklama ve geri okuma işini üstlenir; ekranda kullanıcıya görünen bir nesne oluşturmaz. Eklediğinde bileşenler listesinde görünür ve bloklarını Blocks bölümünde kullanabilirsin.

TinyDB özelliklerinde Namespace adlı alan bulunur. Bu alan, bileşenin verilerini hangi ad alanında sakladığını belirler. Tek ekrandaki bu basit örnekte alanı değiştirmene gerek yoktur. Birden fazla TinyDB bileşeni kullanırken ad alanını değiştirirsen kayıtları okurken de doğru ad alanını kullanman gerekir; aksi hâlde beklediğin değeri bulamayabilirsin.

StoreValue ile kullanıcı adı nasıl kaydedilir?

StoreValue ile kullanıcı adı nasıl kaydedilir?

TinyDB, veriyi telefondaki uygulama için etiket ve değer çifti olarak saklar. Etiketi çekmecenin üzerindeki ad, değeri ise çekmecenin içindeki içerik gibi düşünebilirsin. Kullanıcı adını kaydetmek için TinyDB belgelerinde açıklanan StoreValue bloğunu, Kaydet düğmesine basıldığında çalışacak şekilde yerleştirirsin.

  1. Blocks bölümünde Kaydet düğmesinin olay çekmecesini aç ve when Button1.Click bloğunu çalışma alanına ekle. Düğmenin adı sende farklıysa kendi bileşen adını kullan.
  2. TinyDB bileşeninin çekmecesinden call TinyDB1.StoreValue bloğunu alıp Click olayının içine yerleştir.
  3. Metin çekmecesinden bir metin bloğu ekleyerek tag alanına kullaniciAdi yaz. Bu etiket, kaydı daha sonra bulmak için kullanacağın addır.
  4. valueToStore alanına MetinKutusu1 bileşeninin Text özelliğini bağla. Böylece kutuya yazılan ad, belirlediğin etiketin altında saklanır.

Blokların çalışma sırası şöyledir:

when Button1.Click
  call TinyDB1.StoreValue
    tag = "kullaniciAdi"
    valueToStore = MetinKutusu1.Text

Kaydetme ve okuma sırasında aynı etiketi, yazımı ve büyük-küçük harfleriyle eşleştirmen gerekir. Örneğin kaydederken kullaniciAdi, okurken kullaniciAdim yazarsan uygulama başka bir çekmeceye bakar. Örnekteki Ayşe adı temsili olsun; gerçek kişilere ait tanımlayıcı bilgileri ve şifreleri TinyDB'ye kaydetme.

GetValue ile kayıtlı ad nasıl yüklenir?

Uygulama açıldığında kayıtlı adı göstermek için GetValue bloğunu Screen1.Initialize olayında çalıştır. Bu olay ekran başlatılırken devreye girer; MIT App Inventor örneğinde de kayıtlı değer bu olay içinde okunur.

  1. Blocks bölümünde when Screen1.Initialize olay bloğunu çalışma alanına ekle.
  2. TinyDB1 çekmecesinden call TinyDB1.GetValue bloğunu bu olayın içine yerleştir.
  3. tag alanına kaydederken kullandığın kullaniciAdi metin bloğunu koy. valueIfTagNotThere alanına ise ilk açılışta gösterilecek ziyaretçi gibi anlaşılır bir varsayılan metin ekle.
  4. GetValue bloğunun sonucunu, karşılama etiketinin metnine bağla. Metni birleştirme bloğuyla Merhaba, yazısını ve GetValue sonucunu bir araya getir.

Örneğin Kaydet düğmesine basıldığında metin kutusunda temsili Ayşe varsa TinyDB bunu kullaniciAdi etiketiyle saklar. Uygulama yeniden açılınca Initialize olayı aynı etiketi okur ve ekranda Merhaba, Ayşe görünür. Etiketler uyuşmazsa varsayılan olarak ziyaretçi gösterilir. Yükleme işlemini yalnızca Kaydet düğmesinin Click olayına koyarsan ad, ekran açılırken yüklenmez; bu yüzden okuma bloğu Initialize olayında bulunmalıdır.

ClearTag kaydı nasıl siler ve hatalar nasıl bulunur?

Bir kaydı silmek için uygun bir düğmenin Click olayında TinyDB bileşeninin ClearTag bloğunu çalıştır. Bloğa, veriyi kaydederken kullandığın etiketin aynısını ver. Örneğin ad kullaniciAdi etiketiyle saklandıysa silme bloğunda da bu etiketi kullan; farklı yazılan bir etiket, kaydı bulamaz. MIT App Inventor başvurusunda blok ClearTag(tag) olarak açıklanır.

MIT App Inventor TinyDB başvuru sayfası

Etiket ve değerleri, bir eşya dolabındaki etiketli kutular gibi düşünebilirsin. Ayşe adı bu örnekte yalnızca temsili bir değerdir. Gerçek uygulamalarda TinyDB’ye şifre veya kişisel bilgi kaydetme.

Hata ayıklarken hangi adımları kontrol etmelisin?

  • StoreValue: Kullanıcı adını doğru metin kutusundan alıyor mu, etiket yazımı doğru mu? Yanlış etiket kullanılırsa değer başka bir adla kaydedilir.
  • Screen.Initialize içindeki GetValue: Etiket, StoreValue ile aynı mı? Etiket bulunamazsa GetValue varsayılan değeri döndürür; bu nedenle kayıtlı ad yerine başlangıçta belirlediğin metin görünebilir.
  • ClearTag: Silme düğmesinin Click olayında doğru etiket kullanılıyor mu? Etiket eşleşmezse kayıt kalır. Kayıt silindikten sonra uygulama açıldığında GetValue varsayılan değeri gösterebilir.

GetValue bloğu yalnızca başka bir düğmenin Click olayındaysa, ad uygulama açılırken kendiliğinden yüklenmez. Ekran açıldığında yüklenmesi için bloğu Screen.Initialize olayına yerleştir.

Önce kaydetme ve yükleme etiketlerini karşılaştır, sonra varsayılan değeri ve blokların bağlı olduğu olayları incele. Böylece silme ve yükleme davranışını adım adım kontrol edebilirsin.

Bu içerik aradığın cevabı verdi mi?
Yanıtın, hangi yazıları geliştirmemiz gerektiğini anlamamıza yardımcı olur.
Bu içeriğin üretilmesinde yapay zeka araçlarından destek alınmıştır.

Bu konudan sonra ne okuyabilirsin?

Tüm yazılar

İlgili Eğitimler

Berk Keskin, yazılım geliştirici ve eğitmen
Yazar

Berk Keskin Kimdir?

Yazılıma 12 yaşında başladı; İzmir Ekonomi Üniversitesi'ni bölüm birincisi ve yüksek şeref öğrencisi olarak tamamladı. Bugün yalnızca eğitim vermekle kalmıyor, sektörde aktif olarak yazılım projeleri geliştiriyor ve gerçek dünya deneyimini birebir derslerine taşıyor. Ezberden uzak, mühendislik zihniyetini merkeze alan sürdürülebilir öğrenme sistemleri tasarlayarak sorgulayan, üreten ve problem çözebilen yeni nesil yazılımcılar yetiştiriyor.

Sektörel Deneyim & Projeler

  • Ticarify Entegrasyon Yazılım logosu CEO Ticarify Entegrasyon YazılımPazaryerleri ve e-ticaret sitelerine otomatik e-fatura kesimi, sipariş ve kargo takibi hizmetleri sunan e-Dönüşüm platformunun API mimarisini ve yazılım ekibini yönetmektedir.
  • Benim Düğünüm logosu CEO Benim DüğünümDijital etkinlik ve anı paylaşım platformu.
  • Siberdizayn logosu Yazılım Ekibi Lideri SiberdizaynYüksek anlık oyuncu trafiğine sahip oyun kontrol panelleri ve sunucu altyapıları geliştiren yazılım ekibine liderlik etmektedir.
  • MEDYOGRAFYA 360° Dijital Çözümler logosu Dijital Strateji Lideri MEDYOGRAFYA 360° Dijital ÇözümlerŞirketlerin dijital çözümlerde uzun vadede nasıl ilerlemesi gerektiği ve dijital dönüşüm süreçlerinin yönetilmesine destek olmaktadır.
  • İzmir Ekonomi Üniversitesi logosu Danışma Kurulu Üyesi İzmir Ekonomi ÜniversitesiMezun olduğu üniversitesinde, Bilgisayar Programcılığı bölümünün akademik müfredatını güncel sektör ihtiyaçlarına göre şekillendirmek adına Danışma Kurulu'nda görev almaktadır.
WhatsApp Hemen Ara