web viewfakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp...

47
Android Dersleri 3 : Yeni Sayfa Oluşturma ve Buton, EditText, TextView Kavramları 31 Ocak 2013 Android 46 Yorum Merhaba arkadaşlar. Bu derste ilk olarak uygulamamıza yeni bir sayfa eklemeyi ve daha sonra da bu sayfalara buton, edittext gibi araçları eklemeyi anlatacağım. Bir önceki derste, bir sayfanın hem xml tarafının hem de kontrollerin yapıldığı kısmının olduğunu söylemiştik. Uygulamamıza yeni bir sayfa eklediğimizde bu sayfa için bir java sınıfı da oluşturmamız gerekiyordu. Şimdi bir sayfa ekleyelim. Bunun için layout klasörüne sağ tıklayıp New-Other-Android-Android XML File seçeneğine tıklıyoruz. Bu kısmı aşağıda görebilirsiniz. Next dedikten sonra sayfamıza isim vermemiz gerekiyor. Tipimizi layout olarak ayarlıyoruz ve isim verdikten sonra Finish diyerek kapatıyoruz. Bu işlemi yaptıktan sonra layout klasörünün altında digersayfa.xml adında bir dosya daha eklendiğini göreceksiniz. Bu işlemi yaptıktan sonra şimdi de bu sayfanın kontrollerinin yapılacağı java dosyasını oluşturmamız gerekiyor. Bunun için de src altında paket ismine sağ tıkladıktan sonra New-Class dememiz gerekiyor. Sınıfımıza bir isim veriyoruz ve Finish diyerek sınıfı da ekliyoruz.

Upload: voquynh

Post on 05-Feb-2018

235 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Android Dersleri 3 : Yeni Sayfa Oluşturma ve Buton, EditText, TextView Kavramları

31 Ocak 2013 Android 46 Yorum

Merhaba arkadaşlar. Bu derste ilk olarak uygulamamıza yeni bir sayfa eklemeyi ve daha sonra da bu sayfalara buton, edittext gibi araçları eklemeyi anlatacağım. Bir önceki derste, bir sayfanın hem xml tarafının hem de kontrollerin yapıldığı kısmının olduğunu söylemiştik. Uygulamamıza yeni bir sayfa eklediğimizde bu sayfa için bir java sınıfı da oluşturmamız gerekiyordu. Şimdi bir sayfa ekleyelim. Bunun için layout klasörüne sağ tıklayıp New-Other-Android-Android XML File seçeneğine tıklıyoruz. Bu kısmı aşağıda görebilirsiniz.

Next dedikten sonra sayfamıza isim vermemiz gerekiyor.

 Tipimizi layout olarak ayarlıyoruz ve isim verdikten sonra Finish diyerek kapatıyoruz. Bu işlemi yaptıktan sonra layout klasörünün altında digersayfa.xml adında bir dosya daha eklendiğini göreceksiniz.Bu işlemi yaptıktan sonra şimdi de bu sayfanın kontrollerinin yapılacağı java dosyasını oluşturmamız gerekiyor. Bunun için de src altında paket ismine sağ tıkladıktan sonra New-Class dememiz gerekiyor. Sınıfımıza bir isim veriyoruz ve Finish diyerek sınıfı da ekliyoruz.

Page 2: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 Bu işlemleri de yaptıktan sonra Project Explorer kısmında son görüntümüz aşağıdaki gibi olacaktır.

 Şimdi digersayfa.xml dosyasına çift tıkladığımızda boş bir android ekranı göreceğiz. Oraya şimdilik dokunmuyoruz. Şimdi yapmamız gereken DigerActivity.java dosyasını, digersayfa.xml dosyasına bağlamak. Bunun için DigerActivity.java dosyasına çift tıklıyoruz ve karşımıza aşağıdaki gibi bir alan gelecektir.

 Biz bu kısmı aşağıdaki gibi değiştiriyoruz. Çünkü bu sınıfta herhangi bir işlem yapılmamış. Normal bir Java sınıfı görüyoruz. Bu sınıfı Activity sınıfından extends etmemiz gerekiyor.

Page 3: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 Ayrıca bu sınıfa onCreate() metodunu ve setContentView metodunu eklememiz gerekiyor. Bunun için de yukarıdaki menüden Source-Override/Implements Methods… seçeneğine tıklıyoruz. Karşımıza aşağıdaki gibi bir ekran gelecektir. Buradan onCreate() metodunu seçiyoruz ve projemize ekliyoruz.

 Bu metodu da ekledikten sonra kodumuzun son hali aşağıdaki gibi olacaktır.

 Burada eksik bir şey var. O da setContentView metodu. Bu metod ile sınıfımızı, sayfamızın olduğu xmldosyasına bağlayacağız. Bunun için super.onCreate() metodunun hemen altına şu metodu da ekliyoruz.setContentView(R.layout.digersayfa);Bu işlemleri yaptıktan sonra ctrl+s ile kaydedelim. Kaydedilmemiş bir sayfamız kalmasın. Son olarak bir de AndroidManifest.xml dosyasında bu sayfayı eklememiz gerekiyor. Bunun için projemizdeki bu dosyayı açalım ve kodumuzu aşağıdaki gibi düzenleyelim.

