Android’e Giriş (EditText , TextView)
İlk olarak arkdaslar arkadaşlar eclipse platformunda uygulamamızdaki bazı dosyaların ne işe yaradığı hakkında birkaç bilgi yazacagım .
Src : Kaynak (source ) kodlarının bulunduğu dizindir .Bu dizinde java kodları bulunur.
Gen (Generated java files ) : bunun içinde R class i bulunmaktadır . R.java dosyası üzerinde geliştiricilerin değişiklik yapması engellenmiştir. Bu dosyanın asıl amacı projeye eklenen kaynakların isimleri ve xml ayar dosyalarının bilgileri tutar , res dizininde değişiklik yapıldığında otomatik olarak kendini günceller. Bazı durumalrda ise yani sürekli xml değişiklik durumunda ise bazen kendini güncelleştirmede yavaş olabilir bu zamanda ise geliştiricinin uygulamayı clean ile bu hatayı giderebilir.
Res : Kaynaklar (resources) için ayrılmış dizindir . Bu dizinde resimler , ikonlar ,xml tema ve ayar dosyaları konulur.
AndroidManifest.xml : Geliştricinin uygulamasındaki tüm önemli ayarlar burada bulunur . Activity’ler intent’ler , uygulamanın erişim izinleri bu dosya üzerinde ayarlanır.
Default.properties: Uygulamanın SDK versiyonu ile çalışsacağı bilgisinin tutulduğu dosyadır.
Proguard.cfg: Uygulama kodlarına birkaç performans optimizasyonu yapar , kodun şifrelenmesi ve uygulamanın lisanslanmasını sağlar.
Bazı şeyleri açıkladıktan sonra arkadaşlar ilk giriş için bir örnek yapalım . Misal olarak bir EditText ‘e yazdığımız bir değeri TextView’e yazdıralım .
Bunun için arkadaşlar ilk olarak bize lazım olacak kompanentleri belirleyelim .
-TextView , EditText ve Button ekliyelim …
Eklemek için laouyt klasörünün içindeki main.xml dosyasını açıyoruz ve kompanentlerimiz ve interface olarak karşımıza ekran görüntümüz geliyor burada paletten kompanentlerimizi alıp ekranımıza yerleştiriyoruz..
Ekranımızın xml çıktısı. ilk başlarda xml taglarını kullanarak kompanentlerimizi oluşturmamızın bize kompanentlerimiz üzerinde daha çok kontrol sağlamamızı ve nasıl çalışıtığını daha iyi anlmamamızı sağlar.
Şimdi gelelim java sınıfımıza :
Yukarıdaki kodları açıklayalım…
Biliyorsunuzki android ‘te proje yaparken activityler oluşturarak çalşırız. Java Class ‘ımıza ilk olarak Activity classını extends ediyoruz ve bu classın birçok hazır methotları mevcut bize şimdilik onCreate methotu yeterli onu Override ediyoruz ve içini doldurmaya başıyoruz.
İlk olarak kompanentlerimizi tek tek tanımlıyoruz ;
TextView textView = (TextView) findViewById(R.id.textView1);
Birtane TextView değişkeni olusturuyoruz ve findViewById main.xml dosyasında olusturdugumuz kompanentin id ‘sini değişkenimize atıyoruz.
Öbür kompanentler içinde aynısını oluşturuyoruz.Bunu yapmamızın sebebi ekranda gözüken tüm kompanentlerimizi sınıfımızda kontrol etmek içindir.
Button değişkenimizide aynı şekilde yaptıktan sonra değişkenimizin setOnClickListener diye bir methotu var bunu çağırıyoruz .
Bunu yaptığımızda otomatik olarak onClick methotunu bizden Override etmemizi istiyor ki buton’a tıklandığı zaman ne yapsın .
Bu methotun içinide şu şekilde yazıyoruz .
textView.setText(editText.getText());
Burada ne yapıyor textView değişkenimize editText’ten gelen değeri aktarıyor .
Ve Uygulamamızı Çalıştıralım …
Umarım Açık Olmuştur
Bir Sonraki Anlatımımda Yeni Sayfa Oluşturma ve Sayfalar Arası Geçişin Nasıl Olduğunu Anlatacağım
İyi Çalışmalar …
Hocam anlatımınız için teşekkürler. Android programlamada yeniyim. Başlangıçta bir sorun ile karşıaştım. Normalde otomatik olarak oluşması gereken R.java dosyası bende oluşmuyor, bu neden kaynaklanabilir?
ne kullaniyorsunuz siz eclipse mi ?
ne kullaniyorsun sen eclipse mi ?
Merhaba hocam bende de aynı sorun var nasıl halledebilirim? (Ben Eclipse Juno kullanıyorum)
Clean ettikten sonra tekrar build edemiyorsanız, gen klasörü altındaki R.java oluşmuyorsa, en temel sebep XML’lerden bir tanesinin hatalı olmasıdır. Eclipse clean ederken, R. java dosyasını tekrardan oluşturur, bu da haliyle XML dosyalarınızın içeriğini alır. Genelde Clean / build edince sorun çözülür ya da Eclipse’i tekrar başlatınca sorun gider diye söyleniyor, ama maalesef XML dosyası hatalı ise, bu sorun devam eder. XML hatalı ise neden kırmızı ile göstermiyor diyebilirsiniz, bunu da Eclipse’e sorun Maalesef bazen hatalı birşeyler olmasına karşın bunu hata olarak göstermiyor.
Benim de başıma bu hata çoğu kez geldi, ilkinde projeyi tekrar oluşturdum, ikincisinde artık buna bir çözüm gerektiğine inandım. Siz de projeyi tekrar oluşturmak yerine önce tüm XML leri baştan sonra bir kontrol edin. %90 hatayı bulmuş olacaksınız.
iyi günler hocam benimde bir sorunum var yardımcı olursanız sevinirim.eklediğim butonlar textview ler r.java dosyasında gözükmüyor böylece butona id ile ulaşamıyorum….
TextView textView = (TextView) findViewById(R.id.textView);
buradaki R.id textView gelmiyor
Clean ettikten sonra tekrar build edemiyorsanız, gen klasörü altındaki R.java oluşmuyorsa, en temel sebep XML’lerden bir tanesinin hatalı olmasıdır. Eclipse clean ederken, R. java dosyasını tekrardan oluşturur, bu da haliyle XML dosyalarınızın içeriğini alır. Genelde Clean / build edince sorun çözülür ya da Eclipse’i tekrar başlatınca sorun gider diye söyleniyor, ama maalesef XML dosyası hatalı ise, bu sorun devam eder. XML hatalı ise neden kırmızı ile göstermiyor diyebilirsiniz, bunu da Eclipse’e sorun Maalesef bazen hatalı birşeyler olmasına karşın bunu hata olarak göstermiyor.
Projeyi tekrar oluşturmak yerine önce tüm XML leri baştan sonra bir kontrol edin. %90 hatayı bulmuş olacaksınız.