Programowanie dla Androida. Ubiquitous

Podobne dokumenty
KOTLIN. Język programowania dla Androida

Android - wprowadzenie. Łukasz Przywarty

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

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

SOP System Obsługi Parkingów

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

Czym jest Android Architektura systemu Cechy platformy Android

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

Agenda. Wprowadzenie do Androida

Programowanie dla Androida

Google Android. Opracował Maciej Ciurlik

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Wbudowane systemy operacyjne

Android, wprowadzenie do SDK

Kontakt. Krzysztof Bzowski Tel B5 / 605

Technologie internetowe w programowaniu.

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

Android tworzenie aplikacji mobilnych

Wprowadzenie do systemu Android

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Systemy operacyjne na platformach mobilnych

Szkolenie Android dla początkujących

Programowanie dla Androida. Ubiquitous

komunikator na platformę Android wspierający protokół GG

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

Programowanie aplikacji mobilnych

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

WIĘCEJ NIŻ TELEFON! CZĘŚĆ PIERWSZA - WPROWADZENIE

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

OSGi Agata Hejmej

Wprowadzenie do systemu Android

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

Utworzenie pliku. Dowiesz się:

HermesEX. Dokumentacja serwisowa v

Tworzenie aplikacji na platformie Android

Mobilny system operacyjny Android

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

Laboratorium Systemów Mobilnych. Wykład 1

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

etrader Pekao Podręcznik użytkownika Jak zacząć pracę z etrader Pekao?

PRZEWODNIK PO ETRADER PEKAO ROZDZIAŁ I. JAK ZACZĄĆ PRACĘ Z ETRADER PEKAO? SPIS TREŚCI

ActiveXperts SMS Messaging Server

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Rok akademicki: 2015/2016 Kod: JIS GK-s Punkty ECTS: 4. Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

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

Konspekt pracy inżynierskiej

GSMONLINE.PL. Twój smartfon Huawei może być jeszcze szybszy Akcja. partnerska

akademia androida Pierwsze kroki w Androidzie część I

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Instrukcja instalacji oprogramowania do składania podpisu elektronicznego, pod umową o zarządzanie PPK, przy uz yciu certyfikatu kwalifikowanego

Programowanie obiektowe zastosowanie języka Java SE

Usługi mobilne ipko biznes

Tworzenie oprogramowania

1.Wstęp. 2.Generowanie systemu w EDK

Przygotowanie środowiska Java do prawidłowej obsługi podpisu elektronicznego w epuap

Kontakt. Krzysztof Bzowski Tel B5 / 605

Programowanie usług działających w tle

(Pluggable Authentication Modules). Wyjaśnienie technologii.

Java jako język programowania

OpenLaszlo. OpenLaszlo

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

Środowiska i platformy programistyczne

Poradnik użytkownika pomoc techniczna

system operacyjny Autor prezentacji: prof. dr hab. Maria Hilczer 1

Mariusz Fraś. Instytut Informatyki. olitechnika Wrocławska. Systemy Wbudowane. Android. Dr inż. Mariusz Fraś. maf 1

Nawigacja po trasie wycieczki

Wprowadzenie do biblioteki klas C++

Wymagania systemowe dla Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

KARTA KURSU. Projektowanie aplikacji mobilnych

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Programowanie dla Androida. Ubiquitous

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

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

Wymagania systemowe dla Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Struktury systemów operacyjnych

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

HP OfficeJet 250 Mobile All-in-One series. Instrukcja instalacji Bluetooth

UNIFON podręcznik użytkownika

ESET Mobile Security

Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

Programowanie Systemów Czasu Rzeczywistego

Programowanie procesora Microblaze w środowisku SDK

Procedury techniczne modułu Forte Kontroling. Środowisko pracy programu i elementy konfiguracji

Instrukcja powiązania urządzenia mobilnego oraz autoryzacja operacji w bankowości elektronicznej Banku Spółdzielczego w Bieczu (Asseco CBP)

Czym jest technologia Bluetooth?

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

CMS, CRM, sklepy internetowe, aplikacje Web

Wykaz zmian w programie WinAdmin Replikator

Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT

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

Programowanie aplikacji mobilnych

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Instrukcja postępowania w celu złożenia podpisu elektronicznego na dokumentach składanych do SISC za pośrednictwem portalu PUESC.

