Değişen Veriler
Değişen Veriler
Şimdiye kadar statik menülerden bahsettik; bunları bir kez kurarsınız ve ekrandakilere göre dinamik olarak değişmezler. Dinamik menüler oluşturmak istiyorsanız, Android’in sağladığı onPrepareOptionsMenu yöntemini kullanın.
Bu yöntem, bir menü her çağrıldığında çağrılması dışında onCreateOptionsMenu’ya benzer. Örneğin, görüntülemekte olduğunuz verilere dayalı olarak bazı menüleri veya menü gruplarını devre dışı bırakmak istiyorsanız onPrepareOptionsMenu’yu kullanmalısınız. Menü işlevselliğinizi tasarlarken bunu aklınızda bulundurmak isteyebilirsiniz.
Diyaloglara geçmeden önce menülerin bir önemli yönünü daha ele almamız gerekiyor. Android, XML dosyalarını kullanarak menülerin oluşturulmasını destekler. Bir sonraki üst düzey konu, Android’deki bu XML menü desteğini keşfetmeye ayrılmıştır.
Menüleri XML Dosyaları Üzerinden Yükleme
Bu noktaya kadar tüm menülerimizi programlı olarak oluşturduk. Bu, menü oluşturmanın en uygun yolu değildir, çünkü her menü için birkaç kimlik sağlamanız ve bu kimliklerin her biri için sabitler tanımlamanız gerekir. Hiç şüphesiz bunu sıkıcı bulacaksınız.
Bunun yerine, menüleri XML dosyaları aracılığıyla tanımlayabilirsiniz; bunu Android’de yapabilirsiniz çünkü menüler aynı zamanda birer kaynaktır. Menü oluşturmaya yönelik XML yaklaşımı, menüleri adlandırma, otomatik olarak sıralama, onlara kimlik verme gibi çeşitli avantajlar sunar. Menü metni için yerelleştirme desteği de alabilirsiniz.
XML tabanlı menülerle çalışmak için şu adımları izleyin:
1. Menü etiketleri içeren bir XML dosyası tanımlayın.
2. Dosyayı /res/menu alt dizinine yerleştirin. Dosyanın adı isteğe bağlıdır ve istediğiniz kadar çok dosyanız olabilir. Android, bu menü dosyası için otomatik olarak bir kaynak kimliği oluşturur.
3. XML dosyasını menüye yüklemek için menü dosyası için kaynak kimliğini kullanın.
4. Her menü öğesi için oluşturulan kaynak kimliklerini kullanarak menü öğelerine yanıt verin.
Bu adımların her biri hakkında konuşacağız ve sonraki bölümlerde karşılık gelen kod parçacıklarını sağlayacağız.
Bir XML Menüsü Kaynak Dosyasının Yapısı
Önce menü tanımları içeren bir XML dosyasına bakacağız. Tüm menü dosyaları, aynı üst düzey menü etiketiyle başlar ve ardından bir dizi grup etiketi gelir. Bu grup etiketi, bölümün başında bahsettiğimiz menü öğesi grubuna karşılık gelir.
@+id yaklaşımını kullanarak grup için bir kimlik belirleyebilirsiniz. Her menü grubu, menü öğesi kimlikleri sembolik adlara bağlı bir dizi menü öğesine sahip olacaktır. Bu XML etiketleri için olası tüm bağımsız değişkenler için Android SDK belgelerine başvurabilirsiniz.
Menü XML dosyası bir gruba sahiptir. @+id/menuGroup_main kaynak kimliği tanımına bağlı olarak, bu gruba otomatik olarak R.java kaynak kimliği dosyasında menuGroup_ main adlı bir kaynak kimliği atanacaktır. Benzer şekilde, tüm alt menü öğelerine, bu XML dosyasındaki sembolik kaynak kimliği tanımlarına dayalı olarak menü öğesi kimlikleri atanır.
Bu XML dosyasının adının my_menu.xml olduğunu varsayalım. Bu dosyayı /res/menu alt dizinine yerleştirmeniz gerekecek. Dosyayı /res/menu konumuna yerleştirmek, otomatik olarak Resource.menu.my_menu adlı bir kaynak kimliği oluşturur.
Şimdi seçenekler menüsünü doldurmak için bu menü kaynak kimliğini nasıl kullanabileceğinize bakalım. Android, Menu nesnelerini XML dosyalarından doldurmak için android.view.MenuInflater adlı bir sınıf sağlar. Bir menü nesnesini doldurmak için Resource.menu.my_menu kaynak kimliğini kullanmak için bu MenuInflater’ın bir örneğini kullanacağız.
Bu kodda önce Activity sınıfından MenuInflater’ı alıyoruz ve ona menü XML dosyasını doğrudan menüye şişirmesini söylüyoruz.
TÜİK verileri
TÜİK anket Giriş
TÜİK nüfus verileri
TÜİK İsim sorgulama
TÜİK Veri girişi
türkiye istatistik kurumu (tüik nedir ve görevleri nelerdir)
TÜİK Giriş
tüik’ten gelen mesaj
XML Tabanlı Menü Öğelerine Yanıt Verme
Bu yaklaşımın özel avantajını henüz görmediniz—menü öğelerine yanıt vermeye başladığınızda bu avantaj belirginleşir. XML menü öğelerine, programlı olarak oluşturulan menülere yanıt verdiğiniz şekilde yanıt verirsiniz, ancak küçük bir farkla. Daha önce olduğu gibi, menü öğelerini onOptionsItemSelected geri arama yönteminde yönetirsiniz. Ancak bu sefer Android’in kaynaklarından biraz yardım alacaksınız.
“Bir XML Menüsü Kaynak Dosyasının Yapısı” bölümünde belirttiğimiz gibi, Android yalnızca XML dosyası için bir kaynak kimliği oluşturmakla kalmaz, aynı zamanda menü öğeleri arasında ayrım yapmanıza yardımcı olmak için gerekli menü öğesi kimliklerini de oluşturur. Bu, menü öğelerine yanıt verme açısından bir avantajdır çünkü bunların menü öğesi kimliklerini açıkça oluşturmanız ve yönetmeniz gerekmez.
Bunu daha da detaylandırmak için, XML menüleri söz konusu olduğunda, bu kimlikler için sabitler tanımlamanız gerekmez ve bunların benzersizliği konusunda endişelenmenize gerek yoktur, çünkü kaynak kimliği oluşturma bununla ilgilenir.
Ek XML Menü Etiketlerine Kısa Bir Giriş
XML dosyalarınızı oluştururken, mümkün olan çeşitli XML etiketlerini bilmeniz gerekecektir. Android SDK ile birlikte gelen API demolarını inceleyerek bu bilgilere hızlıca ulaşabilirsiniz.
Bu Android API demoları, Android programlamanın tüm yönlerini keşfetmenize yardımcı olan bir dizi menü içerir. /res/menu alt dizinine bakarsanız, bir dizi XML menü örneği bulacaksınız. Burada bazı önemli etiketleri kısaca ele alacağız.
Şimdiye kadar seçenekler menülerini, alt menüleri, simge menülerini, bağlam menülerini ve alternatif menüleri ele aldık. Ayrıca XML menülerini kullanmanın araçlarını ve avantajlarını da ele aldık. Şimdi dikkatimizi Android’in diyalog desteğine çevirelim.
Android’de Diyalogları Kullanma
Bir masaüstü ortamından geliyorsanız, Android iletişim kutuları ile çalışırken farklı düşünmeniz gerekebilir. Birincil fark, Android’deki diyalogların eşzamansız olmasıdır. Bu eşzamansızlık biraz mantığa aykırıdır; sanki beyninizin ön tarafı birisiyle sohbet ederken, arka tarafı başka bir şey hakkında düşünüyor gibidir. Ancak konu bilgisayarlar olduğunda “bölünmüş beyin” modeli o kadar da kötü değil. Bu eşzamansız yaklaşım, el cihazının yanıt verebilirliğini artırır.
Android iletişim kutuları eşzamansız olmakla kalmaz, aynı zamanda yönetilir; yani, çoklu çağrılar arasında yeniden kullanılırlar. Bu tasarım, diyaloglar oluşturulurken, gösterilirken ve dağıtılırken belleği ve performansı optimize etme ihtiyacından doğdu.
Aşağıdaki bölümlerde, Android iletişim kutularının bu yönlerini derinlemesine ele alacağız. Uyarı diyalogları gibi temel diyaloglara olan ihtiyacı gözden geçireceğiz ve bunları nasıl oluşturacağınızı ve kullanacağınızı göstereceğiz. Daha sonra, kullanıcıdan girdi isteyen ve bu girdiyi programa geri döndüren bilgi istemi diyaloglarıyla nasıl çalışılacağını göstereceğiz. Ayrıca, kendi görünüm düzenlerinizi iletişim kutularına nasıl yükleyeceğinizi de göstereceğiz.
Daha sonra, bir etkinlikte geri arama işlevlerini kullanarak iletişim kutuları oluşturmak için protokolü keşfederek Android iletişim kutularının yönetilen doğasını ele alacağız. Son olarak, Android’in kullandığı yönetilen diyalog protokolünü alıp eşzamansız yönetilen diyalogları olabildiğince sorunsuz hale getirmek için soyutlayacağız. Bu soyutlama kendi başına size yardımcı olabilir ve aynı zamanda bize perde arkası diyalog mimarisini açıklama fırsatı verecektir.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)