Pobierz prezentację
1
Android - wprowadzenie
Łukasz Przywarty
2
Ramowy plan prezentacji
Czym jest Android: definicja, krótka historia. Architektura systemu. Architektura aplikacji. Właściwości systemu. Środowisko deweloperskie. Zalety i wady 2/23
3
Czym jest Android? Utworzony przez konsorcjum 86 firm wchodzących w skład Open Handset Alliance (OHA) w 2007 r. System operacyjny + + Aplikacje Zestaw bibliotek 3/23
4
Czym jest Android? C.d. Napisany w: C, C++, Java.
Wspierane platformy: ARM, MIPS, x86. Rodzina systemów operacyjnych: Unix, Linux. Ostatnia stabilna wersja: 4.2 Jelly Bean. Licencja: Apache 2.0. 4/23
5
Czym jest Android? C.d. 75% - udział na rynku platform mobilnych (iOS – 14,9%, Blackberry - 4,3%). – liczba aktywowanych urządzeń. – dzienna liczba aktywacji. System dostępny na telefonach komórkowych, tabletach ale również: telewizorach, netbook’ach czy aparatach cyfrowych. 5/23
6
Krótka historia rozwoju Androida
– utworzenie Android Inc. (Andy Rubin, Rich Miner, Nick Sears, Chris White). – przejęcie Android Inc. przez Google. 6/23
7
Krótka historia rozwoju Androida c.d.
– pierwsze oficjalne wydanie SDK. – pierwsze komercyjne wydanie Androida z telefonem komórkowym (HTC Dream). 2010 – Android wiodącą platformą na rynku urządzeń mobilnych (wcześniej Symbian). 2012 – 75% udział w rynku, 500 milionów aktywnych urządzeń. 7/23
8
Architektura systemu 8/23
9
Architektura systemu - aplikacje
4. warstwa. Wykonywane przez maszynę wirtualną Dalvika. Wbudowane aplikacje: książka kontaktów, kalendarz, przeglądarka internetowa, telefon, klient wiadomości SMS/MMS itd. Aplikacje w markecie /aplikacje użytkownika. Aplikacje napisane w języku JAVA. 9/23
10
Architektura systemu - komponenty
3. warstwa. Framework aplikacji: manager widoków, manager aktywności, manager powiadomień, manager zasilania, manager okien, odtwarzacz multimediów… Możliwość zastępowania komponentów. Każda aplikacja równa. Równoległe wykonywanie. 10/23
11
Architektura systemu - biblioteki
2. warstwa. Zestaw bibliotek (C/C++) wykorzystywanych przez komponenty. SQLite, SSL, libc, OpenGL, WebKit etc. Dostęp możliwy poprzez framework aplikacji. 11/23
12
Architektura systemu – biblioteki c.d.
2. warstwa. Podstawowe biblioteki dające funkcjonalności znane z języka JAVA. API do struktur danych, obsługi plików, sieci, grafiki etc. Dalvik Virtual Machine (1): wirtualna maszyna Javy – wersja Google, środowisko uruchomieniowe dla każdej aplikacji (jedna aplikacja, jeden proces, jedna instancja DVM), 12/23
13
Architektura systemu – biblioteki c.d.
Dalvik Virtual Machine (2): różnice w stosunku do JVM: inne kody bajtowe (bytecodes), kod w całości w jednym pliku .dex (zamiast w wielu plikach klas), DVM bazuje na rejestrach (zamiast stosach), kompilacja: wydajna obsługa nawet dużej liczby odrębnych DVM. .java .class .dex 13/23
14
Architektura systemu – Linux kernel
1. warstwa. Język C. Obsługa podstawowych usług systemu. Zarządzanie pamięcią i procesami. Stos sieciowy. Sterowniki. Bezpieczeństwo. 14/23
15
Architektura aplikacji
Plik .apk – zasadniczo .zip z określoną strukturą pliku. Budowa pliku .apk: plik manifestu (XML z dużą dawką metadanych – biblioteki, uprawnienia, wersja API etc.), paczka źródeł (dźwięki, grafika etc.), klasy DVM tworzące aplikację. 15/23
16
Stos aplikacji Uruchomienie aplikacji:
tworzenie procesu zawierającego aktywność, okno aplikacji zajmuje cały ekran (oprócz paska statusu) możliwość przełączenia aplikacji lub ekranu aplikacji, ekrany są przechowywane na stosie, istnieje możliwość powrotu do poprzedniego widoku. 16/23
17
Cykl życia aplikacji 3 stany.
Stan aktywny – aktywność na pierwszym planie (na szczycie stosu), Stan pauzy – gdy traci focus, ale jest nadal widoczna dla użytkownika (np. gdy zajmuje część ekranu), Stan zatrzymania – aktywność przykryta przez inną aktywność. 17/23
18
Cykl życia aplikacji c.d.
18/23
19
Środowisko deweloperskie
Android SDK – debugger, biblioteki, emulator, dokumentacja, próbki kodu, tutoriale. Wspierane IDE: Eclipse z ADT (Android Development Tool), IntelliJ IDEA, NetBeans. Android NDK (Native Development Kit) – dla bibliotek napisanych w C i innych językach. Android Debug Bridge (ADB). 19/23
20
Zalety systemu Android
Kompletna platforma (IDE, emulator). Otwartość i dostępność. Łatwość i prostota wdrożenia (Java). Bogata biblioteka komponentów (np. klawiatura), które można zastąpić własnym rozwiązaniem. Możliwość obsługi innych urządzeń niż telefony i tablety. 20/23
21
Wady systemu Android Otwartość – względy bezpieczeństwa.
Rozproszenie – dedykowane wersje systemu na różne urządzenia, dla różnych operatorów, utrudniona procedura aktualizacji. 21/23
22
Bibliografia Collins Ch., Halpin M., Kappler M., Anroid in practice, 2012 22/23
23
Android - wprowadzenie
Łukasz Przywarty
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.