Android - wprowadzenie

Slides:



Advertisements
Podobne prezentacje
Systemy operacyjne.
Advertisements

Prezentacja na temat: Porównanie Windows XP i Windows 7
Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Agnieszka Lewandowska, Cezary Mazurek, Marcin Werla
Platforma .Net i Vs.Net.
MOJA KOMÓRKA JEST SPOŁECZNA Czyli o Facebooku i nie tylko...
PHP vs. ASP PHP – lider wydajności wśród języków skryptowych.
Eclipse jako IDE III a.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Systemy operacyjne Bibliografia:
„Migracja środowisk Novell NDS/eDirectory oraz Novell Groupwise do środowiska Microsoft Active Directory oraz Microsoft Exchange przy użyciu narzędzi Quest.
Longhorn - Usługi terminalowe
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Wielosystemowa platforma C++
Systemy zarządzania treścią CMS
Systemy operacyjne. Co to jest system operacyjny? OS (ang. Operating System) to program, który kontroluje pracę uruchomionych przez użytkownika aplikacji,
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
WebSphere Everyplace Micro Environment
WebSphere Everyplace Micro Environment IBM Workplace Client Technology, Micro Edition Monika Nawrot, Tomasz Jadczyk, Tomasz Sadura KI, EAIiE, AGH.
WebSphere Everyplace Micro Environment IBM Workplace Client Technology, Micro Edition Monika Nawrot, Tomasz Jadczyk, Tomasz Sadura KI, EAIiE, AGH.
Dropbox.
C# Windows Forms Zastosowania Informatyki Wykład 2
Nowoczesny system zarządzania firmą
IT Asset Management Service
System webowy do tworzenia kolektywnych prototypów aplikacji sieciowych i mobilnych Łukasz Przywarty
Web Serwisy w praktyce Technologie internetowe ( )
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
1. Wstęp Norbsoft Sp. z o.o. od 2003 roku tworzy oprogramowanie dla urządzeń przenośnych, w szczególności telefonów komórkowych, specjalizując się w aplikacjach.
Bankowość Mobilna.
Architektura Systemu Źródło:
Telefon przyjazny programistom JAVA – szybkie wprowadzenie
HTML5 - czy przewróci do góry nogami rynek aplikacji?
Dr hab. Dariusz Piwczyński Katedra Genetyki i Podstaw Hodowli Zwierząt
Instalacja i narzędzia. Beta-kod i maszyna wirtualna
Licencjonowanie narzędzi dla programistów
Tworzenie aplikacji mobilnych
Programowanie obiektowe – zastosowanie języka Java SE
JAVA.
Maszyna wirtualna ang. virtual machine, VM.
BAZA ADRESOWA WOJEWÓDZTWA ŁÓDZKIEGO
Michał Gmerek, Krzysztof Słodowicz
Sterowanie aplikacjami Windows za pomocą bluetooth
Telefony Świata.
Architektura współczesnych gier video Adam Sawicki asawicki.infoasawicki.info
Prezentacja systemu. System elektronicznej dystrybucji biletów komunikacji miejskiej, dalekobieżnej oraz opłat w strefach płatnego parkowania. Sprawdzone.
Przeglądarki Wszelkie prawa zastrzeżone! Google Chrome – przeglądarka internetowa tworzona przez Google. Jej kod został napisany w oparciu o rozwiązania.
1 Analiza możliwości języka C# w aspekcie oprogramowania dla myszy Łukasz Łysyganicz Nr indeksu Praca napisana pod kierunkiem: Prof. nzw. Dr hab.
Rozwiązania biznesowe RIM. Czym jest RIM? kanadyjska firma Research In Motion założona w 1984 roku w Waterloo. producent znanej linii urządzeń BlackBerry.
Android - cykl życia aplikacji, przykład prostej aplikacji
Platforma .Net.
Struktura systemu operacyjnego
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
Użycie języka w procesie porozumiewania się. GEST to dowolny ruch wykonywany przez kogoś świadomie lub nie. MIMIKA to ruchy mięśni twarzy wyrażające.
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
PROJEKT I IMPLEMENTACJA APLIKACJI MOBILNEJ "INFORMATOR UO”. Autor: Marcin Marcinkowski Promotor: Dr Helena Kiriczenko.
Android WYKŁAD 1. Kontakt Krzysztof Bzowski Tel B5 / 605
Kompilator eBook w technologii Java Dyplomant: Maciej Bagrowski Promotor: dr inż. Walery Susłow Politechnika Koszalińska Wydział Elektroniki i Informatyki.
System lokalizacji GPS
Dominika Jasińska klasa 2C.
SMB – Pierwszy projekt Michail Mokkas.
Programowanie obiektowe – zastosowanie języka Java SE
Wprowadzenie do systemu Android
Systemy operacyjne urządzeń mobilnych
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

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? Utworzony przez konsorcjum 86 firm wchodzących w skład Open Handset Alliance (OHA) w 2007 r. System operacyjny + + Aplikacje Zestaw bibliotek 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: wydajna obsługa nawet dużej liczby odrębnych DVM. .java .class .dex 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