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 - Makale - Pratik - Android Programlama Ders 20: Intent,Intent Filter ve Context

Android Programlama Ders 20: Intent,Intent Filter ve Context

24 Ekim 2013 - 16:00
- Mobil, Pratik

Android programlama öğrenmeye devam ediyoruz. Bu derste intent,intent filter ve context konularından bahsedeceğiz.

 

Geçen derslerde (№ 19) projemizde aynı uygulamada iki tane etkileşimi oluşturmayı öğrendik. Hatırlatayım yeni etkileşimi oluşturmak için:

–          Yeni klasla beraber superclass android.app.Activity  oluşturuyoruz

–          Etkileşimi Manifest dosyasında kayıt yapmamız gerekiyor. Ve name alanında klasın ismi giriyoruz.

Intent’le ilgili daha ayrıntılı bilgi burada, burada ve burada okuyabilirsiniz.

Şimdi etkileşimi çağırması için kullanılan kodu inceleyelim.

Intent intent = new Intent(this, ActivityTwo.class);
startActivity(intent);

Burada Intent nesneyi kullandık.

Intent (Niyet) nedir ?

Intent bir nesnedir. Nesnenin amacı çağırılacak etkileşimin belirlenmesi. Sonra nesneyi startActivity metodunda kullanıyoruz. Metodun amacı kullanılacak etkileşimi bulmak ve göstermek. Intent nesneyi oluşturduğu zaman Intent (Context packageContext, Class cls) tasarımcı kullandık.

Tasarımcı iki parametre kullanıyor. Birinci parametre –  Context. Context – bir nesnedir amacı   uygulamanın temel metodlara erişim sağlamaktır. Etkileşim Context’in alt klasıdır bu yüzden this parametreyi kullanabiliriz. İlerde örnekleri kullanarak Context’in çağırışı ve kullanımı daha iyi anlayacağız. İkinci parametre – klasın ismidir. Hatırlatayım Manifest dosyada etkileşimi belirlediği zaman klasın ismi giriyoruz. Aynı klası Intent nesnede belirliyoruz. Sistem Manifest dosyaya baktığında uyum tespit ettiği zaman uygun etkileşimi gösterecektir.

Explicit Intent (Açık niyeti)

Açık Intent kullandığımız zaman hangi etkileşimi kullanacağımızı direk belirliyoruz. Yani klasta hangi etkileşimi çağıracağını açık belirliyoruz. Genelde bu tür Intent uygulamanın içinde kullanılıyor. Şematik olarak aşağıdaki resimde gösterebiliriz:

 

ExplicitIntent

 

Burada Intent’i oluşturuyoruz ve parametre olarak Class_B kullanıyoruz. Sonraki adımda startActivity metodu çağırıyoruz ve parametre olarak Intent’i kullanıyoruz. startActivity metodu Manifest dosyayı kontrol ediyor. Kontrolün amacı Class_B’le ilişkili etkileşimi bulmak.

Implicit Intent (Gizli niyeti)

İkinci tür Implicit Intent. Birinci Intent’ten fark parametre olarak klası kullanılmıyor onun yerinde üç tane parametre kullanılır. Bu parametre: action (faaliyet), data (veri) ve category (grup,sınıf). Parametrelere diğerler atanabilir. Değerlere göre etkileşimler çağrılabilir. Mesela: e-posta gönderme, metin düzenleme, resimleri görüntüleme, belli bir telefon numarayı arama ve başkaları. Etkileşim için Intent Filter kullanılır. Intent Filter aynı parametre (action,data ve category) kümesi kullanıyor. Intent’in ve Intent Filter’in parametreleri denk geldiği zaman etkileşim (Activity) çağrılıyor. Arama tüm uygulamalarda gerçekleşiyor. Eğer birkaç tane etkileşim bulunuyorsa hangi uygulamayı kullanmak istediğiniz seçim sunuluyor. Mesela eğer sistemde birkaç tane mp3 çalan uygulama bulunuyorsa mp3 formatlı müzik açıldığı zaman size seçim sunacak. Şematik olarak aşağıdaki resimde gösterebiliriz:

ImplicitIntent

 

Application_1’de Intenti oluşturuyoruz ve action, data ve category parametre dolduruyoruz. Kolaylık sağlamak için parametreleri Param_C olarak isimlendirelim. startActivity kullanarak Intent uygun etkileşimi aramaya başlıyor. Sistemde farklı uygulamalar mevcuttur. Her uygulamada birkaç tane etkileşim bulunuyor. Bazı etkileşimler için IntentFilter belirlenmiş (örnekte Activity_21, Activity_22) bazıları için ise belirlenmemiş (Activity_24). startActivity her etkileşim için Intent’le Intent Filter parametrelerini karşılaştırıyor. Eğer parametreler (Param_C ikisi için) aynı ise etkileşim uygun olarak sayılır.

Sonuç sadece bir etkileşim bulunduysa gösterilir. Birden fazla etkileşim bulunuyorsa o zaman kullanıcı kendine göre daha uygun uygulamayı seçiyor.

 

<activity android:name=”NotesList” android:label=”@string/title_notes_list”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
<intent-filter>
<action android:name=”android.intent.action.VIEW” />
<action android:name=”android.intent.action.EDIT” />
<action android:name=”android.intent.action.PICK” />
<category android:name=”android.intent.category.DEFAULT” />
<data android:mimeType=”vnd.android.cursor.dir/vnd.google.note” />
</intent-filter>
<intent-filter>
<action android:name=”android.intent.action.GET_CONTENT” />
<category android:name=”android.intent.category.DEFAULT” />
<data android:mimeType=”vnd.android.cursor.item/vnd.google.note” />
</intent-filter>
</activity>

Yukarıdaki verdiğim kodda Intent Filter’in uygulanmasını görebilirsiniz.

İlerdeki derslerimizde Intent’lerin uygulanması ve aldığı parametreleri (action, data ve category) örnekleri kullanarak daha iyi anlayacaksınız.

Ders Sonu Notları:

Bu derste Intent nesnenin ne için kullanılıyor temel bilgileri aldık. Sonraki derste Activity LifeCycle  (Etkileşimin yaşam döngüsü) – etkileşimin çağırması, kapanması ve oluşturması zaman davranışı öğreneceğiz.

 

Etiketler: Android programlamacontextEclipseExplicit IntentImplicit IntentIntentIntentFilterManifeststartActivitysuperclass
Paylaş3Paylaş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

  • God of War 2018 mi RDR2 mi?
  • Matepad 11.5 vs S10 Lite
  • EVGA supernova GT 850W 80+ Gold nasıldır?
  • 1.4-1.5 milyon civarına araç önerisi
  • Güç kaynağının kablosu yanlış takılırsa zarar görür mü?
  • Galaxy Tab S8+ teşhir olarak alınır mı?
  • 3.000 TL'ye VDSL Modem Önerisi
  • 60 bin TL Gaming laptop önerisi
  • 20-24 bin TL arası laptop önerisi
  • GTA 4 için mod önerisi

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