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


2 Nisan 2015 Perşembe

ÖRNEK UYGULAMALAR - Media Bileşenleri - SoundRecorder - Player


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

  • Ses Çalma ve Ses Kayıt Uygulaması:Bu uygulama için ekranımıza 3 adet “Button” bileşeni yerleştirip sırasıyla “Button1=Kaydetmeye Başla”, “Button2=Kaydetmeyi Durdur” ve “Button3=Kaydedilen sesi Çal” olarak “Properties” alanından butonların “Text” özelliklerini değiştiriyoruz. İlk iki butonu ekranda yanyana görünmesi için “HorizontalArrengement1” içine yerleştiriyoruz.
Ekranımıza 1 adet “Player”, 1 adet “SoundRecorder” ve bize yapılan işi görsel olarak göstermesi için “Notifier” bileşeni ekliyoruz ve blok ekranına geçiyoruz.
Bu Ekranda resimde de görüldüğü üzere, butonlardan “Button1” ses kaydını başlatır, “Button2”  ses kaydını dururur ve “Button3” de kayıt sonrası “When..Recorder1..AfterSoundRecorder” oulayı ile “Player1” bileşeninin “Source” özelliğine kaydedilen dosyayı aktarır.
Bu uygulamada butonların “Properties” alanındaki “Image” özelliğini kullanarak butonla alakalı resim tanımlayabilirsiniz. Örneğin “play”, “stop”, “record” olarak internette aratacağınız küçük resimleri dizayn ekranındaki media alanına bu küçük resimleri yükleyin ve bu resimleri  butonların “Properties” alanındaki “Image” özelliğinden seçiniz. “Player1” bileşeninin duraklatma (Call..Player1..Pause) ve durdurma (Call..Player1..Stop) bloklarını da yerleşim bileşenlerinin düzenlemesi ile yerleştirip kullanabilirsiniz.

SES_CALMA_02.png
SES_CALMA_01.png



Hemen uyarayım resimleri butonlara tanımladığınızda yazıların altında arka plan olarak kendilerini gösterirler. En uygunu, resim kullanırken “Text” özelliğini boş bırakmak olur.

ÖRNEK UYGULAMALAR - Media Bileşenleri - Camera


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


  • Fotograf Çekme Uygulaması:Bir önceki uygulama ile aynı şablonda yapacağız bu uygulamayı yani cihazın fotoğraf çekme özeliğini kullanacağız. Ekranımıza “buton”, “Image” ve media bölümünden “Camera” bileşenleri ekliyoruz. “Image1” in “Width” özelliğini “FillParent” yapıyoruz.
Butonumuzun “Text” özelliğini “Fotograf Çek” olarak değiştiriyoruz ve blok bölümünde butonumuzun “click” olayına “Camera1” bileşeninin fotograf çekmeye başlamasını tetikliyoruz. “When..Camera1..AfterPicture” olayı ile de “Camera1” bilşeninin “getimage” değerini“image1” bileşeninin “picture” değişkenine kilitliyoruz.
Burada dikkat edilmesi gereken en önemli nokta “When..Camera1..AfterPicture” olay bloğunda, köşede “image” özelliği vardı; bu özelliğin üzerinde fareyi bekletirseniz “getimage” (cihazın kamera uygulamasının çektiği fotoğraf yolunu verir) özelliğini gösteren baloncuk görüntülenir, bu baloncuğun içinden “getimage” bloğunu şeçip “image1” bileşeninin “picture” değişkenine kilitliyoruz.
KAMERA_01.png

ÖRNEK UYGULAMALAR - Media Bileşenleri - Camcorder


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

MEDIA BİLEŞENLERİ İLE ÖRNEK UYGULAMALAR:

  • Video Kamera ve Video Oynatma Uygulaması: Bu uygulamamız ekranımıza  bir adet “Button” bileşeni, bir adet “Camcorder” bileşeni ve çektiğimiz video görüntüsünü görebilmek için de “Videoplayer” bileşeni ekliyoruz. Buton bileşenimizin “Text” özelliğini “VİDEO GÖRÜNTÜSÜ AL” olarak değiştiriyoruz. Blok ekranına geçiyoruz ve aşağıdaki düzenlemeleri yapıyoruz. Burada kullanılan blokları tek tek izah etmiyorum, çünkü önceki bölümlerde yapılan açıklamalar doğrultusunda bileşenler ve özellikleri ve “Blok Kavramı ve Görünümü” bölümüne başvurabilirsiniz.
Burada dikkat edilmesi gereken en önemli nokta “When..Camcorder1..AfterRecording” olay bloğunda, köşede “clip” özelliği vardı; bu özelliğin üzerinde fareyi bekletirseniz “getclip” (cihazın video kamera uygulamasının çektiği video yolunu verir) özelliğini gösteren baloncuk görüntülenir, bu baloncuğun içinden “getclip” bloğunu şeçip yerleştirebiliriz. Biz burada bu değer bloğunu, “VideoPlayer1” bileşeninin “Source” (kaynak veya dosya yolu) değişkenine kilitliyoruz. Böylece çekim bittikten sonra video “VideoPlayer1” içinde görüntülenir. Benim kullandığım cihazda “call..videoplayer1..start” bloğu ile oynatmaya başlaması komutu verildiği halde otomatik başlamıyor bileşenin üzerine dokunup “play” tuşuna basılması gerekiyor.
Video görüntüsünün şekilsiz olmasını ise “VideoPlayer1” bileşenin dikey görüntülemeye ayarlı olmasıdır. Bunu düzeltmek için cihazı çevirdiğimizde ekran bileşenlerinin otomatik olarak yerleşmesi ile yapılabilir. Bu işlem için Dizayn ekranında “Screen1” bileşeni seçili iken “Properties” alanından “ScreenOriantation” özelliğini “Sensor” olarak değiştiriyoruz böylece cihazımızın yönüne göre görüntü ve bileşenlerin yerleşimi otomatik olarak ayarlanacak.
Bu satırları yazarken “VideoPlayer” bileşeninin görüntü yerleşimi ve boyutlandırma sorunları vardı. En yakın zamanda düzeltilmesini diliyoruz.
VIDEO_KAMERA_01.png

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