Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net

Anasayfa - Mobil - Android Programlama Ders 7: Buton Örneklerde Android’e Olayların İşlenmesi

Android Programlama Ders 7: Buton Örneklerde Android’e Olayların İşlenmesi

11 Nisan 2013 - 18:15
- Mobil, Teknoloji

Android Programlama öğrenmeye devam ediyoruz. Bu derste butona basıldığında olayların işletilmesini öğreneceğiz.

Yeni  bir proje oluşturalım:

  • Project name: P007-OnClickButtons
  • Build Target:Android 4.2
  • Application name: OnClickButtons
  • Package name: tr.androidApp.OnClickButtons
  • Create Activity: MainActivity

 

Layout klasöründe main.xml dosyaya aşağıdaki kodları kopyalayalım.

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:orientation=”horizontal”>
<LinearLayout
android:id=”@+id/linearLayout1″
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:layout_margin=”30dp”
android:orientation=”vertical”>
<TextView
android:id=”@+id/tvOut”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_gravity=”center_horizontal”
android:layout_marginBottom=”50dp”
android:text=”TextView”>
</TextView>
<Button
android:id=”@+id/btnOk”
android:layout_width=”100dp”
android:layout_height=”wrap_content”
android:layout_gravity=”center_horizontal”
android:text=”OK”>
</Button>
<Button
android:id=”@+id/btnCancel”
android:layout_width=”100dp”
android:layout_height=”wrap_content”
android:layout_gravity=”center_horizontal”
android:text=”Cancel”>
</Button>
</LinearLayout>
</LinearLayout>

 

Kodu kopyaladıktan sonra Graphical Layout içinde bir tane TextView ve iki tane buton olacaktır (OK ve Cancel). Ok butonuna basıldığında TextView :  “Ok butona bastınız” mesajı verecektir. Cancel butonuna basıldığı zaman TextView:  “Cancel butona bastınız” mesajı verecektir.

MainActivity.java dosyayı açalım. Değişkenlerin belirlenmesi OnCreate metodu dışında yaptık. Bunu neden yaptık? Diye sorabilirsiniz. Bu nesneleri (değişkenleri) başka metodlardan  (fonksiyondan) kullanmak için bunu yaptık. OnCreate metodunda findViewById kullanarak bu nesnelere değeri atacağız. Bunları yaptıktan sonra aşağıdaki gibi bir kod oluşacaktır.

package tr.androidApp.OnClickButtons;

 

import android.app.Activity;

import android.os.Bundle;

import android.widget.Button;

import android.widget.TextView;

 

public class MainActivity extends Activity {

 

TextView tvOut;

Button btnOk;

Button btnCancel;

 

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

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

 

// View-nesneleri buluyoruz ve değişkenlere atıyoruz

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

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

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

 

}

}

Import bölümünü güncellememiz gerekiyor (CTRL+SHIFT+O). Son kodların satırları  tvOut, btnOk ve btnCancel  View nesnelerin özelliğini alıyorlar ve biz bu değişkenleri View nesneleri olarak kullanabiliriz. Şimdi butonları etkinleştirelim. Bunu yapmak için setOnClickListener (View.OnClickListener l) metodu kullanacağız. Giriş için arayüzü (İnterfaces ) View.OnClickListener  nesne  kullanacağız.

OnClickListener oclBtnOk = new OnClickListener() {
       @Override
       public void onClick(View v) {
         // TODO Auto-generated method stub

       }
     };

 

Eclipse OnClickListener kırmızı çizgiyle işaretleniyor.

 onClickListenerRedUnderline

 

Çünkü Eclipse OnClickListener’i daha tanımıyor. Import bölümü güncelleyelim (CTRL+SHIFT+O) basıyoruz. Eclipse iki OnClickListener ara yüzü tanıdığını gösteriyor. Bize gerekli olan View.OnClickListener.

Çünkü setOnClickListener View.OnClickListener’i giriş olarak kullanıyor.

onClickListenerChoice

 

Az önce yeni oclBtnOk nesnesini oluşturduk. Bu nesne View.OnClickListener arayüzü kullanıyor. oclBtnOk nesnesi onClick metodu içeriyor.  Butona basıldığında bu metodu çalışacaktır. Uygulamada Ok butonuna basıldığı zaman TextView (TvOut) :  “Ok butona bastınız” mesajı verecektir. Bunu gerçekleştirelim.

OnClick metodunda aşağıda yazdığım gibi kodu yazınız:

tvOut.setText("Ok butona bastınız ");

İşlem hazırdır. Şimdi setOnClickListener kullanarak onu butona bağlayalım.

btnOk.setOnClickListener(oclBtnOk);

Sonunda aşağıdaki gibi bir kod bloku oluşmalı:

package tr.androidApp.OnClickButtons;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

 

