Android Studio Button, Sms ve Android Manifest
Android Programlama Bölüm 2 Buton Tanımlama ve Android Manifest Dosyası
Arkadaşlar 2 android dersimizden herkese merhaba, Bugün android’in aslında kolay bir programlama olduğunu göstermeye çalışacağım. Öncelikle 2 tane textView tanımlayıp 2 adet edittext’i 1 tane button aktif ederek gönderceğiz.Kısacası sms uygulaması yapıcaz.
Bu dersten öğrencekleriniz.
- Android Manifest Dosyasını yakından incelenecek
- Mesajlaşma kısmını android üzerinden nasıl gerçekleştiği
- Bir butona işlevsellik vererek onu aktif etme
Daha da basit indirgemek için tasarım diyorum :
Soldaki paletta kutusu yani tasarım araçlarının bulunduğu alandan 2 tane text View 2 tane editText ve 1 tane button alarak ekliyoruz. Basit bir tasarım oluşturduk bile.
Android’te kodlarımızı java da ki MainActivity sınıfımıza yazıyoruz. Orada öncelikle 2 tane editText i tanımlayacağız. final değişkenini açıklarsam öncelikle tanımlanan ilk değişken değeri aldıktan sonra değiştirilmemesi. telno olarak kalıcak. aynı mesaj da öyle. Kullanmasanız da olur.
Button olayının aktifleşmesine gelince : Button gonder=(Button)findViewById(R.id.button); Yani buttonu bul ve gonder değişkenine esitle. gonder.setOnClickListener(new view.OnClickListener) {public void onClick(View v){Ne olcak içinde yani sen butona tıklayınca ne istiyorsun..}}
Button tanımlanması böyle. Ben Smsmaneger’ı aktif etmesini ve editTextlerdeki verileri çekerek mesajı göndermesini istedim. Olayımız bu kadar 🙂
Ve gerekli olan son bir şey ise en sonda daha yakından inceliyeceğimiz Android Manifest dosyamız. Android sistemi bir uygulama bileşenini başlatmadan önce, uygulamanın AndroidManifest.xml dosyasını okuyarak bileşenin varlığını kontrol etmelidir. Bir uygulamaya ait bütün bileşenlerin uygulamanın ana proje dizininde olması gereken bu dosya içinde bildirimi yapılmalıdır.
Manifest dosyası uygulamaya ait bileşenlerin bildirimine ek olarak aşağıdaki işlemleri de yapar:
> İnternet girişi veya kullanıcı bilgilerinin sadece okunur girişi gibi kullanıcı izinlerini belirlemek.
> Uygulamanın gerektirdiği minimum API seviyesini bildirmek.
> Uygulamanın gerektirdiği veya kullandığı donanım ve yazılım özelliklerini bildirmek (kamera, bluetooth hizmeti gibi).
> Android API’leri dışında uygulamanın gerektirdiği API kütüphaneleri (Google Maps kütühanesi gibi).
Tüm uygulama bileşenlerinin bildirimi benzer şekilde yapılmalır:
- <activity> Aktivite elemanları
- <service> Hizmet elemanları
- <receiver> Mesaj alıcıları elemanları
- <provider> İçerik sağlayıcı elemanları
Hızlı işlemler :
application tagları arasında biz kendi activitymizi koyuyoruz. İzin alırken <uses-permission android:name=”Alıncak isim”/> şeklinde alıyoruz.
activity android:name ve labei kullanarak istersek yeni bir activity için izin alabiliriz. Bir sonraki derste daha iyi anlarsınız.
Peki uygulamayı çalıştırdık ama işlem yapmadı. Sebebi arkadaşlar emülatörde deneyince
ekran şu olucak : Bu emülatör ve bunun içinde herhangi bir sms göndercek işlev yapacak birim yok. Yani sizin paranız yok. Şebekeniz yok. Bu yüzden de size hiçbirşey yapmasa gibi gelse de aslında mesaj gönderiyor.
Not:
findViewById:demek onun idsiyle xmlde olan görünümü bulur ve nesnemizi gösterir..
R.id ise bizim herşeyi içinde barındıran üzerinde pek değişiklik yapmadğımız gen classından geliyor 🙂
Gönder butonunu değiştirmek istiyenler buton yapıp eclipse’te imagelerin ordaki image buttondan buton’un rengini resmini değiştirebilir.
Uygulamayı Çalıştırarak denemek isteyen arkadaşlar:
Apk uygulama ders anlatımı linkine tıklayarak apk oluşturup deneyebilirler. Ben denedim çalışıyor 🙂
merhaba sitenizi yeni gördüm bayağı başarılısınız android konusunda
Türkçe içerik ve kaynak sıkıntılı geliştirme aşamasında
Çok Teşekkür ederim güzel yorumlarınız için 🙂
Error:(11) Error: The element must be a direct child of the root element [WrongManifestParent]
apk yapmaya çalışırken yukardaki şeklinde hata veriyor.. ne yapmalıyım..
Manifest dosyanızda hata var sanırım..
//stackoverflow.com/questions/20792728/the-uses-permission-element-must-be-a-direct-child-of-the-manifest-root-elem
//stackoverflow.com/questions/32517428/error-in-manifest-file-during-signed-apk-creation
//stackoverflow.com/questions/32494035/error-during-creation-of-signed-apk
Bunlara bakabilirsiniz..
sms için izin satırını aplication etikati kapandıktan sonra yazdım düzeldi.. bilginize.. takipteyim..:)
mehmet ısık haklı hocam.Application etiketinden sonra yazınca çalışıyor.Sanırım sonraki güncellemelerle ilgili bir şey isterseniz dip not olarak ekleyin derse.
Elektronik ve Yazılım alanlarında Türkçe kaynak bulmak çok zor gerçekten.
Faydalı bilgileriniz için teşekkür ederim. Başarılarınızın devamını dilerim.
Gönder Tuşuna Basınca “Maalesef SMSGönder durdu.” hatası veriyor
Telefonda uygulamalara girip uygulamanın istediği izini açmak gerekiyormuş
Eklenen text ve benzeri opponentlerin yamuk yumuk yanlış yerlerde olması normal midir üstadım
Merhaba Melih, Olmaması gerek tasarım kısmında hataların var gibi.
Ben şu an Android stüdio 3.0 kullanıyorum da yeni yeni öğrenmeye çabalıyorum,android:name=”.startingPage” yazınca hata veriyor (kırmızı bir renk alıyor yazı ) ve programı baslattigimda uygulama kapanıyor.
Merhabalar, .startingPage class’ının paket ismi ve bulunduğu paketi kontrol ederek yolunu bildirebilir misiniz ?
abi ben bunu yaptım abi şimdi abi çalışmadı abi sen şimdi abi bu projenin abi dosyalarını abi paylaşsan abi ben indirsem abi çok iyi olur a bi
merhabalar .startingPage nerde yada bunu kendimizmi oluşturuyoruz acaba yardımcı olursanız sevinirim
Kendinizin oluşturması gerekmektedir.
Merhaba,
Öncelikle verdiğiniz kaynaklar ve emeğiniz için çok teşekkür ederim. Ben bu konulara çok yeniyim ve o kadar çok sorum var ki. Size rastladım çok şükür. Şimdilik sadece bir sorum olacak. Andorid telefonuma wahtsapp’ tan bir mesaj geldiğinde bu mesajdan tetik alarak çalışacak bir uygulama yapılabilir mi acaba? Cevabınız için şimdiden çok teşekkür ederim.
Merhaba,
Öncelikle verdiğiniz kaynaklar ve emeğiniz için çok teşekkür ederim. Ben bu konulara çok yeniyim ve o kadar çok sorum var ki. Size rastladım çok şükür. Şimdilik sadece bir sorum olacak. Andorid telefonuma SMS mesajı geldiğinde bu mesajdan tetik alarak çalışacak bir uygulama yapılabilir mi acaba? Cevabınız için şimdiden çok teşekkür ederim.
Merhaba Öner Bey,
Konuyla ilgili olarak umiitkose@gmail.com adresine mail atabilir misiniz ?
sms örneğinde uygulama avd launch edilip açıldığında kapanıyor. Sorun ne olabilir