17 Eylül 2016 Cumartesi

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.
Çalışması için, "Enabled" özelliği "true" olmalıdır. Ayrıca cihazda jiroskop sensörü olmalıdır. 
Özellikler
Available
Sensörün hazır olup olmadığı bildirir.
Enabled
Eğer bu özellik "true" ise  XAngularVelocityYAngularVelocity, ve ZAngularVelocity açısal hız değişkenleri değer almaya başlar..
XAngularVelocity
X ekseninde Açısal Hız, saniyedeki (açısal hız) derece.
YAngularVelocity
Y ekseninde Açısal Hız, saniyedeki (açısal hız) derece.
ZAngularVelocity
Z ekseninde Açısal Hız, saniyedeki (açısal hız) derece.

Olaylar

GyroscopeChanged(number xAngularVelocity, number yAngularVelocity, number zAngularVelocity, number timestamp)
Jiroskobun değer değişiminde tetiklenen bu olayda nanosaniye ölçüsünde hesaplanan  timestamp parametresi "GyroscopeChanged"olayının gerçekleşme aralıklarını bildirir.

Metod

Yok




ÖRNEK UYGULAMA




APP INVENTOR GALLERY




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.  






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. Ç...