Android Programlama Ders 32: Etkileşimden Sonuç Almak - Technopat
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
    • Nasıl Yapılır
    • 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
  • CES 2026
  • Sosyal
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Nasıl Yapılır
    • 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
  • CES 2026
  • Sosyal
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net

Anasayfa - Makale - Pratik - Android Programlama Ders 32: Etkileşimden Sonuç Almak

Android Programlama Ders 32: Etkileşimden Sonuç Almak

8 Nisan 2014 - 13:00
- Mobil, Pratik

Android Programlama Ders 32‘de StartActivityForResult metodu kullanarak etkileşimden sonucu almayı öğreneceğiz.

Bazen etkileşimi (Activity) çağırıp bir şey yapıyoruz ve sonucu almamız gerekiyor. Mesela cep telefondan mesaj göndereceğimiz zaman gönderilecek kişiyi listeden seçiyor ve mesajı gönderiyoruz. Burada liste çağırıldığı zaman yeni etkileşimi çağırıyorsunuz ve sonuç olarak bu etkileşim size seçilen kişiyi gönderiyor.

Daha ayrıntılı buradan ve buradan  okuyabilirsiniz.

Uygulamayı oluşturup bu konuyu daha ayrıntılı inceleyelim. Uygulamamız iki ekrandan oluşacak. Birinci ekrandan ikinci ekranı çağrılacak. İkinci ekranda verileri girip birinci ekrana göndereceğiz. Mesela giriş alanında kişinin isminin girilmesini isteyeceğiz.

Yeni bir proje oluşturalım:

  • Project name: P0032_SimpleActivityResult
  • Build Target: Android 4.2
  • Application name: SimpleActivityResult
  • Package name: tr.example. SimpleActivityResult
  • Create Activity: MainActivity

Main.xml’i açalım ve ekranı oluşturalım:

<?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">
 <Button
 android:id="@+id/btnName"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center_horizontal"
 android:layout_margin="20dp"
 android:text="Input name">
 </Button>
 <TextView
 android:id="@+id/tvName"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center_horizontal"
 android:text="Your name is ">
 </TextView>
 </LinearLayout>

Ekranda TextView ismini gösterecek ve buton ikinci etkileşimi çağrılacak.

MainActivity.java dosyasını açıyoruz ve kodu yazıyoruz.

import android.app.Activity;
import android.content.Intent;
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 implements OnClickListener {

  TextView tvName;
  Button btnName;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        tvName = (TextView) findViewById(R.id.tvName);
        btnName = (Button) findViewById(R.id.btnName);
        btnName.setOnClickListener(this);

    }

  @Override
  public void onClick(View v) {
    Intent intent = new Intent(this, NameActivity.class);
    startActivityForResult(intent, 1);
  }

  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (data == null) {return;
 String name = data.getStringExtra("name");
tvName.setText("Your name is " + name);
}
}

TextView, butonu belirtiyoruz ve işletici ayarlıyoruz. OnClick metodunda Intent’i oluşturuyoruz ve ikinci etkileşimin klasını belirtiyoruz. Intent’i göndermek için startActivityForResult kullanıyoruz. StartActivityFor Result kullandığımız zaman MainActivity etkileşim NameActivity için ana etkileşim oluyor. NameActivity kapandığı zaman MainActivity etkileşimde onActivityResult metodu çalıştırılıyor. onActivityResult startActivityForResult’ın açıldığını, etkileşimin kapandığını sinyal veriyor.

startActivityForResult parametre olarak Intent ve requestCode gönderiyor. requestCode – tanımlamak için gereklidir. Bu derste onu belirleyeceğiz (requestCode = 1) ve sonraki derste onun amacını ayrıntılı açıklayacağız.

onActivityResult’a aşağıdaki verdiğim parametreleri görebiliyorsunuz:

requestCode – startActivityForResult’taki gibi tanımlayıcıdır. Onu kullanarak hangi etkileşimden (Activity) geldiğini belirtiyoruz.

resultCode – dönüş kodu. Çağrının başarılı olup olmadığını kontrol ediyor.

data – gönderen verileri Intent’i içeriyor.

requestCode ve resultCode şu anda kullanmayacağız. Gelecek derste daha ayrıntılı ilgileneceğiz. data’yı kullanarak name (İsim) nesneyi alacağız ve TextView’de değeri göstereceğiz.

name.xml ekranı oluşturalı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="vertical">
<LinearLayout
 android:id="@+id/linearLayout1"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_margin="10dp">
<TextView
 android:id="@+id/textView1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Name">
</TextView>
<EditText
 android:id="@+id/etName"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginLeft="10dp"
 android:layout_weight="1">
<requestFocus>
</requestFocus>
</EditText>
</LinearLayout>
<Button
 android:id="@+id/btnOK"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center_horizontal"
 android:text="OK">
</Button>
</LinearLayout>

Yukarıdaki kodda ekranda giriş alanında ismi gireceğiz ve Ok butonuna basacağız.

NameActivity klası oluşturuyoruz ve Manifest dosyasında onu kayıt ediyoruz:

 

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class NameActivity extends Activity implements OnClickListener {

  EditText etName;
  Button btnOK;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.name);

    etName = (EditText) findViewById(R.id.etName);
    btnOK = (Button) findViewById(R.id.btnOK);
    btnOK.setOnClickListener(this);
  }

  @Override
  public void onClick(View v) {
    Intent intent = new Intent();
    intent.putExtra("name", etName.getText().toString());
    setResult(RESULT_OK, intent);
    finish();
  }
}

OnClick metodunda Intent’i oluşturuyoruz ve giriş alanından (etName) verileri Intent’e yerleştiriyoruz. setResult metodu intent’i ana etkileşime (MainActivity) gönderiyor. Ve RESULT_OK parametre çağrının başarılı olduğunu belirtiyor. Bu parametre resultCode’a gönderiliyor. finish metodu kullanarak NameActivity etkileşiminin çalışmasını bitiriyoruz. Ve sonuç MainActivity’e gönderiliyor. Manifest dosyasında NameActivity etkileşimini kaydetmeyi unutmuyoruz.

Kaydedelim ve çalıştıralım. Birinci ekranı görüyoruz:

firstActivity

İsmi girmek için butona basıyoruz.

İsmi giriyoruz ve OK butonuna basıyoruz.

OmerAslan

Sonucu gösteren birinci ekranı (MainActiivity) görüyoruz.

secondActivity

 

Ders Sonu Notları:

Bu derste MainActivity’de  Intent’i oluşturduk. Intent’e (Explicit Intent– Açık niyeti) NameActivity etkileşimi belirtik. startActivityForResult metodu kullanarak Intent’i çalıştırdık. NameActivity etkileşimde giriş alanında ismi girdikten sonra OK butonuna bastık. Intent oluştu ve bu Intent girdiğimiz ismi tutuyor. setResult metodu bu Intent’i ana etkileşime (MainActivity) gönderiyor. MainActivity etkileşimde alan sonucu onActivityResult metodu gerçekleşiyor. Burada Intent’i açıyoruz ve gönderen verileri TextView kullanarak ekranda gösteriyoruz.

Sonraki derste onActivityResult metodunda bulunan requestCode ve resultCode parametreleri detaylı inceleceğiz.

 

 

Etiketler: AndroidAndroid programlamadatadersIntentonActivityResultprogramlamarequestCodeResult_OKresultCodeSeriStartActivityForResultteknolojiuygulamaYazılımyeni
Paylaş6PaylaşTweetYollaPaylaş
Victor Cuiumju

Victor Cuiumju

Yorum Yap Yanıtı iptal et

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

RSS Technopat Sosyal

  • Uzun boylu birisi için 80 bin TL'ye kadar başlangıç motoru önerisi
  • Xiaomi Redmi Note 13 Pro vs 12 Pro vs Samsung A Serisi
  • i5 14600KF MSI 5060 darboğaz yapar mı?
  • ASUS B450-M Pro sisteme RAM takınca açılmıyor
  • Jumbum güvenilir mi?
  • PlayStation 3 oyunları görmüyor
  • Hot Wheels yurt dışı uzun kart Ferrari - 920 TL
  • Askerlik 2 defa mezuna kalınmasına engel mi?
  • Vesveseden nasıl kurtulunur?
  • Galaxy Z Fold 7 rakibi Motorola Razr Fold tanıtıldı!

Technopat Video

Şu an oynayan

iPhone 17 Pro’da 4 saat ProRes kayıt! Kioxia Exceria Plus G2 Portable SSD incelemesi

Kioxia Exceria Plus G2 Portable SSD incelemesi

iPhone 17 Pro’da 4 saat ProRes kayıt! Kioxia Exceria Plus G2 Portable SSD incelemesi

Haber
Xbox ve PC için e-Spor odaklı kontrolcü: Razer Wolverine V3 Pro incelemesi!

Xbox ve PC için e-Spor odaklı kontrolcü: Razer Wolverine V3 Pro incelemesi!

Haber
Mantar RAM’den 25 Gbps ev internetine: Yeni yılın ilk T Raporu yayında!

Mantar RAM’den 25 Gbps ev internetine: Yeni yılın ilk T Raporu yayında!

Haber

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.

Hosting :

Ç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}
Sonuç bulunamadı
Bütün Sonuçları Göster
  • Giriş
  • Teknoloji Haberleri
  • Sosyal
  • Nasıl Yapılır
  • Yapay Zeka
  • Video
  • Tavsiyeler
  • İncelemeler
    • Video İncelemeler
  • Güvenlik
  • Oyun
  • Makale
    • Pratik
    • Yazar Köşeleri
  • CES 2026

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