12 Eylül 2016 Pazartesi

Clock Alarm Sensor

SAAT ( Clock)
Kullanıcı arayüzünde görünür olmayan bu bileşen  ile belli aralıklarda bir işlem yaptırabilir yada herhangi bir zamanda bir prosedürü başlatmasını da sağlayabilir siniz.
Metodları içinde zamanı text (yazı) formatına çevirme işlemleri de vardır., MM/DD/YYYY HH:mm:ss a, veya MMM d, yyyy HH:mm. Formatları kullanılabilir. Boş bir değer yazılır ise seçili formatta görüntüleme yapılır,  tarih ve saat için  "MMM d, yyyy HH:mm:ss a" FormatDateTime, tarih değeri için "MMM d, yyyy" for FormatDate.  Tüm formatlar için burayı ziryaret edebilirsiniz. 
Tarih ve saat formatı; milisaniye cinsinden (InstantInTime ) geçen sürede biçimlendirilir.
·         Anında: Anlık olarak oluşturulabilir
·         Belli bir sürede : Milisaniye cinsinden geçen zaman aralığında.
Özellikler
TimerAlwaysFires (Sayaç sürekli aktif)
Bu özellik “true” ise yapılması gereken işlem her döngüde oluşacaktır.
TimerEnabled (Sayaç açık ve kullnılabilir)
İşlem yapmaya hazır bir şekilde döngüyü başlatır.
TimerInterval (Döngü zamanı)
İki olay arasında geçen süredir. Milisaniye (ms) cinsinden bir değer alır 1 saniye 1000 ms dir.
Olaylar
Timer() (Zamanlı işi yap)

Belirlenen döngü sonunda istenilen prosedürü veya kodu çalıştırır. Seçili İnterval (Döngü değeri 1000 milisaniye) her döngü bitişinde  kodu çalıştırır.

ÖRNEK UYGULAMA

Seçilen saat yani alarm bilgisini dosyaya kaydeden ve açılışta okuyan. Zamanı geldiğinde istenilen görevi yapan ve alarmı çalan aynı zamanda istenilen program prosedürünü çalıştıran uygulama

APP INVENTOR GALLERY
app Inventor Gallery Link Sample Application

5 Eylül 2016 Pazartesi

Barcode Scanner


Barcode Scanner ( Barkod Tarayıcı )


Bu komponent ile barkodları okuyabilir ve text değişkenine aktarabilirsiniz.

Özellikler

Result (Sonuç, text değer alır)
Henüz yapılmış tarama için text değeri.
UseExternalScanner (Başka bir tarayıcı kullan, true veya false mantıksal değeri alır)
Bu değer "true" olur ise App Inventor yazılımınız; cihazınızda yüklü başka bir barkod tarama programı arayacaktır. Örnek: " Bar Code Scanner"

Olaylar

AfterScan( result ; text değişkeni vardır. Sonucu bu değişkene aktarır)
Tarama sonucu text değerini result adlı değişkene aktarır.

Metotlar

DoScan()
Bu durum barkod taramanın cihaz kamerası ile başlamasından AfterScan olayına kadar sürer.

Örnek Uygulama
Dizayn Ekranı

Blok Ekranı

Ekran Görüntüsü
App Inventor Gallery Link
 App Inventor Gallery

Uygulama Dosyası (.apk)
 Örnek Uygulama

4 Eylül 2016 Pazar

Accelerometer Sensor


Accelerometer (İvme Ölçer) Sensor

