27 Cze 2012 ... Android SDK to zestaw narzędzi niezbędny do pisania aplikacji dla systemu
Android. ▻ Językiem wykorzystywanym do programowania ...
Android
1
Czym jest Android Architektura systemu Cechy platformy Android
2
Android to oprogramowanie urządzeń mobilnych, łącznie z systemem operacyjnym, oprogramowaniem pośrednim (middleware) oraz kluczowymi aplikacjami systemowymi. Android SDK to zestaw narzędzi niezbędny do pisania aplikacji dla systemu Android Językiem wykorzystywanym do programowania aplikacji jest Java
3
Wersje ◦ 1.0 API Level 1 Apple Pie (nieoficjalna) ◦ 1.1 API Level 2 Banana bread (nieoficjalna) ◦ 1.5 API Level 1.3 Cupcake (Linux 2.6.27) data wydania 30 kwietnia 2008 ◦ 1.6 API Level 4 Donut (Linux 2.6.29) ◦ 2.0 API Level 5 Eclair 2.0.1 API Level 6 2.1 API Level 7
4
Wersje ◦ 2.2 API Level 8 Froyo (Linux 2.6.32) 2.2.1, 2.2.2
◦ 2.3 API Level 9 Gingerbread ◦ 2.3.3, 2.3.4, 2.3.5, 2.3.6, 2.3.7 API Level 10 Gingerbread (Linux 2.6.35)
5
Wersje ◦ 3.0 API Level 11 Honeycomb (Linux 2.6.39) ◦ 3.1 API Level 12 ◦ 3.2 API Level 13
6
Wersje ◦ 4.0 API Level 14 Ice Cream Sandwich (Linux 3.0.1) 19 października 2011 ◦ 5.0 API Level 15 Jelly Bean (Linux 3.0.9) zapowiedziana na 27 czerwca 2012 ◦ Pierwszym dostępnym w sprzedaży urządzeniem z systemem Android był G1 (znany też jako HTC Dream).
7
Przeważająca część urządzeń wyposażonych w ten system to urządzenia z ekranem dotykowym, w tym telefony komórkowe, tablety PC oraz czytniki książek elektronicznych. Planowane jest również wprowadzenie tego systemu dla urządzeń set-top box
8
Set-top box (przystawka STB, dekoder STB) – elektroniczne urządzenie podłączane do telewizora. Umożliwia odtwarzanie video, dźwięku, przeglądanie stron internetowych, granie w gry komputerowe itp. Set-top box wykorzystuje w tym celu najczęściej antenę satelitarną, ale może wykorzystywać również łącze ethernetowe, łącze telewizji kablowej, linię telefoniczną (włączając w to DSL/ADSL) albo nawet zwykłą antenę UHF/VHF. 9
10
Aplikacje ◦ System Android dostarczony jest z zestawem podstawowych aplikacji takich jak klient poczty email, program obsługi SMS, kalendarz, mapy, przeglądarka internetowa, kontakty oraz wiele innych. ◦ Wszystkie te aplikacje napisane są z wykorzystaniem języka Java
11
Szkielet do budowy aplikacji (Application Framework) ◦ Definiuje on strukturę aplikacji oraz ogólny mechanizm jej działania, a także dostarcza zestaw komponentów i bibliotek ogólnego przeznaczenia do wykonywania określonych zadań. ◦ Programista tworzy aplikację, rozbudowując i dostosowując poszczególne komponenty do wymagań realizowanego projektu, tworząc w ten sposób gotową aplikację.
12
Application framework, Wirtualna maszyna Dalvik, Zintegrowana przeglądarka stron WWW, Zoptymalizowana grafika – biblioteki dla grafiki 2D, grafika 3D bazująca na OpenGL ES 1.0, SQLite – system zarządzania bazą danych, Wsparcie dla plików multimedialnych – mp3, mp4, JPG itp., Telefon GSM, Wsparcie dla technologii przesyłania danych Bluetooth, EDGE, 3G i WiFi, Wsparcie dla urządzeń w telefonie takich jak kamera, GPS, kompas, akcelerometr, Bogate środowisko deweloperskie. 13
Platforma oferuje wsparcie dla bardzo dużej liczby technologii – wykorzystanie bibliotek OpenGL – na platformie Android pozwalające na uruchomienie gier, które korzystają z tych bibliotek. Innym nowatorskim rozwiązaniem jest system zarządzania bazą danych w komórce – SQLite. Oznaczający brak problemów z trzymaniem w komórce książki telefonicznej kilku milionów nr telefonów.
14
Następną cechą charakterystyczną dla Platformy Android jest wirtualna maszyna Dalvik, która bazuje na maszynie Java, ale różni się od swojego pierwowzoru, np. będzie ona miała dostęp do wszystkich urządzeń telefonu, w odróżnieniu od wirtualnej maszyny JAVA, która miała tylko dostęp do takich zasobów telefonu komórkowego jak klawiatura i głośnik.
15
Swobodny dostęp apletów Dalvik do zasobów komórki, wiąże się z niebezpieczeństwem wykorzystania ich do działań szkodliwych – wirus umieszczony w aplikacji może wykraść dane lub też zadzwonić na nr telefonu o podwyższonej płatności czy wysłać SMSa.
16
Platforma Android ma system pozwoleń – każda aplikacja uruchamia się w swoim własnym procesie – użytkownik ma kontrolę nad przydzielonym zasobami dla aplikacji – jednak przez nieuwagę, wprowadzenie w błąd itp. użytkownik może przydzielić szkodliwej aplikacji jakiś ważny zasób telefonu.
17
Podczas instalacji aplikacji na urządzeniu Android, system Android utworzy unikalny identyfikator użytkownika i grupę dla każdej aplikacji Android. Każdy plik aplikacji jest prywatny dla niej inne aplikacje nie mają dostępu do tych plików.
18
Activity stanowi warstwę prezentacji aplikacji Android. Uproszczonym (i nieco błędnym) opisem jest to, że Activity jest ekran aplikacji. To jest trochę niepełny opis ponieważ Activity może być wyświetlane jako okien dialogowych lub przezroczyste okno. Aplikacja Android może mieć kilka Aktywności. 19
View Widok to kontrolki interfejsu użytkownika takie jak przyciski lub pola tekstowe Klasa ViewGroup jest odpowiedzialna za układ i rozkład komponentów w widoku.
20
Intents to asynchroniczne komunikaty, które pozwalają aplikacji zażądać funkcjonalności od innych składowych systemu (usług lub aktywności) opisujemy określone działanie, najprostsze przykłady to „uruchom nową aktywność”, „zadzwoń na podany numer”, czy też ”uruchom kamerę”. Każda czynność w Androidzie przechodzi przez intencje. 21
Services (usługi) Zapewniają wykonywanie zadania w tle bez dostarczania interfejsu użytkownika Kontekst pomaga nam w otrzymywaniu dostępu do wszystkich danych systemowych. Dzięki niemu możemy pobierać numer identyfikacyjny elementu (ID), uruchamiać aktywności lub określać gdzie dany element ma zostać uruchomiony.
22
Widgets Są to interakcyjne komponenty ekranu głównego, zazwyczaj wyświetlają jakieś dane oraz pozwalają użytkownikowi na wykonywanie akcji. Przykład zegar wyświetlany na ekranie głównym z możliwością ustawienia alarmu.
23
Firma google dostarcza zestaw narzędzi niezbędnych przy projektowaniu oraz implementowaniu aplikacji dla systemu Android. Android Development Tools (ADT) ADT zawiera wszystkie niezbędne elementy niezbędne do tworzenia, kompilowania, odpluskwiania oraz instalowania aplikacji ADT zawiera również emulator urządzenia, który pozwala na testowanie aplikacji bez konieczności posiadania telefonu wyposażonego w system Android 24
Wirtualna maszyna Dalvik System Android wykorzystuje specjalną wirtualną maszynę Javy, używa ona specjalnego kodu różniącego się od kodu Javy. System android dostarcza narzędzie dx służące do konwersji binarnej wersji klasy Java do formatu dex (Delvik Executable) Wszystkie pliki z klasami jednej aplikacji umieszczane są w jednym skompresowanym pliku dex 25
Plik .dex oraz zasoby aplikacji (obrazy, pliki XML itp.) pakowane są do jednego pliku z rozszerzeniem .apk (Android Package) Program aapt (Android Asset Packaging Tool) służy do wykonania tej czynności.
26
Końcowy plik z aplikacją .apk może zostać przeniesiony na urządzenie wyposażone w system Android z wykorzystaniem narzędzia adb (Android Debug Bridge)
27
Przed napisaniem pierwszego projektu musimy przygotować sobie odpowiednie środowisko pracy Pierwszym elementem niezbędnym do rozpoczęcia programowania w języku Java jest Java Standard Edtition Development Kit (JDK). Aktualnie najnowsza wersja to Java SE 7 Update 3.
28
Java Development Kit pobieramy ze strony http://www.oracle.com/technetwork/j ava/javase/downloads/index.html. Wybieramy najnowszą wersję i po pobraniu instalujemy. Podczas instalacji należy zapamiętać gdzie JDK zostało zainstalowane (domyślnie w systemie Windows jest to C:\Program Files\Java).
29
Kolejnym elementem niezbędnym do rozpoczęcia pracy jest odpowiednie środowisko programistyczne (IDE – Integrated Development Environment). Jest dostępnych kilka różnych IDE, ale poleca się głównie dwa: NetBeans oraz Eclipse. Będziemy korzystali z tego drugiego, ponieważ nie wymaga instalacji
30
Eclipse pobieramy ze strony http://www.eclipse.org/downloads/. Wybieramy wersję Eclipse IDE for Java Developers. Aktualnie najnowsza wersja to Indigo (3.7.2). Pobrany plik należy rozpakować i uruchomić poprzez Eclipse.exe.
31
Po uruchomieniu Eclipse zapyta się o lokalizację przestrzeni roboczej (Workspace), czyli o ścieżkę gdzie ma zapisywać nasze projekty. W systemie Windows domyślną ścieżką jest C:\Users\nazwa_uzytkownika\workspace. Ścieżkę można zmienić.
32
Kiedy już skonfigurujemy Eclipse do pracy z językiem Java, musimy wykonać kilka dodatkowych kroków, aby Eclipse umożliwił nam pisanie programów na platformę Android. Zestrony http://developer.android.com/sdk/i ndex.html należy pobrać i zainstalować Android SDK (najlepiej korzystając z pliku .exe). Po zakończeniu instalacji pojawi się okienko Android SDK Manager.
33
34
Z listy pakietów wybieramy tylko Android 2.2 (API8) i klikamy Install packages. Nie jest to najnowsza wersja platformy, ale należy liczyć się z tym, że bardzo wielu użytkowników Androida korzysta ze starszych wersji systemu (oczywiście można zainstalować kilka różnych wersji SDK i wybrać odpowiednią podczas tworzenia projektu). W systemie Windows konieczne jest również zaznaczenie i zainstalowanie Google USB Driver package, jeżeli będziemy chcieli testować nasze programy na rzeczywistym urządzeniu.
35
36
Po zainstalowaniu zamykamy okienko Android SDK Manager i uruchamiamy Eclipse. Kolejnym krokiem będzie zainstalowanie pluginu Android Developer Tool dla Eclipse. W tym celu z menu głównego Eclipse wybieramy Help -> Install New Software… Następnie w okienku, które się pojawi należy dodać nowe źródło oprogramowania klikając przycisk Add.
37
Podajemy dowolną nazwę, a w polu adresu wpisujemy: https://dl-ssl.google.com/android/eclipse/.
38
39
40
Po zakończeniu instalacji należy ponownie uruchomić Eclipse. Ostatnim krokiem niezbędnym do rozpoczęcia pracy jest utworzenie emulatora, czyli wirtualnego urządzenia z systemem Android. Z menu głównego wybieramy Window -> AVD Manager (AVD – Android Virtual Device).
41
42
43
Kończymy klikająć Create AVD. Nasz emulator powinien się teraz pojawić na liście w Android Virtual Device Manager. Teraz możemy stworzyć nasz pierwszy projekt.
44
Tworzymy pierwszy projekt File->New->Other…
45
46
47
48
Window->AVD Manager
49
50
KONIEC
51