Transkrypt:

Programowanie dla Androida Ubiquitous

Historia Opracowany pierwotnie przez firmę Android Inc. z Palo Alto (Andy Rubin, Rich Miner, Nick Sears, Chris White), założoną w 2003 r. Pierwotnie planowany jako system dla aparatów fotograficznych Dopiero później podjęto decyzję o przeniesieniu systemu dla telefonów jako konkurencji dla Symbian i Windows Mobile.

Historia W 2005 r. Google przejął firmę Android i kontynuował prace nad systemem oferując go bezskutecznie kilku producentom telefonów. 9 stycznia 2007 r. prezentacja iphone a kompletnie zrewolucjonizowała podejście Google do systemu. 23 września 2008 r. miała miejsce premiera pierwszego telefonu z Androidem HTC Dream (w Polsce Era G1).

Historia wersji WERSJA NAZWA PREMIERA POZIOM API 1.0 Brak 23.09.2008 1 1.1 (Petit Four) 9.02.2009 2 1.5 Cupcake 27.04.2009 3 1.6 Donut 15.09.2009 4 2.0-2.1 Eclair 26.10.2009 5-7 2.2-2.2.3 Froyo 20.05.2010 8 2.3-2.3.7 Gingerbread 6.12.2010 9-10 3.0-3.2.6 Honeycomb 22.02.2011 11-13 4.0-4.0.4 Ice Cream Sandwich 18.10.2011 14-15 4.1-4.3.1 Jelly Bean 9.07.2012 16-18 4.4-4.4.4 KitKat 31.10.2013 19-20 5.0-5.1.1 Lollipop 12.11.2014 21-22 6.0-6.0.1 Marshmallow 5.10.2015 23 7.0-7.1.2 Nougat 22.08.2016 24-25 8.0-8.1 Oreo 21.08-2017 26-27

Android System operacyjny oparty na jądrze Linux a. Dostosowany do obsługi za pomocą interfejsu dotykowego. Głównie przeznaczony dla platform ARM32 i ARM64. Dostępny jako open-source w ramach projektu Android Open Source Project. W praktyce część oprogramowania urządzeń jest własnościowa.

Android Android trafił też do telewizorów, komputerów, zegarków, samochodów Dystrybucja aplikacji poprzez Google Play Store (dawniej Android Market) Większość bibliotek jest napisana w C

Architektura

Programowanie Podstawowym językiem dla platformy jest od początku Java. Do wersji 4.4 za wykonanie kodu odpowiedzialna była maszyna o nazwie Dalvik. Od 4.4 odpowiada za nie Android Run Time (ART). Można też pisać kod w C/C++. Alternatywnym językiem jest też obecnie Kotlin.

Programowanie Kod źródłowy w Javie/Kotlinie jest tłumaczony do postaci bytecode u (DEX) W momencie instalacji na urządzeniu DEX jest kompilowany do instrukcji procesora jako Executable and Linkable Format (ELF). W momencie uruchomienia ładowany jest kod ELF, co znacznie przyspiesza jego działanie i oszczędza baterię.

Biblioteki Zawierają w sobie wsparcie dla funkcji oferowanych przez urządzenie. Często są to wrapery dla bibliotek napisanych w C/C++

Przykładowe biblioteki android.app - model aplikacji android.database - dostęp do baz danych android.graphics - podstawowa grafika 2D android.opengl - grafika 3D android.net - obsługa sieci android.webkit - obsługa przeglądarki www

Application Framework Zawiera usługi umożliwiające uruchamianie i działanie aplikacji. Zawiera: Activity Manager - steruje cyklem życia aplikacji. Content Providers - umożliwia współdzielenie danych między modułami. Resource Manager - zarządza zasobami spoza aplikacji.

Application Framework Notifications Manager - umożliwia wyświetlanie powiadomień. View System - widoki składające się na interfejs użytkownika. Package Manager - umożliwia zarządzanie zainstalowanymi aplikacjami. Telephony Manager - obsługuje funkcjonalność telefonu. Location Manager - dostęp do usług lokalizacji.