Kullanıcı ekranında görünmeyen bu komponent ile cihazın hangi açıda durduğunu ölçebilirsiniz.Üç farklı durum için bilgi verecektir. Buna ek olarak cihazın sallandığını da fark eden hazır bir prosedürü de kullana bilirsiniz.İvme ölçüsünü (m/s2) olarak verir.
  • xAccel: 0 değeri verdiğinde cihaz; düz bir yüzeyde durmaktadır. Yani ekranı üzerinde veya genelde koyduğumuz ekranı yukarı pozisyonda. Cihazı sağ taraf yüzeye temas ederken sağına doğru yatarsa değer maksimum +9,8 olacaktır. Bu hareketin tam tersi ise -9,8 maksimum değer verecektir. 
  • yAccel:  0 değeri verdiğinde cihaz; düz bir yüzeyde durmaktadır. Yani ekranı üzerinde veya genelde koyduğumuz ekranı yukarı pozisyonda.Cihazı alt kısmı üzerine 90 dereceye getirirsek yani kulaklık kısmı üst tarafta olacak şekilde bu değer +9,8 kadar artar. Cihazın kulaklığını alta getirirsek yani aynı poziyonda dikine ters çevirirsek değer -9,8 kadar artar.
  • zAccel: 0 değerini görmek için telefonun boyuna dik olması gerekir. Tam sırt üstü konumda +9.8 yüzüstü konumda ise -9,8 değerlerini verir. Aynı zamanda yerçekimi için hızlı bir şekilde zemine yaklaştırır veya uzaklaştırırsanız alacağını değer +9,8 veya -9,8 üzerine çıkacaktır.

Özellikleri

Available (Sensör var)
Enabled (Sensör Açık ve kulanıma hazır)
MinimumInterval
Milisaniyedeki döngü değeridir. Bu telefonun sallanması durumunda geçerli bir değerdir. 
Sensitivity
Hassaslık ayarıdır. Üç seçenekten birini seçebilirsiniz. Seçenekleriniz: 1 = zayıf, 2 = orta, 3 = güçlü.
XAccel (x Ekseni)
YAccel (x Ekseni)
ZAccel (x Ekseni)

Olaylar

AccelerationChanged(sayı_değişken xAccel, sayı_değişken yAccel, sayı_değişken zAccel)
İvme ölçer eksenleri değişiminde oluşur. X, Y, ve Z eksenleri için sayısal değer verir.
Shaking()
Cihaz elinizde iken tüm eksenleri içeren bir sallama hareketi ile tetiklenir.

Metot

Yok


Örnek Uygulama

Dizayn Ekranı

Blok Ekranı

Ekran Görüntüsü
App Inventor Gallery Link
 App Inventor Gallery


Uygulama Dosyası (.apk)
 Dosya İndir


3 Nisan 2015 Cuma

ÖRNEK UYGULAMALAR - Social Bileşenleri - Phone Call Uygulaması





"Android Yazılımı Artık Çok Kolay"


TELEFON ARAMASI YAPMA UYGULAMASI: Bu örnek uygulamamızda telefon özelliği olan bir cihazın rehberine ulaşıp seçeceğimiz numarayı arayacağız.
İlk önce ekrana bileşenleri belli bir düzende tutmak için 2 sütun 3 satırlı bir “TableArrangement” bileşeni ekliyoruz. Bu bileşenin içine “PhoneNumberPicker1” bileşenimizi yerleştiriyoruz. Bu bileşen bir buton görünümündedir ve tıklandığında bize rehberimizdeki tüm telefon numarası bulunan kişileri listeler.
Blok bölümüne geçiyoruz. “PhoneNumberPicker1” bileşenimizin açtığı listeden seçim yapıldığında “when..PhoneNumberPicker..AfterPicking” olayı tetiklenir. Biz bu olay bloğu içinde “Set..PhoneCall1..PhoneNumber..to” bloğu ile “PhoneCall” bileşenin “PhoneNumber” yani telefon numarasına seçtiğimiz “PhoneNumberPicker1” bileşeninin “PhoneNumber” değerini atıyoruz. aynı atamayı “TextBox1” bilşenimizin “Text” değişkenine de yapıy numarayı görüyoruz.
“Button1” bileşenimizin “Click” olay bloğu içine yerleştirdiğimiz “Call..PhoneCall1..MakePhoneCall” prosedürü “PhoneCall1” bileşenimize atanmış numarayı aramamızı sağlar.


TELEFON_ARAMASI_01.png


