Wprowadzenie do Androida
20 October 2008
Comments
Co to jest Android?
Android to platforma dla urządzeń mobilnych, w skład której wchodzi system operacyjny, middleware i aplikacje. Obecna wersja Android SDK zawiera zestaw narzędzi oraz API potrzebne do tworzenia aplikacji dla platformy Android z wykorzystaniem Javy. Główne funkcjonalności to:- Framework aplikacji umożliwiający ponowne wykorzystywanie komponentów
- Wirtualna maszyna Dalvik zoptymalizowana pod mobilne urządzenia
- Zintegrowana przeglądarka internetowa oparta o silnik WebKit
- Zoptymalizowana obsługa grafiki za pomocą własnej biblioteki 2D. Obsługa 3D oparta o specyfikację OpenGL ES 1.0.
- SQLite do przechowywania danych
- Obsługa popularnych formatów multimedialnych (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- Obsługa sieci GSM (zależne od sprzętu)
- Bluetooth, EDGE, 3G i WiFi (zależne od sprzętu)
- Kamera, GPS, kompas i akcelerometr (zależne od sprzętu)
- API Akcelerometru posiada stałe grawitacyjne dla Ziemi, wszystkich planet układu słonecznego, Gwiazdy Śmierci i "Tej Wyspy" (z Zagubionych/LOST) :)
- Bogate środowisko programistyczne zawierające debuger, profiler pamięci i wydajności, wtyczkę dla Eclipse IDE oraz emulator.
Aplikacje
Android będzie udostępniany z zestawem podstawowych aplikacji takich jak klient pocztowy, program do SMSów, kalendarz, mapy, przeglądarka internetowa, kontakty i inne. Wszystkie aplikacje napisane są w Javie.Framework Aplikacji
Programiści mają dostęp do tego samego API z jakich korzystają podstawowe aplikacje. Architektura aplikacji jest tak zaprojektowana by ułatwić wykorzystywanie gotowych komponentów i elementów aplikacji. Pod spodem działających aplikacji znajduje się szereg aplikacji, usług i podsystemów:- Zestawi Widoków, które można używać do budowania aplikacji (listy, siatki, kontenery tekstowe, przyciski, wbudowana przeglądarka)
- "Content Providers", czyli system umożliwiający dostęp do danych innych aplikacji (np. Kontaktów), lub do ich współdzielenia.
- Menedżer Zasobów zapewniający dostęp do zasobów takich jak lokalizacje, grafika i pliki layoutów
- Menedżer Powiadomień pozwalający wyświetlać własne powiadomienia w pasku stanu
- Menedżer Aktywności zarządzający cyklem życia aplikacji i udostępniający standardową nawigację
Biblioteki
Android wykorzystuje zestaw bibliotek C/C++. Ich funkcjonalność dostępna jest przez API frameworka Androida. Oto najważniejsze biblioteki:- Systemowa biblioteka C - implementacja libc dostosowana do wymogów systemów wbudowanych
- Biblioteki multimedialne - oparte o bibliteki OpenCORE firmy PacketVideo.
- Menedżer powierzchni - zarządza dostępem do podsystemu wyświetlania i obsługą grafiki 2D i 3D dla aplikacji
- LibWebCore - silnik przeglądarki www
- SGL - silnik grafik 2D
- Biblioteki 3D - implementacja bazująca na API OpenGL ES 1.0. Biblioteki wykorzystują sprzętowe wsparcie 3D jeżeli dostępne lub zoptymalizowane wsparcie sprzętowe.
- FreeType - rendering czcionek
- SQLite - baza danych
Środowisko aplikacji
Każda aplikacja działa jako oddzielny proces ze swoją instancją maszyny wirtualnej Dalvik. Maszyna wirtualna została tak napisana, by w systemie mogło wydajnie działać wiele jej instancji. Dalvik wykonuje pliki w formacie .dex (Dalvik Executable), zoptymalizowanym pod kątem niskiego zużycia pamięci. Maszyna wirtualna jest zależna od kernela Linuksa w kwestiach takich jak wielowątkowość czy niskopoziomowe zarządzanie pamięcią.
RkBlog
Comment article