App Inventor'da Değişkenler ve Listeler

  • Bir uygulama içinde verileri depolamak için değişkenleri kullanmayı öğrenin
  • Verileri listeler halinde düzenlemeyi öğrenin
  • Uygulamada değişkenleri ve listeleri kullanma

Bu dersin etkinlikleri şunlardır:

VERİ DEPOLAMA

Bir uygulama kodlarken, genellikle uygulamada depolamanız, güncellemeniz ve erişmeniz gereken bazı bilgiler veya veriler vardır.

Bir uygulamayı çalıştırmak için ihtiyacınız olabilecek 3 tür veri vardır:

Değişkenler

Uygulama çalışırken bilgileri saklayın.

Örneğin, bir kullanıcı adı veya oyun skoru.

Yerel Depolama

Uygulama her çalıştırıldığında alınacak bilgileri mobil cihaza kaydedin.

Örneğin, bir kullanıcı adresi veya yüksek oyun puanı.

Bulut Depolama

Tüm uygulama kullanıcılarının bilgilere erişebilmesi için bilgileri web'de (bulutta) depolayın.

Örneğin, oyun liderlik tablosu veya sohbet mesajları.

Bu derste, değişkenleri kullanarak uygulama içinde veri depolamaya odaklanacağız.

DEĞİŞKENLER

Kodlamada en önemli kavramlardan biri değişkendir. Bir değişken , değişebilen bir veri parçasına verilen addır. Bunu hatırlamanın kolay bir yolu, değişkenin değişkendeğişebilir veya değeri değişebilir.

Her gün sizin için önemli olan ve değeri değişen birçok bilgi vardır. İşte bazı örnekler:

birthday cake with candles
yaşınız
clouds with raindrops
hava durumu
monthly calendar
bugünün tarihi

A değişken içinde bilgi saklayabileceğiniz bir kutu gibidir. 

  1. Siz etiket veya isim içinde ne olduğunu hatırlamak için kutuyu etiketleyin veya isimlendirin.
  2. Bilgiye ihtiyacınız olduğunda kutuyu açıp içindeki bilgileri alabilirsiniz
  3. Ayrıca kutunun içindekileri değiştirebilir değiştirebilir, ancak dışındaki ismi aynı tutabilirsiniz.

 

animation of variable being stored in a box

APP INVENTOR DEĞİŞKENLERİ

Değişkenler uygulama çalışırken bilgileri depolamak için kullanılır.  

Tüm değişken blokları Değişkenler çekmecesinde bulunur. 

app inventor variables drawer

Değişkenler için üç temel blok vardır. Aşağıdaki sekmelerde bunlar hakkında bilgi edinebilirsiniz.

Başlatma bloğu, uygulamanızda değişkeniniz için depolama alanı ayırır. Ona kullanışlı bir ad verin.

initialize variable block App Inventor

Burada bir değişken numberOfLessons 0 olarak başlatılır, belki de bir eğitim uygulamasında kaç dersin tamamlandığını takip etmek için.

Set bloğu, değişkenin değerini ayarlamanıza veya güncellemenize olanak tanır.

Burada, geçerli değer alınır ve değişken geçerli değer + 1 olarak ayarlanır. Dolayısıyla, numberOfLessons 2 ise, yeni değer 3 olur.

get bloğu, değişkenin geçerli değerini almanızı sağlar.

Burada, get bloğu, Label1'de görüntülenecek cümleye ders sayısını eklemek için kullanılır.
get variable block used in join block
 
Burada, koşullu blokta sıfır olup olmadığını test etmek için mevcut ders sayısını almak için kullanılır.
if block App inventor
 
 
 

LİSTELER

Uygulamanızı oluştururken, uygulama içinde erişilmesi gereken birden fazla veri parçası olduğunu fark edebilirsiniz.

Örneğin, uygulamanız tek bir kullanıcı adı yerine, uygulama için tüm kullanıcı adlarına erişmesi gerekebilir. Ya da uygulamanız tamamen hayvanlarla ilgiliyse, depolanması gereken birden fazla hayvan adı ve görüntüsü olabilir.

App Inventor'da, liste adlı bir şey kullanabilirsiniz. Diğer programlama dillerinde bunlara diziolarak adlandırılır, ancak esasen aynı şeydir.  

Daha önce yapılacaklar listesi veya alışveriş listesi hazırlamış olabilirsiniz; programlamadaki listeler de bunlara çok benzerdir.

shopping list on paper with pen on top
lists palette in app inventor

Listelere Blok Düzenleyicideki Yerleşik bloklar paleti aracılığıyla erişilir. Bir listede öğeler oluşturmanıza, depolamanıza, geri getirmenize ve güncellemenize olanak tanıyan birkaç blok vardır.

Bir listeyi bir değişkende saklarsınız, böylece listenize bir isim verebilirsiniz.

initializing a list in app inventor

İlgili birden fazla bilgi parçası olduğunda her zaman listeleri kullanmalısınız.