Page 4: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 AndroidManifest.xml dosyasını da bu şekilde ayarladık.  Eklenen her sayfa için bu dosyaya da ekleme yapılmalıdır. Uygulamamız ilk açıldığında activity_main.xml sayfası açılacaktır. Çünkü bunu LAUNCHERolarak ayarladık AndroidManifest.xml dosyasında. Fakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol etmek istiyoruz. Bunun için anasayfamıza bir buton koyalım ve tıklandığında biraz önce oluşturduğumuz digersayfa.xml sayfasına gitsin. Ama önce bu sayfanın açıldığını anlamak için activity_main.xml sayfamıza birkaç araç koyalım. Diğer sayfamız ise boş kalsın. Bunun için yeni bir konu anlatmamız gerekiyor.Buton, EditView ve TextView KavramlarıOluşturduğumuz diğer sayfaya araç eklemeyeceğiz. Anasayfamıza araçlar ekleyeceğiz ve diğer sayfaya geçişte boş olan sayfa açılacak. Bunlardan ilk olarak temel olan araçlardan başlayalım. Textview ,bildiğiniz label‘dir ve yazı göstermeye yarar. Edittext ise bildiğiniz textbox‘tır ve bir yazı girişi yapmayı sağlar. Şimdi activity_main.xml dosyasına çift tıklayalım ve soldaki panelde bir textview, edittext ve butonekleyelim.

 Bunları ekledikten sonra sayfanın alt tarafında xml kısmına geçtiğinizde, sayfanızın xml kodunu görebilirsiniz. Biz sadece buton için ayarları anlatalım.

 Bu ayarları xml tarafında değil de görsel kısımda, butonun üzerine tıkladıktan sonra sağdaki propertieskısmından da değiştirebilirsiniz. Bu kısımda daha çok ayar bulunmaktadır.

Page 5: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Sayfaya bu 3 aracı ekledikten sonra şunu yapalım. Butona tıklayınca edittext içerisine yazdığımızı textviewiçerisinde göstersin. Bunları yaptıktan sonra, bir başka butona tıklandığında ise diğer sayfaya geçmesini ve diğer sayfada hiçbir şey olmadığı için boş bir sayfa açılmasını yapacağız. Şimdi MainActivity.java dosyasına çift tıklayalım ve kodlarımızı yazalım.

 Şimdi buradaki numaralandırılmış alanları anlatalım.1 => TextView sınıfından bir goster adında nesne oluşturduk. Textview ile işlemlerimizi bu nesne üzerinden yapacağız. findViewById ile de textview aracını id’si ile buluyoruz. Burada bizim textview id’si, xml kısmındakinin aynısıdır(R.id.textView1). Bu alanı final yani sabit olarak tanımlamak zorundayız.2 => Edittext sınıfından al adında bir nesne oluşturduk. Bu nesne ile kutucuğa girilen değerleri alacağız. Bunu da final olarak tanımladık. Bu araçları eklediğimizde yukarıda otomatik olarak bunları importedecektir. Bu da id’sine göre arandı ve eşleştirildi.3 => Burada da bir buton oluşturduk. Anlattıklarımız bunun için de geçerlidir. Her birinde bir nesne oluşturuyoruz ki işlemlerimizi bu nesne üzerinden yapalım.4 => Butona yani b nesnesine tıklandığında bir listener çalışacaktır. Listener, java ile masaüstü uygulama geliştirenler için yabancı gelmeyecektir. C#’taki click olayına benzetebiliriz fakat biraz farklıdır. Önce olay dinlenir daha sonra yapılan olaya göre işlem yapılır.5 => Bu dinleme olayı sonucunda bir tıklama olduysa bu metod çalışır. onClick() metodu, butona tıklanmayı gösterir ve tıklandığında yapılacak işlemler bu metod içerisine yazılır.6 => goster nesnesinin setText metodu çalıştırılır. Yani TextView içerisinde bir şey yazdırılarak. Bu yazdırılacak olan da edittext içerisindeki verilerdir. Bu verileri de al nesnesi üzerinden getText() metodunu çağırarak alıyoruz.7 => Burada  noktalı virgül  koymayı unutmuyoruz.Şimdi projemizi çalıştıralım. Bunun için proje ismine tıklıyoruz ve yeşil butona tıklıyoruz. Gelen ekrandanAndroid Application diyoruz ve emülatörümüzün açılmasını bekliyoruz. Açıldıktan sonra uygulamamızın ismini seçerek başlatıyoruz. Aşağıda ekran görüntülerini gösterelim.

