import android.widget.RadioGroup

advertisement
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.
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.
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.
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.
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.
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.
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.
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
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.
İ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.
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örmek
Mart 25, 2013Android Programlamaaçı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.
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
jdgui.exe : https://dl.dropbox.com/u/91714459/Android%20Programlama/APK%20Source%20
Code/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.
– Ş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.
– 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.
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, 2013Android Programlamaandroid 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.
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.
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.
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:
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.
Şimdi de onCreate metodu içinde Button ve TextView’lerimizi layout’tan aldığımız id’ler ile
yaratalım.
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.
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.
Tamamdır. Artık butonumuz ona tıklanıldığında ne yapacağını biliyor.
Tıklamadan Önceki Görünüm
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
Ş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
kullanıyoruz?
bulunuyor.
Şimdi
bakalım
nasıl

İç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>
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.
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
çalıştırdığımızda ise şöyle bir görüntü elde ediyoruz:
Ders 8: Android LinearLayout
Uygulaması 2
GÖNDEREN 3K ZAMAN: 13:05 27 OCAK 2012 CUMA
edin.
Uygulamayı
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
oluşturduk.”Orientation”değerinin “vertical” olması
container içine koyacağımız componentler alt alta dizilecek.

EditText’imizi oluşturuyoruz:
<EditText
android:id="@+id/yazigirisi"
android:layout_height="wrap_content"
android:layout_width=”fill_parent" />
containerı
sebebiyle,
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:
<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;
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);
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:
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
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
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ş" />
“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.

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>
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.
container “layout_width” değerinin “fill_parent” olması
Ayrıca
sebebi
bu
ile
bulunduğu satırı tamamen kaplayacak.
Containerı
oluşturduktan
componentlerini
sonra,
içerisine
oluşturuyoruz.
koyacağımız
Her
iki
radiobutton
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
oluşturduk.Artık
içerisindeki
işimiz
sıra,uygulamayı
ilk
bitti.İstediğimiz
componentleri
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;
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);
}
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);
}
}
}
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);
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);
}
}
Unutmayın,
istediğiniz
gerçekleştirebilirsiniz.
componente
Burada
(listener) eklenmiştir.
Uygulama şu şekilde görülecektir:
sadece
dinleyici
RadioGroup
uygulayarak
üzerine
işlem
dinleyici
Download