Programowanie Twórcy Androida byli mocno nastawieni na wielokrotne wykorzystanie komponentów. Stąd program na Androida składa się z szeregu niezależnych od siebie modułów nazywanych Aktywnościami (Activities), które mogą być wielokrotnie wykorzystywane. Aktywność nie wie kiedy zostanie wywołana i nie może bezpośrednio zależeć od innych aktywności (mieć dostępu do jej metod lub pól). Aktywność dziedziczy po klasie Activity.

Aby aktywności mogły się ze sobą komunikować, muszą wykorzystywać mechanizm Intencji (Intent). Intencje zawierają opis operacji i opcjonalnie dane z nią związane. Intencja może wprost wskazać klasę, która ma zostać wywołana (explicite) albo zostawić wybór klasy ART (implicite). Intencje nadawcze (Broadcast Intents) - rozsyłają komunikaty do wszystkich aplikacji w systemie, które zapiszą się na ich nasłuchiwanie (Broadcast Receivers).

Usługi Usługa (Service) to proces, który jest pozbawiony interfejsu użytkownika i może wykonywać zadania w tle. Może zostać uruchomiony i zarządzany przez aktywność. Usługi mogą też wyświetlać prost powiadomienia.

Manifest aplikacji Jest to plik XML opisujący aplikację. Zawiera informacje o: Aktywnościach, Usługach (Services), Odbiorcach (Brodcast Receivers), Dostawcach danych, Uprawnieniach aplikacji.

Zasoby W pakiecie aplikacji znajdują się też różne zasoby, takie jak: Łańcuchy tekstowe, Grafiki, Czcionki,

Czas życia aplikacji Mimo niezłych specyfikacji technicznych współczesnych telefonów są one nadal uważane za urządzenia o ograniczonych zasobach. Dlatego system zarządza aplikacjami inaczej niż biurkowy system operacyjny. Gdy zaczyna brakować zasobów, procesy są zabijane, a ich zasoby zwalniane. O kolejności zabijania decyduje priorytet procesu.

Czas życia aplikacji Proces pierwszoplanowy Najwyższy priorytet Proces widoczny Proces - usługa Proces w tle Proces pusty Najniższy priorytet

Czas życia aplikacji Stan aplikacji jest wprost zależny od stanu jej aktywności. W trakcie działania systemu wszystkie aktywności są przechowywane na stosie (Activity Stack). Nowa aktywność jest zawsze umieszczana na szczycie stosu. Po zamknięciu aktywności (np. przyciskiem Back ), jest ona zdejmowana ze stosu, a uaktywniana jest ta, która była poprzednio.

Czas życia aplikacji Aktywność uruchamiania Push Pop Stos aktywności Najświeższe Najstarsze Aktywność aktywna Aktywność aktywna poprzednio Aktywność Aktywność najstarsza Zabita Aktywność zamknięta lub użytkownik wrócił do poprzedniej Aktywność zabita aby uwolnić pamięć

Czas życia aplikacji Aktywność może znajdować się w jednym ze stanów: Aktywna - na szczycie stosu, widoczna na ekranie i w interakcji z użytkownikiem, Wstrzymana (Paused) - jest widoczna na ekranie, ale może być częściowo przysłonięta. W każdej chwili jest gotowa do powrotu na wierzch stosu. Zatrzymana - nie jest widoczna, jest stan jest zachowany, ale w stosunku do wstrzymanej jej usunięcie jest bardziej prawdopodobne. Zabita - aktywność została usunięta ze stosu, jej pamięć zwolniona, a ponowne wyświetlenie wymaga inicjalizacji.

Czas życia aplikacji Jeszcze jednym powodem wymuszenia przeładowania aktywności może być zmiana konfiguracji, np. zmiana orientacji ekranu, czcionki systemowej, Aktywność jest wtedy niszczona i inicjalizowana ponownie. Aktywność można skonfigurować aby była niewrażliwa na pewne zmiany.

Narzędzia programistyczne Android Studio - oficjalne środowisko IDE od Google IntelliJIDEA Eclipse Android-IDE Cordova Corona Xamarin CppDroid

Android Studio Dostosowana do potrzeb Androida wersja IntelliJ IDEA Dostępne dla Windows, macos i Linux a Początki od maja 2013 r. Aktualnie wersja 3 od października 2017 r.

Android Studio