Butona tıkladığımızda, edittext içerisine yazdığımızı textview üzerinde gösteriyor. Şimdi emülatörü kapatmadan uygulamamıza geri dönelim.  Eğer emülatörü kapatırsak, uygulamayı çalıştırdığımızda yine uzun süre beklememiz gerekir. Eğer kapatmazsak uygulamayı çalıştırdığımızda emülatör kendini yeniler ve kısa sürede açılır.Uygulamamızda activity_main.xml dosyasına çift tıklayıp bir buton daha ekleyelim ve butona tıkladığımızda diğer sayfaya geçsin. Butonu ekledikten sonra MainActivity.java dosyasına çift tıklayalım ve butonun tıklanma olayını yazalım. Kodumuz aşağıdaki gibi olacaktır.

Page 6: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 Eklediğimiz kısım sadece b2 nesnesi için listener olayıdır. Burada click işlemi yapıldığında startActivity ile yeni bir aktivite başlatıldığını gösteriyoruz. Yeni bir intent nesnesi oluşturduktan sonra parametre olarak, geçiş yapacağımız sayfanın paket adını veriyoruz. Paket adına, AndroidManifest.xml dosyasından ulaşabilirsiniz. Bunu da önce sayfamızı oluşturduğumuz zaman belirlemiştik. Şimdi projemizi tekrar çalıştıralım ve aşağıdaki gibi çıktıları inceleyelim.

  Sol tarafta tıklamadan önceki hali; sağ tarafta ise butona tıkladıktan sonraki hali gösterilmiştir. Butona tıkladıktan sonra diğer sayfaya geçiş yapıyor. Diğer sayfada ise şuan hiçbir araç yok. Biz bütün araçları, konumuzun başından beri anasayfamıza yani activity_main.xml dosyasına ekliyoruz.Bu derste en temel 3 aracı inceledik ve yeni sayfa oluşturmayı, bu sayfaya geçiş yapmayı anlattık.

Android Programlama – Layout Türleri ve Kullanımları

Bu yazımızda uygulamalarımızın görsel arayüzlerini oluştururken sık sık karşılaşacağımız değişik layout türlerinden önemli 3 tanesini göreceğiz.

Page 7: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Layout dosyaları uygulamamızdaki etkinliklerin tasarımını oluşturan dosyalardır. Xml türünde olan bu dosyayı kullanarak etkinliklerimizin nasıl görüntüleneceğine karar verilir. Xml dosyasını elle düzenlemenin yanında bu dosyayı görsel bir şekilde düzenleme imkanına da sahibiz.

LayoutOgren isimli bir proje oluşturarak işe başlıyoruz.

Linear Layout

İlk olarak Linear Layout türünden bahsetmek istiyorum. Biz yeni bir proje oluştururken Eclipse bizim yerimize bir etkinlik oluşturuyor ve bunun içine varsayılan olarak bir linear layout yerleştiriyor. Eclipse sürümüzüne göre bu değişkenlik gösterebilir. Buna dikkat ediniz.Linear Layout nedir? İsminden de anlaşılacağı gibi içerisine eklenecek nesneleri çizgisel (linear) bir şekilde eklemeye yarar. Aşağıdaki ekran görüntüsünde de görüldüğü gibi eklediğimiz TextView nesneleri sırayla alt alta ekleniyorlar.

Xml görünüşüne geçerek oluşturulan kodları görebilirsiniz.

Page 8: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Linear layout kullanarak isterseniz eklediğiniz nesneleri alt alta yerine yan yana da yerleştirebilirsiniz. Bunun için yapmanız gereken orientation özelliğini değiştirmektir. Yazarken Ctrl + Space tuşlarına basarsanız Eclipse’in bize yardımcı olur.

Tekrar görsel tasarım sekmesine geçtiğinizde eklediğiniz nesnelerin alt alta değil de yan yana eklendiğini görebilirsiniz.

Relative Layout

İsminden de anlaşılacağı gibi bu türden layout içerisine eklediğiniz nesneleri istediğiniz bir alana istenilen bir biçimde konumlandırabilirsiniz.

 

Xml görünümündeki kodları yukarıdaki ekran görüntüsünde görüldüğü hale getiriyoruz. Artık

etkinliğimizde linear değil relative layout var.

Görsel tasarım kısmına geçip bir düğme ekleyelim. Ekleme işlemi sırasında farenizi ekranın değişik noktalarına hareket ettirince hizalama bilgileri görünecektir. Bu şekilde relative layout