TELEFON_ARAMASI_02.png
“When..PhoneCall1..PhoneCallEnded” bloğu aramamız bitince çalışır. İçinde bulunan “PhoneNumber” değeri yukarıda atanan değerdir. “status” değeri ise o anki durum hakkında verilen bir numaradır.
“When..PhoneCall1..PhoneCallStarted” bloğu aramamız başlayınca çalışır. İçinde bulunan “PhoneNumber” değeri yukarıda atanan değerdir. “status” değeri ise o anki durum hakkında verilen bir numaradır.
Programı çalıştırıp sonuçlarını gözlemleyebiliriz.



ÖRNEK UYGULAMALAR - Sensors Bileşenleri - GPS Location Sensor



"Android Yazılımı Artık Çok Kolay"



GPS SENSOR UYGULAMASI: “LocationSensor” bileşeni ile cihazmızın GPS (Konum) sensörünü açarak bize enlem, boylam ve yükseklik bilgisini vermesini sağlayabiliyoruz. Bunun için Ekranımıza LocationSensor” bileşeni yanında bu bileşeni aktif ve pasif yapacak 2 buton bileşeni ile bilgilerin gösterileceği 3 adet “TextBox” bileşeni ve bunların açıklamalarının yeralacağı 3 “Label” bileşeni ve LocationSensor” bileşeninin durumunu ve kullandığı sensörü gösterir iki “Label” bileşeni daha ekliyoruz. Ve bu bileşenlerin yerleşimini düzenlemek için “Layout” bölümünden “HorizontalArrangement” ve “VerticalArrangement” bileşnlerini de ekliyoruz. Dizay ekranı aşağıda göründüğü gibi yerleştiriyoruz.
GPS_UYGULAMA_01.png


Blok bölümüne geçiyoruz ve “Button1” ile “LocationSensor1” bileşenimizi aktif hale getiriyoruz ve bu butonun “Enable” (Kullanılabilirlik) özelliğini “False” yaparak tekrar basılması sonucunda oluşabilecek olumsuzlukların önüne geçiyoruz ve programın başında “Screen1” bileşnin ilk gösteriminde çalışan bloğun içinde “False” yaptığımız “When..Screen1..İnitialize” “Button2” nin “Enable” (Kullanılabilirlik) özelliğini “True” yaparak kullanıcının istediği zaman “LocationSensor1” bileşenimizi pasif hale getirebileceği bloğu çalıştırabilmesini sağlıyoruz.
“When..LocationSensor1..LocationChanged” bloğu altında; enlem boylam ve yükseklik için ayarladığımız “TextBox” bileşnlerinin “Text” özelliklerine, yine “When..LocationSensor1..LocationChanged” içinde bulunan ve bize bu olayın döndürdüğü değerlerini kilitliyoruz.
“When..LocationSensor1..StatusChanged” olayı ise bize hem iletişim kurduğu sensörü “provider” değişkeni ile verir hemde anlık olarak sensör durumunu “status” değişkeni ile döndürür. bu değişkenleri resimde görüldüğü üzere “Label5” ve “Label6” bileşenlerinin “Text” özelliklerine kilitliyoruz.
Programı çalıştırıyoruz. Konumdaki değişmeleri görebilmeniz için açıkhavada olmanız GPS sinyali almanız gerekiyor ve mümkünse 500 metreye yakın bir mesafe görünebiliyor, tabi ki bu kullandığınız cihazın GPS sensörüne bağlı.


GPS_UYGULAMA_02.png

Burada dikkat edilecek noktaya gelirsek cihazının GPS özelliğini açmanız gerekir. Eğer güncellemeyi daha sık aralıklarla almak isterseniz. “LocationSensor1” bileşeninin “set..LocationSensor1..Timeinterval” bloğunundaki özelliğine milisaniye (Örn:1 saniye için 1000 değeri girilecek) olarak değer atayabilirsiniz. Örneğin bu bloğu “Button1” in “Click” olayı içine yerleştirin.  






ÖRNEK UYGULAMALAR - Media Bileşenleri - Text To Speech



"Android Software Made Easy"


  • Metin Okuma (TextToSpeech) Uygulaması: Bu uygulamamızda android cihazımızın bizim için metin seslendirme özelliği göreceğiz.
