Android - wprowadzenie. Łukasz Przywarty 171018



Podobne dokumenty
Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android

SOP System Obsługi Parkingów

Programowanie dla Androida. Ubiquitous

Czym jest Android Architektura systemu Cechy platformy Android

Google Android. Opracował Maciej Ciurlik

Programowanie aplikacji mobilnych

Systemy operacyjne dla telefonów komórkowych i urządzeń typu smartphone

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Agenda. Wprowadzenie do Androida

Android tworzenie aplikacji mobilnych

Mobilny system operacyjny Android

Technologie internetowe w programowaniu.

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład

Tworzenie aplikacji na platformie Android

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Wprowadzenie do systemu Android

Podstawy języka Java. przygotował:

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Wprowadzenie do systemu Android

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Systemy operacyjne na platformach mobilnych

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Laboratorium Systemów Mobilnych. Wykład 1

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Kontakt. Krzysztof Bzowski Tel B5 / 605

WPAM. W5 Android bardzo krótkie wprowadzenie. Piotr Gawrysiak.

WPAM. W5 Android bardzo krótkie wprowadzenie. Piotr Gawrysiak

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Systemy operacyjne na platformach mobilnych

OSGi Agata Hejmej

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

OpenGL Embedded Systems

Mobilne systemy operacyjne. Adam Malizjusz, Piotr Galanek

KARTA KURSU. Projektowanie aplikacji mobilnych

Mobilne aplikacje multimedialne

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ

RAPORT KOŃCOWY PROJEKTU

Java jako język programowania

Mobilne technologie geoprzestrzenne z uwzględnieniem aplikacji w systemie Android

OpenLaszlo. OpenLaszlo

Android (system operacyjny)

Instalujemy środowisko. Hello World! Odczyt/zapis informacji do komponentów na formie. onclick()

Architektura systemu. Środowisko programistyczne. Emulator systemu Android. Przegląd podstawowych pojęć. Pierwszy program.

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

MOBILNA BANKOWOŚĆ potrzeba czy moda?

Systemy operacyjne na platformach mobilnych

Piotr Orzechowski. Technologie Biznesu Elektronicznego

Technologia Programowania 2016/2017 Wykªad 13 Android. Jakub Lemiesz

Programowanie obiektowe zastosowanie języka Java SE

Symulator doboru koloru i przetłoczenia bramy garażowej oraz wzoru drzwi wejściowych. do elewacji budynku klienta

Struktury systemów operacyjnych

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie aplikacji mobilnych

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Programowanie w Javie 2. Płock, 26 luty 2014 r.

9.0 M ANDROID JELLYBEAN PROCESOR DUAL CORE

akademia androida Pierwsze kroki w Androidzie część I

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin,

Przetwarzanie danych w chmurze

Autor : Mateusz Kupczyk

Czym jest technologia Bluetooth?

Android, wprowadzenie do SDK

Konspekt pracy inżynierskiej

Dlaczego Android? Uczę się Javy więc piszę.. w Androidzie. Nie mam telefonu z Androidem!

Podstawy programowania. Wprowadzenie

Systemy operacyjne na urządzenia mobilne. Piotr Jastrzębski Piotr Laskowski Maciej Szarliński Tomasz Turski

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Udostępniliśmy dla państwa fragment książki opisującej tworzenie pierwszej aplikacji na system Android w środowisku Eclipse.

Usługi mobilne ipko biznes

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Przewodnik Google Cloud Print

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

WPROWADZENIE DO JĘZYKA JAVA

watermark TABLET LARK FreeMe X M ANDROID 4.1 JELLYBEAN PROCESOR DUAL CORE 1.5 GHz 1GB MB RAM 8GB PAMIĘĆ WEW. EKRAN 10 CALI Z PODŚWIETLENIEM LED

REACT NATIVE. Anna Maziejuk Kamil Jankowski

Dokumentacja techniczna

watermark TABLET LARK FreeMe GPS

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Przewodnik po ING BusinessMobile

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

POLITECHNIKA LUBELSKA

Programowanie w C. dr inż. Stanisław Wszelak

Przetwarzanie danych w chmurze

EJB 3.0 (Enterprise JavaBeans 3.0)

Programowanie aplikacji na urządzenia mobilne

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Platformy programistyczne:.net i Java WYKŁ AD 1: WPROWADZENIE

Wprowadzenie do App Inventor

Release Notes Process Data Flow ("PDF" )

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Transkrypt:

Android - wprowadzenie Łukasz Przywarty 171018

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

Czym jest Android? System operacyjny + + Zestaw bibliotek Aplikacje Utworzony przez konsorcjum 86 firm wchodzących w skład Open Handset Alliance (OHA) w 2007 r. 3/23

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

Czym jest Android? C.d. 75% - udział na rynku platform mobilnych (ios 14,9%, Blackberry - 4,3%). 500 000 000 liczba aktywowanych urządzeń. 1 300 000 dzienna liczba aktywacji. System dostępny na telefonach komórkowych, tabletach ale również: telewizorach, netbook ach czy aparatach cyfrowych. 5/23

Krótka historia rozwoju Androida 10.2003 utworzenie Android Inc. (Andy Rubin, Rich Miner, Nick Sears, Chris White). 17.08.2005 przejęcie Android Inc. przez Google. 6/23

Krótka historia rozwoju Androida c.d. 5.11.2007 pierwsze oficjalne wydanie SDK. 22.10.2008 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

Architektura systemu 8/23

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

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

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

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

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:.java.class.dex wydajna obsługa nawet dużej liczby odrębnych DVM. 13/23

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

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

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

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

Cykl życia aplikacji c.d. 18/23

Ś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

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

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

Bibliografia Collins Ch., Halpin M., Kappler M., Anroid in practice, 2012 http://developer.android.com 22/23

Android - wprowadzenie Łukasz Przywarty 171018