Page 9: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

kullanarak hem yatayda hem de dikeyde kenarlara ve ortalara hizalı şekilde nesneler ekleyebilirsiniz.

Uygulamanın son halinin xml’i aşağıdaki ekran görüntüsündekine benzer bir şey olmalı.

Table Layout

Bu tür ile ekleyeceğiniz nesneleri bir tabloya yerleştirebilirsiniz. İlk önce relative layout kısmında yaptığımız gibi xml dosyasının içeriğini değiştiriyoruz. Aşağıdaki görüntüdeki kodlarla etkinliğin layout’unu table layout olarak belirliyoruz.

Table layout içine satır eklemek için layout’umuza sol taraftki nesnelerden Layoutskısmından TableRow nesnesini ekliyoruz.

Page 10: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

İki satır ekledikten sonra bu satırlar içine TextView nesneleri ekleyelim.

Gördüğünüz gibi satırlar içine eklenen nesneler yeni bir sütuna yerleştiriliyor. İlk satıra 2 tane, ikinci satıra da 3 tane TextView nesnesi ekledim örnek olarak.

Page 11: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Xml tarafında da gördüğünüz gibi en dışta bir table layout, onun içinde bir table row, onun da içinde eklediğimiz TextView nesneleri var.

Bu derslik bu kadar. Bir sonraki derste görüşmek üzere.

 

Bir yorum yapın

Android (APK) Kodlarını GörmekMart 25, 2013 Android Programlama açık kaynağa erişme , açık kaynak, android, android kodlara erişme, android kodları, android uygulama kodlarını görmek, apk kodlarını görme, apk'dan kodları görme

inShare3

Android geliştiricilerin ve meraklı arkadaşların görmek istediği bir durumdur “APK” dosyalarının kaynak kodlarını görmek. Bildiğiniz gibi Android Özgür Yazılım diye nitelendirilen istediğiniz gibi gelişim sağlayabildiğiniz bir sistemdir.

Page 12: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Sizlere şimdi Android APK dosyalarının Kaynak kodlarını nasıl görebileceğinizi anlatacağım:

Gerekli olan programlar:

DEX2JAR : http://code.google.com/p/dex2jar/downloads/list

jd-gui.exe :  https://dl.dropbox.com/u/91714459/Android%20Programlama/APK%20Source%20Code/jd-gui.exe

 

Belirttiğim 2 programı indirdikten sonra kodlamasını görmek istediğiniz bir APK dosyası seçin ve sırasıyla işlemlere devam edin.

– APK Dosyasını bilgisayarınıza indirin ve ornek.apk isimli dosyanızın sonuna “.zip” ekleyerek Winrar haline dönüştürün.

– Zip haline dönüştürdüğünüz APK dosyasına sağ tıklayarak Dosyaları çıkart komutunu uygulayın.

– Çıkarttığınız “Ornek.Apk” klasörünün içindeki Classes.dex dosyasını daha önceden indirmiş olduğunuz “dex2jar” klasörünün içine atın.

Page 13: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

– Şimdi Başlat – Çalıştır – CMD komut dizinini açın.

– “cd” komutu ile “dex2jar” klasörüne gidin ve klasör içine girdikten sonra şu komutu uygulayın:

“dex2jar classes.dex” (Tırnaklar olmayacak)

– Bu komuttan sonra “classes_dex2jar.jar” diye bir dosya oluşacaktır.

Page 14: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

– Oluşturulan dosya dex2jar klasörünün içindedir

– Classes_dex2jar.jar dosyasını ilk başta indirdiğimiz “Jd-Gui.exe” programı ile indirip Kodlara ulaşabilirsiniz.

 

Page 15: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Kaynak kodlar “Penetration Test” yapan arkadaşlar veya Uygulama geliştirmek isteyen arkadaşlara bir öncülük etmiş olacaktır.

Bir yorum yapın

Android Programlama – Butona Tıkla, Sonuç Al;Mart 15, 2013 Android Programlama android buton işlevi , android dersleri, android programlama, butona tıkla, butona tıkla sonuç al

inShare1

Butona Tıkla, Sonuç Al;

Yapmak istediğimiz şey; Buton ekleyeceğiz,butona tıklayacağız ve ekrana bir şeyler yazdıracağız. Aşağıdaki gibi bir main sınıfı ve main xlm üzerinden düzenlemeler yaparak gideceğiz.

 

Her bir hatanın anlamı vardır. Eclipse ide’si bize bu konuda yardımcı oluyor. Hataların üzerine tıkladığımızda ne gibi çözümler olduğunu bize sıralıyor.

Page 16: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

Layout’a Buton Ekleme

 

