Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu iki bölümden oluşan kılavuzda, temel Telefon word uygulaması (Hello, Android kılavuzunda oluşturulur) ikinci bir ekranı işleyecek şekilde genişletilir. Bu arada, temel Android uygulama yapı taşları tanıtıldı. Android uygulama yapısı ve işlevselliğini daha iyi anlamanıza yardımcı olmak için Android mimarisine daha ayrıntılı bir bakış sunulmaktadır.
Hello, Android Çok Ekranlı Hızlı Başlangıç'ta ilk çok ekranlı Xamarin.Android uygulamanızı oluşturup çalıştırmıştınız.
Bu kılavuzda daha gelişmiş Android mimarisini keşfedeceksiniz. Amaçlarla Android gezintisi açıklanır ve Android donanım gezinti seçenekleri incelenir. Telefon word uygulamasına yapılan yeni eklemeler, uygulamanın işletim sistemi ve diğer uygulamalarla ilişkisine ilişkin daha bütünsel bir görünüm geliştirirken kesiliyor.
Android mimarisinin temelleri
Hello, Android Deep Dive'da Android uygulamalarının tek bir giriş noktası olmadığı için benzersiz programlar olduğunu öğrendinsiniz. Bunun yerine, işletim sistemi (veya başka bir uygulama), uygulamanın kayıtlı Etkinliklerinden herhangi birini başlatır ve bu da uygulama için işlemi başlatır. Android mimarisine derinlemesine bir bakış, Android uygulama yapı taşları ve işlevleri tanıtarak Android uygulamalarının nasıl derlendiğine ilişkin anlayışınızı genişletir.
Android uygulama yapı taşları
Android uygulaması, görüntüler, temalar, yardımcı sınıflar vb. tüm uygulama kaynaklarıyla birlikte paketlenmiş Uygulama Blokları adlı özel Android sınıflarından oluşan bir koleksiyondan oluşur. Bunlar, Android Bildirimi adlı bir XML dosyası tarafından koordine edilir.
Uygulama Blokları, normal bir sınıfla normalde gerçekleştiremeyeceğiniz şeyleri yapmanıza olanak sağladığından Android uygulamalarının omurgasını oluşturur. En önemli iki şey Etkinlikler ve Hizmetler'dir:
Etkinlik : Etkinlik, kullanıcı arabirimine sahip bir ekrana karşılık gelir ve kavramsal olarak web uygulamasındaki bir web sayfasına benzer. Örneğin, bir haber akışı uygulamasında oturum açma ekranı ilk Etkinlik, kaydırılabilir haber öğeleri listesi başka bir Etkinlik ve her öğenin ayrıntılar sayfası üçüncü olur. Etkinlikler hakkında daha fazla bilgiyi Etkinlik Yaşam Döngüsü kılavuzundan öğrenebilirsiniz.
Hizmet – Android Hizmetleri, uzun süre çalışan görevleri devralarak ve arka planda çalıştırarak Etkinlikleri destekler. Hizmetlerin kullanıcı arabirimi yoktur ve ekranlara bağlı olmayan görevleri (örneğin, arka planda bir şarkı çalma veya bir sunucuya fotoğraf yükleme) işlemek için kullanılır. Hizmetler hakkında daha fazla bilgi için Bkz . Hizmetler ve Android Hizmetleri Oluşturma kılavuzları.
Bir Android uygulaması tüm Blok türlerini kullanmayabilir ve genellikle tek türde birkaç Blok'a sahiptir. Örneğin, Hello, Android Hızlı Başlangıcı'ndan Telefon word uygulaması yalnızca bir Etkinlik (ekran) ve bazı kaynak dosyalarından oluşuyordu. Basit bir müzik çalar uygulamasının arka plandayken çeşitli Etkinlikleri ve müzik çalmak için bir Hizmeti olabilir.
Amaçlar
Android uygulamalarında bir diğer temel kavram da Amaç'tır. Android, en düşük ayrıcalık ilkesine göre tasarlanmıştır; uygulamalar yalnızca çalışması için ihtiyaç duydukları Bloklara erişebilir ve işletim sistemini veya diğer uygulamaları oluşturan Bloklara sınırlı erişime sahiptir. Benzer şekilde, Bloklar gevşek bir şekilde birbirine bağlıdır ; diğer Bloklar (aynı uygulamanın parçası olan bloklar bile) hakkında çok az bilgiye ve sınırlı erişime sahip olacak şekilde tasarlanmıştır.
İletişim kurmak için, Uygulama Blokları Intents adlı zaman uyumsuz iletiler gönderir. Amaçlar, alan Blok ve bazen de bazı veriler hakkında bilgi içerir. Bir Uygulama bileşeninden gönderilen amaç, başka bir Uygulama bileşeninde bir şey olmasını tetikleyerek iki Uygulama bileşenini bağlar ve iletişim kurmalarına olanak tanır. Amaçlar'ı ileri geri göndererek, kamera uygulamasının alınıp kaydedilip kaydedilmesi, konum bilgilerinin toplanması veya bir ekrandan diğerine geçme gibi karmaşık eylemleri koordine etmek için Bloklar alabilirsiniz.
AndroidManifest.XML
Uygulamaya bir Blok eklediğinizde, Android Bildirimi adlı özel bir XML dosyasıyla kaydedilir. Bildirim, bir uygulamadaki tüm Uygulama Bloklarının yanı sıra sürüm gereksinimlerini, izinleri ve bağlı kitaplıkları ( uygulamanızın çalışması için işletim sisteminin bilmesi gereken her şeyi) izler. Android Bildirimi, belirli bir Etkinlik için hangi eylemlerin uygun olduğunu denetlemek için Etkinlikler ve Amaçlar ile de çalışır. Android Bildirimi'nin bu gelişmiş özellikleri, Android Bildirimi ile çalışma kılavuzunda ele alınmıştır.
Telefon word uygulamasının tek ekranlı sürümünde, simgeler gibi ek kaynakların yanı sıra yalnızca bir Etkinlik, bir Amaç ve AndroidManifest.xml kullanıldı. Telefon word'un çok ekranlı sürümünde ek bir Etkinlik eklendi; bir Amaç kullanılarak ilk Etkinlik'ten başlatıldı. Sonraki bölümde, Amaçlar'ın Android uygulamalarında gezinti oluşturmaya nasıl yardımcı olduğu incelenmiştir.
Android gezintisi
Amaçlar, ekranlar arasında gezinmek için kullanıldı. Amaçlarının nasıl çalıştığını görmek ve Android gezintisindeki rollerini anlamak için bu kodu incelemenin zamanı geldi.
Amacı olan ikinci bir etkinliği başlatma
Telefon word uygulamasında ikinci bir ekran (Etkinlik) başlatmak için bir Intent kullanıldı. Başlangıç olarak, geçerli Bağlamı (geçerli Bağlama başvuran) ve aradığınız Uygulama Bloğunun türünü (thisTranslationHistoryActivity) geçirerek bir Amaç oluşturun:
Intent intent = new Intent(this, typeof(TranslationHistoryActivity));
Bağlam, uygulama ortamı hakkında genel bilgilere yönelik bir arabirimdir; yeni oluşturulan nesnelerin uygulamada neler olduğunu bilmesini sağlar. Bir Amaç'ı bir ileti olarak düşünüyorsanız, ileti alıcısının (TranslationHistoryActivity) adını ve alıcının adresini (Context) sağlarsınız.
Android, bir Amada basit veriler ekleme seçeneği sunar (karmaşık veriler farklı işlenir). Telefon word örneğinde, PutStringArrayExtra Amaç'a telefon numaralarının listesini eklemek için kullanılır ve StartActivity Amaç alıcısında çağrılır. Tamamlanan kod şöyle görünür:
translationHistoryButton.Click += (sender, e) =>
{
var intent = new Intent(this, typeof(TranslationHistoryActivity));
intent.PutStringArrayListExtra("phone_numbers", _phoneNumbers);
StartActivity(intent);
};
Phoneword ile sunulan ek kavramlar
Telefon word uygulaması bu kılavuzda ele alınmayan çeşitli kavramlar kullanıma sunulmuştur. Bu kavramlar şunlardır:
Dize Kaynakları – Telefon word uygulamasında metni TranslationHistoryButton olarak "@string/translationHistory"ayarlanmıştır. Söz @string dizimi, dizenin değerinin Strings.xml dize kaynakları dosyasında depolandığı anlamına gelir. Dize için translationHistory aşağıdaki değer Strings.xml eklendi:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="translationHistory">Call History</string>
</resources>
Dize kaynakları ve diğer Android kaynakları hakkında daha fazla bilgi için Android Kaynakları kılavuzuna bakın.
ListView ve ArrayAdapter – ListView , kaydırmalı satır listesi sunmanın basit bir yolunu sağlayan bir ui bileşenidir. ÖrneğinListView, satır görünümlerinde bulunan verilerle beslemesi için bağdaştırıcı gerekir. kullanıcı arabirimini doldurmak için aşağıdaki kod satırı kullanılmıştır TranslationHistoryActivity:
this.ListAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, phoneNumbers);
ListViews ve Adapters bu belgenin kapsamının dışındadır, ancak bunlar çok kapsamlı ListViews ve Adapters kılavuzunda ele alınmıştır.
ListView'u Verilerle Doldurma özelliği, Telefon word örneğinde ListActivity olduğu gibi özel bir düzen tanımlamadan oluşturmak ve doldurmak ListView için özellikle yerleşik ve ArrayAdapter sınıfların kullanılmasıyla ilgilenir.
Özet
Tebrikler, ilk çok ekranlı Android uygulamanızı tamamladınız! Bu kılavuzda Android Uygulama Yapı Taşları ve Amaçları tanıtılmış ve çok ekranlı bir Android uygulaması oluşturmak için kullanılmıştır. Artık kendi Xamarin.Android uygulamalarınızı geliştirmeye başlamak için ihtiyacınız olan sağlam temele sahipsiniz.
Ardından, Platformlar Arası Uygulamalar Oluşturma kılavuzlarında Xamarin ile platformlar arası uygulamalar oluşturmayı öğreneceksiniz.