
Co to jest Android?
Android to zbiór oprogramowania dla urządzeń mobilnych - system operacyjny i kluczowe aplikacje. Android SDK, który instalowaliśmy w poprzednim kursie zapewnia narzędzia i API (Application Programming Interface) potrzebne do tworzenia aplikacji na platformę Android w języku Java.
Architektura Androida.
![]() |
Źródło: http://developer.android.com |
Android rozprowadzany jest z podstawowymi aplikacjami - klientem e-mail, programem SMS, kalendarzem, przeglądarką, kontaktami itp. Napisane są one w Javie.
Warstwę niżej widzimy szkielet aplikacyjny (Application Framework), który udostępnia nam to samo API - łącznik z bibliotekami napisanymi w C/C++ typu SQLite, OpenGL ES, biblioteki od multimediów i inne, z którego korzystają wbudowane aplikacje. Tutaj znajdują się także zarządcy (managers) - np. Activity Manager zarządzający cyklem życia aplikacji, czy Content Providers zapewniający wymianę danych pomiędzy aplikacjami.
Narzędzia Android SDK kompilują naszą aplikację wraz z zasobami do formatu .apk (przypomina mi to pliki JAR), który jest używany do instalacji oprogramowania na urządzeniu. Każda aplikacja uruchamiana jest we własnym procesie z własną instancją maszyny wirtualnej Dalvik (odpowiednik JVM).
Na samym spodzie siedzi sobie Linux, który zapewnia zarządzanie pamięcią, procesami, siecią, dostarcza sterowniki do sprzętu.
Komponenty aplikacji.
Nasza aplikacja składa się z komponentów - bloczków ją budujących. Każdy z nich ma swoje odrębne zastosowanie i cykl życia, czyli czas tworzenia i usuwania. Każdy z tych komponentów może być częścią naszej aplikacji, wpływać na jej ogólne zachowanie. Wyróżniamy 4 komponenty:
- Aktywności (ang. Activities) - aktywność reprezentuje pojedynczy ekran z interfejsem użytkownika. Rozpatrzmy aplikację do wysyłania e-maili. Może ona składać się z aktywności do redagowania e-maili, przeglądania skrzynki pocztowej, czytania wiadomości - każda z tych aktywności jest od siebie niezależna, razem tworzą całą aplikację. Aktywność jest implementowana jako podklasa Activity.
- Usługi (ang. Services) - usługa charakteryzuje się działaniem długoterminowym wykonywanym w tle, np. możemy odtwarzać muzykę podczas gdy użytkownik korzysta z innej aplikacji, albo przesyłać dane bez blokowania oddziaływania użytkownika z aktywnością. Usługa jest implementowana jako podklasa Service.
- Dostawcy treści (ang. Content providers) - dostawca treści umożliwia dzielenie się danymi, a nawet modyfikowanie ich przez inne aplikacje (jeżeli dostawca treści na to zezwala). Możemy go użyć także do przechowywania prywatnych danych. Dostawca treści jest implementowany jako podklasa ContentProvider.
- Odbiorniki (ang. Broadcast receivers) - odbiornik reaguje na zdarzenia systemowe takie jak wyłączenie się wyświetlacza, niski poziom naładowania baterii, przechwycenie obrazu i inne. Zdarzenia są przekazywane do odbiornika za pomocą obiektu Intent. Odbiornik jest implementowany jako podklasa BroadcastReceiver.
Plik Manifest - czyli to, co każdy program mieć musi.
Plik AndroidManifest.xml określa między innymi:
- z jakich komponentów składa się nasza aplikacja
- potrzebne zezwolenia np. na połączenie z siecią, dostęp do kontaktów
- minimalne wymagania aplikacji typu: minimalny poziom API, który identyfikuje wersję platformy Android, potrzebne biblioteki np. OpenGL ES 2.0.
- użyte lub wymagane oprogramowanie czy sprzęt, np. kamerę, bluetooth.
<?xml version="1.0" encoding="utf-8"?> <manifest ... > <application android:icon="@drawable/app_icon.png" ... > <activity android:name="com.example.project.ExampleActivity" android:label="@string/example_label" ... > </activity> ... </application> </manifest>
Nie ma się co przejmować, w Eclipse mamy bardzo fajny edytor manifestu, możemy sporo wyklikać przy pomocy przyjaznego interfejsu. To by było na tyle, jeśli chodzi o takie ogólne rozeznanie.
<< Poprzednia lekcja | Następna lekcja >> |
Brak komentarzy:
Prześlij komentarz