Projemizi açtıktan sonra sırasıyla res>>>layout>>>activity_main.xml dosyalarını açıyoruz. Graphical Layout menüsü seçili bir şekilde önümüze geliyor. Form Widgets’i açıp oradan Button’u sürükleyip yandaki beyaz bölgeye bırakıyoruz.

 

Page 17: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

Palette’in sağ tarafındaki aşağı bakan oka tıklayıp “Show icon and text”‘i seçerseniz resimdeki gibi bir palette görünümü elde edersiniz.

 

Page 18: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

Button ve TextView main.xml Ayarları

 

Graphical Layout’un yanındaki activiy_main.xml’e tıklayıp ayarları aşağıdaki gibi yapınız:

 

Page 19: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

TextView zaten kendisi hazır geldiği için,ona sadece bir id eklemeniz gerekir. Ya da hazır geleni silip, graphical layout’tan bir tane textView sürükleyebilirsiniz,bu textView1 id’si ile beraber gelir.

id olayı bu kullanacağımız widgetlerin kimlik numarası gibi bir şey.Bunların üzerine programlama işlemlerini bu id’ler ile gerçekleştireceğiz.

# layout_width, widget’ın genişliği ve layout_height’ta widget’ın boyunu belirtir.

fill_parent>>>ekranı doldurur.

wrap_content>>>içerik kadar doldurur.

 

Son olarak android:text ile bu widget’lara isim veririz.Ekranda hangi ad ile görünmesini istiyorsak, o adı veriyoruz. Stringlerle ilgili sıkıntı olmaması için res>>>values>>>strings.xml ayarlamalarını yapmamız gerekir.

 

 

 

Java ile aktiviteyi programlama

 

Şimdi MainActivity.java’yı tekrar açıp kodlamaya başlayalım.Aşağıdaki resimde olduğu gibi Button ve TextView tipinde objeler oluşturalım.Hatamızı Ctrl+Shift+O’ya basıp,gerekli Button ve TextView sınıflarını kodumuza davet(import) ederek düzeltebiliriz.

Page 20: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

Şimdi de onCreate metodu içinde Button ve TextView’lerimizi layout’tan aldığımız id’ler ile yaratalım.

 

Page 21: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

Butonu İşlev Kazandırma

 

Buton objemiz için setOnClickListener metodunu çağırıp,içinde de parametre olarak onClick metodunu yaratıp içini butonun yapmasını istediğimiz işlemle dolduracağız.

setOnClickListener’ı yazdıktan sonra parantezleri açıp içine new yazın ve ondan sonra Ctrl+Space’ e basıp gelen pencerede viewOnClickListener() ‘ı seçin.

 

Page 22: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

setOnClickListener’ın noktalı virgülü gelmediyse ekleyiveriyoruz.Daha sonra Ctrl+Shift+O yapıp gerekli android.view.View.OnClickListener’ı import ediyoruz.

 

Butona Tıklandığında Yapması Gereken İşlev

Butona tıklanıldığında bize ekranda yeni bir yazı göstermesini istediğimiz için onClick metodu içine textView1 objemiz için setText() metodunu çağırıp ekranda gösterilmesini istediğimiz yazıyı parametre olarak yazıyoruz.Bu yazıyı string>>>value olarakta yapabiliriz ki bu en doğru olanı ama yine de çeşitli gösterim şekillerini görmemiz için bu seferlik böyle yazdım.

Page 23: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

Tamamdır. Artık butonumuz ona tıklanıldığında ne yapacağını biliyor.

 

Tıklamadan Önceki Görünüm

Page 24: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

 

Tıkladıktan Sonraki Görünüm

 

 

 Ders 13: Android Strings.xml KullanımıGÖNDEREN 3K ZAMAN: 21:02 29 OCAK 2012 PAZAR

Page 25: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Şimdiye kadar yaptığımız bütün projelerde, main.xml içerisindeki belirtimlerde,android:text değerini elimizle şipşak yazıverdik.

Android:text=”3k” gibi. Ancak genel kullanım böyle değil. Farz edin ki birçok yerde 3k yazıyor ve bir değişiklik yapıp 3k değerlerini değiştirmeniz, başka bir String yapmanız gerekiyor. Oturup, tek tek 3k yazan yerleri değiştirebilirsiniz. Ama düşünün o kadar çok varki… İşte bunun için, Android bize bir kısayol sunuyor, kolaylık sağlıyor:Strings.xml!

Bu dosya res>values> içerisinde bulunuyor. Şimdi bakalım nasıl kullanıyoruz?

        

İçini ilk açtığımızda bu şekilde gözüküyor:

<?xml version="1.0" encoding="utf-8"?>

<resources>

   

<string name="hello">Hello World,StringsOrnegiActivity!</string>

   <string name="app_name">StringsOrnegi</string>

</resources>