İlk olarak ekranımıza “TextToSpeech” bileşeni, içindeki metinin okunması için “TextBox” bileşeni, işlemi “click” olayı ile başlatacak bir “Button” ve metin alanına değer girilmediği zaman uyaracak “Notifer” bileşeni yerleştiriyoruz.
METIN_OKUMA_01.png

Blok bölümüne geçiyoruz ve “Button1” “click” olayının içine bir şartlı kontrol bloğu yerleştiriyoruz. Bu blok ile ilgili açıklamalar daha önceki bölümlerde mevcut. Şunu hatırlatmakta yarar var “Else” ifadesi ilk bloğu eklerken görünmüyorsa bu bloğun üzerindeki kırmızı alanda fare ile tıkladığımız zaman çıkacak olan baloncuğun içinden else bloğunu alarak yine baloncuğun içindeki “if” bloğunun içine sürüklüyoruz.

METIN_OKUMA_02.png
“İf..Then..Else” bloğunda ilk kulakçığa mantıksal sınama kilitlenir. Burada “TextBox1” bileşeninin “Text” değişkeni boş “” yani hiçbir değer girilmemiş ise program “then” bloğuna atlayacak ve bu blok içindeki “Notifier1” bloğunun “notice” değişkenine kilitlenen metini gösterecek, ardından “TextBox1” bileşenine odaklanacaktır.
Eğer (if) “TextBox1” bileşeninin “Text” değişkeni boş “” değil ise (else) program “else” bloğuna atlayacak ve “TextBox1” bileşeninin “Text” özelliğindeki değeri seslendirecektir.
Burada görününen “SpeechRate” bloğu; “TextToSpeech1” bileşeninin okuma hızını ayarlar, girilen değerler 0 (sıfır) ile 2 (iki) arasındadır. Sıfır (0) en yavaş iki (2) en hızlı değerdir. Bu blokla düzenleme yapılmaz ise “SpeechRate” değişkeninin değeri “1” bire eşittir.

ÖRNEK UYGULAMALAR - Media Bileşenleri - Speech Regognizer



"Android Software Made Easy"



  • Ses Tanıma Uygulaması: Bu uygulamamızda “Google” firmasının android cihazlar için verdiği ses tanıma desteğini kullanacağız. Ses tanıma işlemi ekranda mikrofon simgesinin çıkıp sizin konuşmayı başlatmak ve bitirmek için bir ses duymanız arasında geçen sürede gerçekleşir.
Bu uygulama için ekranımıza resimde görüldüğü üzere Bir adet “SpeechRegognizer”, bir adet “Button”, tanınan seslerin anlık yazılacağı bir “TextBox” bileşeni, “TextBox” bileşeninin yanına bir etiket ve tanınan konuşmaların sırasıyla eklendiği bir “ListView” bileşeni ekliyoruz.
Bu uygulamada “ListView” bileşeninin kullanımı hakkında örnekler bulacaksınız.

SES_TANIMA_01.png
Uygulamanın blok bölümüne geçiyoruz.
“Button1” ile ses tanıma işlemi başlatılıyor. “When..SpeechRegognizer1..AfterGettingText” olayı ile ses tanıma işlemi bittikten sonra bu olay bloğunun köşesinde bulunan kırmızı renkli “result” (Tanınmış sesin metin hali) yazısının üzerine fare ile durduğumuz zaman “get..result” bloğunu “TextBox1” bileşeninin “Text” değişkenine kilitliyoruz.
“ListView1” bileşeni ile yaptığımız ise, “liste_eleman” isminde bir değişken oluşturup bu değişkene “SpeechRegognizer1” bileşenin “result” bloğunu add..item..list” bloğu yardımı ile “ListView1” bileşeninin sonuna bir eleman daha ekliyoruz.
SES_TANIMA_02.png


Gyroscope Sensor

Gyroscope Sensor ( Jiroskop Sensör ) Kullanıcı arayüzünde görünür olmayan bu bileşen ile Üç boyutlu Açısal Hız ölçümü yapılabilir. Ç...