public class MainActivity extends Activity {

 

TextView tvOut;

Button btnOk;

Button btnCancel;

 

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

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

 

// View-nesneleri buluyoruz

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

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

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

OnClickListener oclBtnOk = new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

tvOut.setText(“Ok butona bastiniz “);

}

};

btnOk.setOnClickListener(oclBtnOk);

}

}

Kaydedelim ve çalıştıralım. Sonra Ok butonuna basıldığı zaman karşımıza böyle bir pencere gelecektir.

BtnOk

Cancel butonuna basıldığı zaman hiçbir şey olmuyor. Çünkü Cancel butonu için bir etkileşim yaratmadık. Bunu Ok butonda gibi kodları yazalım:

    OnClickListener oclBtnCancel = new OnClickListener() {
       @Override
       public void onClick(View v) {
         //TextView içeriği değiştiriyoruz (tvOut)
         tvOut.setText("Cancel butona bastiniz");
       }
     };

Sonra onu butona bağlıyoruz:

btnCancel.setOnClickListener(oclBtnCancel);

Kaydediyoruz,çalıştırıyoruz ve kontrol ediyoruz. Artık iki butonu etkinleştirdik.

Şimdi daha önce adımları tekrarlayalım. Buton kendi kendine bir şey yapamıyor.Onu etkili hale getirmek  için bir işletici yaratmamız gerekiyor. İlk önce bir dinleyici(listener) yaratmamız gerekir. Bunu yapmak için setOnClickListener metodu kullanıyoruz. Butona basıldığı anda dinleyici OnClick metodu kullanarak yazdığımız kodları çalıştıracak.

Ders Sonu Notları:

Bu dersimizde sizlerle birlikte butonu nasıl aktif haline getirmeyi öğrendik.

Sonraki dersimizde bir işletici birkaç tane View nesneleri  nasıl işletebilmesi öğreneceğiz.Yeni derslerde görüşmek üzere Technopat’ı takip etmeye devam edin…

Android Programlamaya Giriş Ders 1: SDK Kurulumu ve Ayarları

Android Programlamaya Giriş Ders 2: AVD Kurulumu ve ilk Projenin Çalıştırılması

Android Programlamaya Giriş Ders 3: Ekranın Nesneleri ve Nesnelerin Özellikleri

Android Programlama Ders 4: Layout-dosya, XML Kodlama ve Ekranın Pozisyonu

Android Programlama Ders 5: Layout Çeşitleri

Android Programlama Ders 6: Kod İçerisinden View Nesneleriyle Çalışma

Etiketler: findViewByIdgraphical layoutimportİnterfacesMainActivity.javaonCreatepackagesetOnClickListenerView.OnClickListener
Paylaş3PaylaşTweetYollaPaylaş
Victor Cuiumju

Victor Cuiumju

Yorumlar 3

  1. Vural Ç. says:
    12 yıl önce

    Merhaba,
    Android konusundaki verdiğiniz bilgiler gerçekten güzel. bu dersiniz ile ilgili soru sormak istiyorum. Türkçe karakter sorununu nasıl çözeriz.

    Teşekkürler…

    Yanıtla
    • Vitiok Cuiumjik says:
      12 yıl önce

      Eğer Türkçe karakterleri kullanmak istiyorsan projeyi kaydederken (Ctr+Shift+S) Save As UTF-8 seçeneği seçeceksin.

      Yanıtla
  2. Hamza A. says:
    12 yıl önce

    Anlatım için teşekkürler. Fakat bu sayfadaki kodlarda karakter sorunu var sanırım. Örneğin ilk satırda “” kısmında tırnak işaretlerini silip, kendim yeniden yazınca koddaki hata düzeliyor. Diğer satırlarda da bu tarz durumlar mevcut. Problemi nasıl çözebilirim?

    Yanıtla

Yorum Yap Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

RSS Technopat Sosyal

  • Renault Kangoo 2024 alınır mı?
  • Bannerlord SubModule.xml hatası
  • HP EliteBook 8440p laptop açılmıyor ve bip sesi çıkartıyor
  • Vatan'daki R5 7500F 5060 sistem alınır mı?
  • 2000 ₺ ye kulaklık önerisi
  • Hangi laptop tercih edilmeli?
  • Dell G3 3579 laptopun işlemcisi 90-100 derece oluyor
  • Last of Us bittiğinden beri oyunlardan zevk alınamıyor
  • Laptop almak için doğru bir zaman mı?
  • Seat Ibiza CarPlay nasıl aktifleştirilir?

Technopat Video

Şu an oynayan

Apple Watch’u bambaşka bir seviyeye taşıyan 5 uygulama

Apple Watch’u bambaşka bir seviyeye taşıyan 5 uygulama

Apple Watch’u bambaşka bir seviyeye taşıyan 5 uygulama