Page 26: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Buradan da anlaşabileceği üzere, <string name=””></string> yapısını kullanıyoruz. Burada name kısmına verdiğimiz değeri değişkenimiz gibi düşünebilirsiniz.<string></string> tagı arasında yazan ise o değişkene karşılık gelen ifade. Yani biz bir başka dosyada ( genelde tasarımı yaptığımız xml dosyasında) bu değişken adını kullandığımızda aslında ona karşılık gelen ifadeyi belirtmiş gibi oluyoruz. Burası biraz karışık gelmiş olabilir, onun için hemen bir örnekle gösterelim:

         Strings.xml içerisine gelelim ve şu kodu yazalım:

<String name="buton">Ben bir butonum</String>

         Main.xml içerisine gelelim ve şu kodu yazalım:

<Button

      android:id="@+id/button"

      android:text="@string/buton"

      android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:layout_gravity="center"/>

Burada her zamanki gibi id, boyut ve yer ataması yaptık. Ama bunlardan farklı olaraktext değerini eskiden yaptığımız gibi belirlemedik.

Page 27: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Android:text=”@string/buton” ifadesinde demek istiyoruz ki; name’i buton olanstringi bul ve text değerine onu ata.Yani aslında text değerini “Ben bir butonum” olarak ata.

Görüntüye bakacak olursak da şöyle görüyoruz:

         Strings.xml i sadece string değişkenleri için kullanmıyoruz. Renk verme işlemini de bunun aracılığı ile gerçekleştirebiliyoruz:

Strings.xml içerisine şu kodu yazıyoruz:

<color name="arkaplan">#4DBDF0</color>

Main.xml içine gelip LinearLayout özelliğimize color’ı ekliyoruz.Böylece arkaplanımız da istediğimiz renk olacak.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical"

    android:background="@color/arkaplan">

Burada @string yerine @color yazdığımıza dikkat edin. Uygulamayı çalıştırdığımızda ise şöyle bir görüntü elde ediyoruz:

Page 28: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Ders 8: Android LinearLayout Uygulaması 2GÖNDEREN 3K ZAMAN: 13:05 27 OCAK 2012 CUMA

LinearLayout’un iyice anlaşılması için yaptığımız bir örnek daha. Bu uygulamada, birLinearLayout containerımız ve EditText,TextView ile Button componentlerimiz olacak.Amacımız EditText’e kullanıcının girdiği veriyi,butona basıldığı anda TextView üzerinde göstermek.

         Main.xml içerisine geliyoruz ve gene öncelikli olarak containerımızı oluşturuyoruz:

<?xml version="1.0"encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical">

Ekranı tamamen kaplayan bir LinearLayout containerı oluşturduk.”Orientation”değerinin “vertical” olması sebebiyle, container içine koyacağımız componentler alt alta dizilecek.

         EditText’imizi oluşturuyoruz:

< EditText

Page 29: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

        android:id="@+id/yazigirisi"

        android:layout_height="wrap_content"

  android:layout_width=”fill_parent" />

Daha sonra bu edittexte, java dökümanı içerisinden ulaşabilmek amacıyla, ID ataması yaptık. Edittext’in genişliği ekranı kaplayacak kadar, boyu ise içeriği kadar olacak şekilde ayarlandı.

         TextView’imizi oluşturuyoruz:

<TextView

        android:id="@+id/goruntule"

        android:text=""

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:textSize="25dp"

        android:textStyle="bold"

        android:textColor="#3399cc" />

Buna da dana sonradan kullanmak üzere ID ataması yaptık. Boyu ve genişliği içeriği kadar olacak şekilde ayarlandı. En başta içine bir şey yazmadığımız için, aslında ekranda yokmuş gibi duracak. İçindeki yazının özelliklerini de“textSize”,”textStyle”,”textColor” değerleri ile ayarladık.

         Butonumuzu oluşturuyoruz:

Page 30: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

<Button

        android:id="@+id/yazdir"

        android:text = "Yazdır"

        android:layout_width="101dp"

        android:layout_height="wrap_content"

        android:layout_gravity="center"

        android:textStyle="bold"/>

Diğerlerinde olduğu gibi butona da ID ataması yaptık, boyutunu ve yerini belirledik.

         Containerımızı kapatmayı unutmuyoruz:

</LinearLayout>

         Container ve componentler ile işimiz bittikten sonra java dökümanına geçip,butonun işlevini belirlememiz gerekiyor. Java dökümanı içine şunları yazıyoruz:

package com.deneme2;

import android.app.Activity;

Page 31: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

public class Deneme2Activity extends Activity implements OnClickListener  {

  /**Called when the activity is first created. */

EditText yazigirisi;

TextView goruntule;

Button yazdir;

   

@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

Page 32: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

