Intent'ler ve Gezinme
Açık Intent'lerle Activity'ler arasında gezinin, putExtra/getExtra ile veri aktarın ve örtük Intent'lerle harici uygulamaları başlatın.
Intent'ler ve Gezinme, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 7 dersinin 5. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 7 dersten oluşur.
Intent Nedir?
Intent, Android'e bir işlem yapmasını söyleyen bir mesajdır:
- Açık Intent — uygulamanızdaki belirli bir Activity'yi başlatır
- Örtük Intent — Android'den bu işlemi gerçekleştirebilecek bir uygulama bulmasını ister (URL açma, numara arama, metin paylaşma)
Intent'ler, Activity'lerin birbirleriyle iletişim kurmasının temel yoludur.
Açık Intent: Ekran Açma
Uygulamanızdaki başka bir Activity'yi başlatın:
// In your button click listener:
binding.btnGoToDetail.setOnClickListener {
val intent = Intent(this, DetailActivity::class.java)
startActivity(intent)
}
// To also close the current screen after navigating:
binding.btnLogin.setOnClickListener {
val intent = Intent(this, HomeActivity::class.java)
startActivity(intent)
finish() // removes LoginActivity from back stack
}Ek Verilerle Veri Aktarma
Sonraki Activity'ye veri aktarmak için ek verileri kullanın:
intent.putExtra("key", value)— veri eklerintent.getStringExtra("key")— String değerini alırintent.getIntExtra("key", defaultValue)— Int değerini alır
Yazım hatalarını önlemek için anahtarlarda sabitler kullanın.
Ek Verileri Aktarma ve Alma
Bir Activity'den veri gönderin ve sonraki Activity'de okuyun:
// Sending Activity:
val intent = Intent(this, DetailActivity::class.java)
intent.putExtra("PRODUCT_ID", 42)
intent.putExtra("PRODUCT_NAME", "Laptop")
startActivity(intent)
// DetailActivity — receiving:
class DetailActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_detail)
val id = intent.getIntExtra("PRODUCT_ID", -1)
val name = intent.getStringExtra("PRODUCT_NAME") ?: ""
// Use id and name to load data
}
}Örtük Intent'ler
Örtük Intent'ler, hangi uygulamanın işlemi gerçekleştireceğini bilmeden uygulamanızın yüklü diğer uygulamaların özelliklerini kullanmasını sağlar:
- Bir web URL'sini tarayıcıda açma
- Telefon numarası çevirme
- E-posta gönderme
- Metni herhangi bir uygulamayla paylaşma
Birden fazla uygulama Intent'i işleyebiliyorsa Android bir seçim ekranı gösterir.
Yaygın Örtük Intent'ler
Örtük Intent'lerle sistem işlemlerini başlatın:
import android.content.Intent
import android.net.Uri
// Open a web page
val webIntent = Intent(Intent.ACTION_VIEW,
Uri.parse("https://developer.android.com"))
startActivity(webIntent)
// Dial a phone number
val dialIntent = Intent(Intent.ACTION_DIAL,
Uri.parse("tel:+15551234567"))
startActivity(dialIntent)
// Share text
val shareIntent = Intent(Intent.ACTION_SEND).apply {
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, "Check out this app!")
}
startActivity(Intent.createChooser(shareIntent, "Share via"))Sonuçları Geri Alma
Başka bir ekrandan sonuç almanız gerektiğinde (örneğin bir görsel seçici veya form için) Activity Result API'sini kullanın:
registerForActivityResultile bir başlatıcı kaydedin- Gerektiğinde başlatın
- Sonucu bir geri çağırmada işleyin
Bu yaklaşım, eski startActivityForResult / onActivityResult düzeninin yerini alır.
Sonuç API'si Örneği
Galeriden bir fotoğraf isteyin ve geri alın:
import androidx.activity.result.contract.ActivityResultContracts
class MainActivity : AppCompatActivity() {
private val pickImage = registerForActivityResult(
ActivityResultContracts.GetContent()
) { uri ->
// 'uri' is the selected image URI, or null if cancelled
if (uri != null) {
binding.ivPhoto.setImageURI(uri)
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
binding.btnPickPhoto.setOnClickListener {
pickImage.launch("image/*")
}
}
}Derin Bağlantılar
Derin bağlantı, uygulamanızdaki belirli bir ekranı doğrudan açan bir URL'dir; anlık bildirimler ve pazarlama bağlantıları için kullanışlıdır.
Derin bağlantıları AndroidManifest.xml içinde, URL şemasını ve ana makineyi belirten bir data etiketi içeren intent-filter kullanarak tanımlayın.
Hızlı Kontrol
Bir web sitesini kullanıcının tarayıcısında açmak için hangi Intent türünü kullanırsınız?
Özet: Intent'ler ve Gezinme
Artık ekranlar arasında gezinebilir ve sistem özelliklerini başlatabilirsiniz:
- Açık Intent — uygulamanızdaki belirli bir Activity'yi başlatır
putExtra/getExtra— Activity'ler arasında veri aktarır- Örtük Intent — URL'leri açar, numaraları çevirir ve içerik paylaşır
- Activity Result API'si — başka bir Activity'den veri alır
Sırada: RecyclerView ile dinamik listeleri görüntülemek var.
Sıkça Sorulan Sorular
“Intent'ler ve Gezinme” dersi ücretsiz mi?
Evet — “Intent'ler ve Gezinme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 7 dersten oluşur.
“Intent'ler ve Gezinme” dersinde ne öğreneceğim?
Açık Intent'lerle Activity'ler arasında gezinin, putExtra/getExtra ile veri aktarın ve örtük Intent'lerle harici uygulamaları başlatın. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 7 dersinin 5. dersidir.
“Intent'ler ve Gezinme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Proje Yapısı ve Manifest
- Activity'ler ve Yaşam Döngüsü
- Düzenler ve Görünümler
- Kullanıcı Girdisini Ele Alma
- Intent'ler ve Gezinme
- Fragment'ler
- İzinler ve Çalışma Zamanı İstekleri