Akıllı Saat
Huawei Watch GT 6 Pro

Apple’ı 20’ye katlayan saat! Huawei Watch GT 6 Pro incelemesi

Akıllı Saat
Technopat ofisi Eylül ayında neler aldı? 

Technopat ofisi Eylül ayında neler aldı? 

Giyilebilir Teknoloji

Teknoloji tutkunu Technopatların ortak adresi: Technopat.net!

Güncel teknoloji, internet, donanım, yazılım, oyun ve daha fazlası haber, makale ve videolar ile Technopat’ta sizlerle.


01010100 01100101 01100011 01101000 01101110 01101111 01110000 01100001 01110100

Kategoriler

  • Yapay Zeka
  • Ev Teknolojileri
  • Makale
  • Video

Sosyal Medya

Bağlantılar

  • Hakkında
  • Haber
  • Video
  • Sosyal
  • Çerez Politikası
© 2011-2025 Technopat. Tüm Hakları Saklıdır.
Netse
Çerez Onayı
Web sitemizi ziyaret ettiğinizde, kullanıcı deneyiminizi daha iyi hale getirmek, hizmetlerimizi size daha etkin bir şekilde sunabilmek için çerezler (cookies) ve benzeri araçlar kullanıyoruz. Çerezler, internet sitesinin düzgün çalışmasını sağlamak, içeriği kişiselleştirmek, sosyal medya özellikleri sağlamak ve trafik analizi yapmak için kullanılan küçük metin dosyalarıdır. Çerezleri nasıl kullandığımız ve kişisel verilerinizi nasıl işlediğimiz hakkında daha fazla bilgi almak için çerez politikamızı ve kişisel veri politikamızı inceleyebilirsiniz.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, sadece kullanıcının açıkça talep ettiği belirli bir hizmetin kullanılmasını sağlama amacıyla veya iletişimin elektronik iletişim ağı üzerinden iletilmesinin tek amacıyla yasal olarak kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından istenmeyen tercihlerin depolanması yasal amacıyla gereklidir.
İstatistikler
Sadece istatistiksel amaçlarla kullanılan teknik depolama veya erişim. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Pazarlama
Teknik depolama veya erişim, reklam gönderimi için kullanıcı profilleri oluşturmak veya kullanıcıyı bir web sitesinde veya birden fazla web sitesinde benzer pazarlama amaçları için takip etmek amacıyla gereklidir.
Seçenekleri yönet Hizmetleri yönetin {vendor_count} satıcılarını yönetin Bu amaçlar hakkında daha fazla bilgi edinin
Tercihleri yönet
{title} {title} {title}
Onayı Yönet
En iyi deneyimleri sunmak için, cihaz bilgilerini saklamak ve/veya bunlara erişmek amacıyla çerezler gibi teknolojiler kullanıyoruz. Bu teknolojilere izin vermek, bu sitedeki tarama davranışı veya benzersiz kimlikler gibi verileri işlememize izin verecektir. Onay vermemek veya onayı geri çekmek, belirli özellikleri ve işlevleri olumsuz etkileyebilir.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, abone veya kullanıcı tarafından açıkça talep edilen belirli bir hizmetin kullanılmasını sağlamak veya bir elektronik iletişim ağı üzerinden bir iletişimin iletimini gerçekleştirmek amacıyla meşru bir amaç için kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından talep edilmeyen tercihlerin saklanmasının meşru amacı için gereklidir.
İstatistik
Sadece istatistiksel amaçlar için kullanılan teknik depolama veya erişim. Sadece anonim istatistiksel amaçlar için kullanılan teknik depolama veya erişim. Mahkeme celbi, İnternet Hizmet Sağlayıcınızın gönüllü uyumu veya üçüncü bir taraftan ek kayıtlar olmadan, yalnızca bu amaçla depolanan veya alınan bilgiler genellikle kimliğinizi belirlemek için kullanılamaz.
Pazarlama
Teknik depolama veya erişim, reklam göndermek için kullanıcı profilleri oluşturmak veya benzer pazarlama amaçları için kullanıcıyı bir web sitesinde veya birkaç web sitesinde izlemek için gereklidir.
Seçenekleri yönet Hizmetleri yönetin {vendor_count} satıcılarını yönetin Bu amaçlar hakkında daha fazla bilgi edinin
Tercihleri görüntüle
{title} {title} {title}
Sonuç bulunamadı
Bütün Sonuçları Göster
  • Giriş
  • Teknoloji Haberleri
  • Sosyal
  • Video
  • Tavsiyeler
  • İncelemeler
    • Video İncelemeler
  • Güvenlik
  • Oyun
  • Makale
    • Pratik
    • Yazar Köşeleri

© 2025 Technopat
Sorularınız için Technopat Sosyal