       setContentView(R.layout.main);

       yazigirisi = (EditText)findViewById(R.id.yazigirisi);

       goruntule = (TextView)findViewById(R.id.goruntule);       

yazdir = (Button)findViewById (R.id.yazdir);      

yazdir.setOnClickListener(this);   

}

       public void onClick(View arg0) {

// TODO Auto-generated method stub

             goruntule.setText(yazigirisi.getText());

            

       }

       

}

Burada öncelikle import işlemlerini yapmamız gerekiyor. Button,edittext ve textview kullandığımız için bunları import etmek zorundayız,aynı şekilde listener için de import işlemi gerçekleştirmemiz gerekiyor:

Page 33: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

Bir önceki örnekte olduğu gibi bunda da main.xml içerisindeki ID’leri kullanarak componentlere java dökümanı içerisinden ulaşıyoruz:

EditText yazigirisi;

TextView goruntule;

Button yazdir;

yazigirisi = (EditText)findViewById(R.id.yazigirisi);

goruntule = (TextView)findViewById(R.id.goruntule);

yazdir = (Button) findViewById (R.id.yazdir);

Butona tıklandığı zaman işlem gerçekleştireceğimiz için butona listener eklememiz gerekiyor.Java sınıfımızı listener haline getirmek için listenerı implement ediyoruz ve butonumuzun üzerinde de dinleyiciyi ekliyoruz:

implements OnClickListener 

Page 34: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

yazdir.setOnClickListener(this);

En son olarak da butonumuzun yapacağı işlemi yapıyoruz. Edittext içerisindeki yazıyı textview içerisine yazan işlevi sağlıyoruz:

public void onClick(View arg0) {

// TODO Auto-generatedmethod stub

             goruntule.setText(yazigirisi.getText());

            

       }

Uygulamamızın çıktısı ile şu şekilde oluyor:

Ders 7: Android LinearLayout UygulamasıGÖNDEREN 3K ZAMAN: 16:34 26 OCAK 2012 PERŞEMBE

Page 35: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Linearlayout üzerinde componentlerin nasıl yerleştiğini ve componentlerin özelliklerini anlamak için yapılan örnek şöyledir:

         main.xml dosyası açılır.İçerisine ilk olarak şunlar yazılır:

<?xml version="1.0"encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical"

    android:gravity="center_horizontal">

Burada tam ortada bulunan ve ekranı hem dikey hem yatay olarak kaplayan bircontainer oluşturduk. İçerisine yerleştirilecek componentler “orientation” değerinin“vertical” olması sebebiyle alt alta dizilecek.

         Bundan sonra değişik şekillerde butonlar oluşturulur:

İlk olarak, satırı tamamen kaplayan ama yüksekliği içeriği kadar olacak bir buton yaratma:

<Button

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

android:text="Satırı kaplayan tuş" />

Page 36: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

“layout_width” değerinin “fill_parent” olması sebebi ile buton tüm satırı kaplıyor. Buton üzerinde “Satırı kaplayan tuş” yazısı görülecek.

İkinci olarak, içeriği kadar eni ve boyu olan bir buton yaratma:

<Button

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

android:text="Normal boyutta tuş" />

“wrap_content” değerini vererek butonun içeriği kadar bir boyutta olmasını sağlıyoruz. Buton üzerinde “Normal boyutta tuş” yazısı görülecek.

Son olarak spesifik bir boyutta ve padding özelliğine sahip bir buton yaratma:

<Button

       android:layout_width = "250px"

       android:layout_height="wrap_content"

       android:padding = "20px"

android:text="250px genişliğinde,20px paddingli tuş" />

Burada “layout_width” değerine 250px vererek, bu butonun genişliğini sabitledik.”padding” değerine verdiğimiz 20px ile, buton içerisindeki yazı, çerçevesinden 20px daha içeride olacak. Buton üzerinde “250px genişliğinde,20px paddingli tuş” yazısı görülecek.

Page 37: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

         Component olarak bir de radiobuttonlar kullanalım. Radiobutton yaratmadan önce, bu özel butonları içerisine koyacağımız özel bir container oluşturmamız gerekiyor. Bunun adı “RadioGroup”.  Yani ana containerımız içerisinde radiogroup containeri var olacak. Ve bu radiogroup containerı içinde de bizim radiobutonlarımız yer alacak.

<RadioGroup android:id="@+id/radiogroup"

       android:orientation="horizontal"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:padding="5px">

    

<RadioButton

           android:id="@+id/yatay"

           android:layout_weight="1"

           android:text="yatay"/>

      <RadioButton

           android:id="@+id/dikey"

           android:layout_weight="1"

    android:text ="dikey" />     

</RadioGroup>