Örneğin, bir oyunun en yüksek 10 puanını görüntülemek istiyorsanız, HighScore1,HighScore2, HighScore3 ve HighScore10'a kadar HighScore1 gibi isimlerle on değişken oluşturabilirsiniz.

Tercih edilen eylem, 10 yüksek puanı tutmak için HighScores adlı bir liste oluşturmaktır. Tek bir liste ile yüksek puanları sıralamak, güncellemek ve eklemek çok daha kolaydır.

variables vs lists in app inventor

Listedeki her öğenin bir dizinvardır.

Örneğin, aşağıdaki bloklarda, 2 sayısı Meyveler listesindeki 2. öğeyi gösterir. Dolayısıyla, Label1 "Muzlar" yazısını görüntüler.

initializing a list in app inventor
selecting from a list

Listelerdeki öğeleri ekleyebilir, kaldırabilir ve değiştirebilirsiniz. 

Orijinal Meyve listenizi [Elma, Muz, Portakal] aldıysanız, aşağıdaki blokları sırayla çalıştırdıktan sonra Meyve listesinin ne içereceğini tahmin edebilir misiniz?

initializing a list in app inventor

En iyi uygulamalar: "Değişken" kelimesi, öğrencilerin öğrenmesi en zor konulardan biridir. Kutu benzetmesi gerçekten yardımcı olur, bu yüzden konuyu açıklamak için gerçek hayatta kutuları etiketlemeniz gerekiyorsa, bu iyi bir fikir olabilir!

Öğrencilere sorulacak yol gösterici sorular:

Listeler veya değişkenler dışında veri depolamanın başka yolları olduğunu düşünüyor musunuz? İki değeri bir arada tutmak isterseniz ne yaparsınız? Örneğin, kaç tane portakal ve kaç tane elmam olduğunu gösteren bir liste istiyorum, şöyle bir şey:
Portakal: 3
Elmalar: 5

Bunu bir şekilde saklamak istiyorum. Bu daha karmaşık bir liste. Neredeyse değerlerin şu şekilde birbirine bağlı olduğu bir liste gibi:
Portakallar -> 3
Elmalar -> 5

Oklar bir yönü var, bu yüzden buna harita diyebiliriz! Başka birçok veri yapısı da var! Başka örnekler bulabilir misin?

Üstün başarı gösteren öğrenciler için ileri düzey bilgiler: Öğrencilerinizden biri blok kodlamadan daha fazlasını yapmakla ilgileniyorsa (örneğin, Python veya Javascript ile kodlamaya devam etmek), kodlama dillerinin kutunun içindekilerle daha çok ilgilendiğini onlara açıklayabilirsiniz. Örneğin, sayılar bir kelimedeki karakterlerden farklı şekilde işlenir. Python ve Javascript gibi diller, sayıları ve karakterleri nasıl sakladığınız konusunda çok seçicidir, çünkü bunlar değişkeninizde saklayabileceğiniz farklı "türler"dir. Farklı türde kutular kullanarak bir şeyler sakladığınızı örnek olarak verebilirsiniz: Artık yemekleriniz özel bir kutuya (tupperware) konulmalı ve taşınırken eşyalarınız taşıma kutusuna (karton kutu) konulmalıdır. Python için de durum aynıdır. Sayılar sayı kutularına, karakterler ise karakter kutularına konur. 

Mentor ipuçları AmeriCorps'un desteği ile sağlanmaktadır.

stylized A, AmeriCorps logo in navy

AKTİVİTE: TEST UYGULAMASINI TAMAMLAYIN

Tahmini süre: 45 dakika

Değişkenleri ve listeleri kullanarak kodu tamamlayın.

Çalışma sayfasındaki talimatları izleyerek, seçtiğiniz bir konu hakkında kullanıcının bilgisini test eden bir quiz uygulaması oluşturun.
Çalışma Sayfasını Aç

YANSIMA

 

Bu derste, uygulamanıza bilgi kaydetmeyi ve listelerle çok sayıda bilgiyi kullanmayı öğrendiniz. Şu soruları düşünün:

reflection with bits of data
Uygulamanızda hangi verileri depolamanız gerekecek?
Uygulamanıza listeleri nasıl ekleyebilirsiniz?

ANAHTAR TERİMLERİN GÖZDEN GEÇİRİLMESİ

Değişken– bir uygulama içindeki bilgilere isim vermek ve bu bilgilere erişmek için kullanılan bir yöntem

Listeler – App Inventor'da birden fazla veriyi düzenlemenin bir yolu

Dizin  – bir verinin listede nerede olduğunu gösteren sayı 

Dizi – App Inventor ve Thunkable dışındaki programlama dillerinde listeler için kullanılan genel isim

EK KAYNAKLAR

ListView bileşeni şunları sağlar:

  • uygulamanızda liste öğelerinin görüntülenmesi
  • kullanıcının listeden bir öğeyi seçmesi.
  • kullanıcı bir öğeyi seçtiğinde gerçekleştirilecek eylemin kodlanması

Kullanımına ilişkin hızlı bir demo için bu videoyu izleyin: