Uygulama bileşenleri ve intent'ler: activity, service, receiver, provider
Bir Android uygulamasını oluşturan dört bileşeni, intent'leri, derin bağlantıları ve bu yüzeyin nasıl korunacağını öğrenirsin.
Seviye 201 · 22 ders · 18 pratik lab
Dersler
Dört bileşen
- Activity ve yaşam döngüsü
- Service: ön plan, arka plan ve bağlı servisler
- Broadcast receiver: sistem ve uygulama yayınları
- Content provider: veriyi URI ile paylaşmak
- Kısa görev: bir manifestten bileşen envanteri çıkar
Intent'ler
- Açık ve örtük intent'ler
- Intent filtreleri ve exported özniteliği
- PendingIntent ve değiştirilebilirlik bayrakları
- Derin bağlantılar ve doğrulanmış uygulama bağlantıları
- Intent ile gelen veriyi doğrulamak
- Kısa görev: am komutuyla gönderilen bir intent'in hangi bileşene gittiğini belirle
Bileşenleri korumak
- Dışa açık bileşen riski ve izinle koruma
- Provider izinleri, geçici URI izni ve FileProvider
- Görev yığını, launchMode ve taskAffinity
- WebView: JavaScript köprüsü ve dosya erişimi
- Kısa görev: gereksiz yere dışa açık üç bileşeni kapat ve manifesti yeniden doğrula
Bileşenleri komut satırından incelemek
- dumpsys package ile bir uygulamanın bileşenlerini okumak
- pm ve cmd ile bir intent'i kimin karşıladığını çözmek
- Manifest birleştirme: kütüphanelerin eklediği bileşenler
- exported varsayılanları: sürümlere göre kurallar
- Kısa görev: birleştirilmiş manifestte kütüphaneden gelen dışa açık bileşeni bul
Bitirme
- Bitirme görevi: bir uygulamanın bileşen ve intent yüzeyini haritala ve sıkılaştır
Pratik lablar
- Manifestten bileşen dökümü çıkar: Bir manifestteki bütün bileşenleri türüne göre listele.
- Dışa açık bileşenleri koruyan izinleriyle listele: Göktaşı Yazılım'ın uygulamasında dışa açık bileşenleri ve her birini koruyan izni tabloya dök.
- Üç sürümde bileşen yüzeyinin değişimini izle: Aynı uygulamanın üç sürümünün manifestini karşılaştır ve yeni dışa açılan bileşenleri sürüm sürüm raporla.
- Bir intent'i hangi bileşenin karşıladığını bul: Simüle cihazda verilen eylem ve veriyle bir intent'in hangi activity'ye gittiğini çöz.
- Aynı intent'i karşılayan birden çok uygulamayı bul: Bir ödeme bağlantısını karşılayabilen bütün uygulamaları listele ve beklenmeyen alıcıyı işaretle.
- Örtük intent ile gönderilen hassas veriyi bul: Kaynak kodda örtük intent ile gönderilen oturum verisini bul ve açık intent kullanarak düzelt.
- Gereksiz dışa açık activity'yi kapat: Manifestte dışa açık bırakılmış ayarlar ekranını bul ve exported değerini düzelt.
- Dışa açık servisi imza izniyle koru: İki kurum uygulaması arasında kullanılan servisi imza düzeyinde bir izinle koru ve manifesti yeniden denetle.
- Üç bileşeni kapat ve gerileme denetimi yaz: Üç gereksiz dışa açık bileşeni kapat ve derlemede dışa açık bileşen sayısını sınayan bir denetim betiği ekle.
- Bir sağlayıcının izin ayarlarını oku: Manifestte bir içerik sağlayıcının okuma ve yazma izinlerini ve exported değerini bul.
- FileProvider yol tanımını daralt: Bütün dosya alanını paylaşan FileProvider yol dosyasını yalnızca gerekli alt klasöre indir.
- Geçici URI izni kullanımını denetle: Kaynak kodda URI izni verilen yerleri bul, gereğinden geniş izin verileni düzelt ve nedenini belgeleyerek açıkla.
- PendingIntent bayraklarını oku: Kaynak kodda oluşturulan PendingIntent'lerin değiştirilebilir mi değiştirilemez mi olduğunu listele.
- Değiştirilebilir PendingIntent'i düzelt: Bildirimde kullanılan değiştirilebilir ve boş intent'li PendingIntent'i güvenli hâle getir.
- Derin bağlantı filtrelerini doğrulamayla birlikte denetle: Manifestteki derin bağlantı filtrelerini çıkar, doğrulanmış uygulama bağlantısı olmayanları ve fazla geniş yol tanımlarını raporla.
- dumpsys ile bir uygulamanın bileşenlerini oku: Simüle cihazda dumpsys package çıktısından bir uygulamanın alıcılarını ve filtrelerini çıkar.
- Kütüphaneden gelen dışa açık bileşeni bul: Birleştirilmiş manifest ile kaynak manifesti karşılaştır ve bir kütüphanenin eklediği dışa açık bileşeni göster.
- Kütüphane bileşenini manifestten kaldır veya kapat: Birleştirme kurallarıyla gereksiz kütüphane bileşenini çıkar, derlemeyi yeniden üret ve sonucu doğrula.
Kurs hakkında
Bir Android uygulamasını oluşturan dört bileşeni, intent'leri, derin bağlantıları ve bu yüzeyin nasıl korunacağını öğrenirsin.
Ne öğreneceksin
- Dört bileşen
- Intent'ler
- Bileşenleri korumak
- Bileşenleri komut satırından incelemek
- Bitirme
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.