Page 38: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Burada bir RadioGroup containerı oluşturduk ve buna daha sonra java dökümanı içerisinden erişebilmek için “radiogroup” Id’sini verdik.”Orientation” değerinin“horizontal” olması sebebi ile içerisine koyacağımız radiobuttonlar yan yana dizilecek. Ayrıca bu container “layout_width” değerinin “fill_parent” olması sebebi ile bulunduğu satırı tamamen kaplayacak.

Containerı oluşturduktan sonra, içerisine koyacağımız radiobutton componentlerini oluşturuyoruz. Her iki butonda da “layout_weight” değerine 1 vererek, her ikisinin de satırda eşit boyutta görünmesi sağladık. Yani containerı eşit olarak paylaştılar. Her ikisine de, daha sonra java dökümanı içerisinden erişebilmek için ID ataması yaptık. Birinin yanında “yatay” yazısı görünecekken diğerinin yanında “dikey” yazısı görülecek.

         En son olarak da LinearLayout tagını kapamayı unutmuyoruz.

</LinearLayout>

         Artık main.xml içerisindeki işimiz bitti.İstediğimiz componentleri oluşturduk.Artık sıra,uygulamayı ilk oluşturduğumuzda oluşan xxxxActivity.java (xxxx kısmı sizin uygulamada kullandığınız isme göre değişiklik gösterir) dosyası ile oynamak. Bu dosya içerisine şu kodları yazıyoruz:

package com.deneme;

Page 39: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

import android.app.Activity;

import android.os.Bundle;

import android.widget.LinearLayout;

import android.widget.RadioGroup;

public class DenemeActivity extends Activity implements

RadioGroup.OnCheckedChangeListener {

   /**Called when the activity is first created. */

       RadioGroup radiogroup;

  

@Override

public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);      

setContentView(R.layout.main);

radiogroup=(RadioGroup)findViewById(R.id.radiogroup);

radiogroup.setOnCheckedChangeListener(this);

        

Page 40: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

}

public void onCheckedChanged(RadioGroup group, int checkedId) {

// TODO Auto-generated method stub      

             if(group==radiogroup)

   {

         if(checkedId == R.id.yatay)

                radiogroup.setOrientation(LinearLayout.HORIZONTAL);

         else

            radiogroup.setOrientation(LinearLayout.VERTICAL);            

   }

       }

Page 41: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

}

Kullandığımız containerlar için import işlemi yapmamız gerekiyor. LinearLayout ve RadioGroup için

import android.widget.LinearLayout;

import android.widget.RadioGroup;

satırlarını eklememiz gerekiyor.

RadioButtonlardan herhangi biri seçildiğinde, işlem yapmak istediğimiz için dinleyici sınıfı implement etmemiz gerekiyor.

implements RadioGroup.OnCheckedChangeListener

Dinleyici sınıfı RadioGroup üzerine yerleştirerek, işlemlerin o grup içerisinden yapılan bir seçimde gerçekleşeğini belirlemek istiyoruz. Main.xml içerisinde yazmış olan RadioGroup’a erişmek için ona verdiğimiz ID’yi kullanıyoruz ve onu burada bir değişkene atıyoruz. Daha sonra da dinleyiciyi üzerine yerleştiriyoruz.

RadioGroup radiogroup;

radiogroup=(RadioGroup)findViewById(R.id.radiogroup);

radiogroup.setOnCheckedChangeListener(this);

Page 42: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

Bu yerleşimi gerçekleştirdikten sonra, seçimin sonucunda ne yapılacağını belirlememiz gerekiyor. Bu örnekte RadioGroup içerisinde eğer yatay butonu seçilirse, butonlar yatay olarak dizilecek ( zaten en başta da böyle belirlediğimiz için bir değişiklik olmayacak), dikey butonu seçilirse de butonlar dikey olarak dizilecek. Bu butonlara ulaşmak için ise yine main.xml içerisinde bunlara atadığımız ID’lerden faydalanıyoruz.

public void onCheckedChanged(RadioGroup group, int checkedId) {

             // TODO Auto-generated method stub

       

             if(group==radiogroup)  

   {

   

         if(checkedId == R.id.yatay)

                radiogroup.setOrientation(LinearLayout.HORIZONTAL);

         else

               

radiogroup.setOrientation(LinearLayout.VERTICAL);             

   }

Page 43: Web viewFakat bir biraz önce oluşturduğumuz sayfanın da bir şekilde açılıp açılmadığını kontrol ... Bu araçları eklediğimizde yukarıda otomatik

           

       }

Unutmayın, istediğiniz componente dinleyici uygulayarak işlem gerçekleştirebilirsiniz. Burada sadece RadioGroup üzerine dinleyici (listener) eklenmiştir. 

Uygulama şu şekilde görülecektir: