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

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

Zagadnienia wstępne WSTĘP DO PROGRAMOWANIA APLIKACJI MOBILNYCH DLA SYSTEMU ANDROID

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

Android - wprowadzenie. Łukasz Przywarty

Programowanie dla Androida. Ubiquitous

Android, wprowadzenie do SDK

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Google Android. Opracował Maciej Ciurlik

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

Laboratorium Systemów Mobilnych. Wykład 1

SOP System Obsługi Parkingów

Systemy operacyjne na platformach mobilnych

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

Programowanie aplikacji mobilnych

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

akademia androida Pierwsze kroki w Androidzie część I

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

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

Szkolenie Android dla początkujących

Tworzenie aplikacji na platformie Android

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Android tworzenie aplikacji mobilnych

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

KORZYSTANIE Z BAZY DANYCH UpToDate

OSGi Agata Hejmej

Tworzenie oprogramowania

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

Język UML w modelowaniu systemów informatycznych

Środowiska i platformy programistyczne

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

SYSTEM OPERACYJNY. Monika Słomian

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

Systemy operacyjne na platformach mobilnych

Kontakt. Krzysztof Bzowski Tel B5 / 605

Programowanie aplikacji dla Sklepu Windows w języku C#

PYTANIA - Programowanie aplikacji dla technologii mobilnych

Instrukcja użytkownika

Delphi podstawy programowania. Środowisko Delphi

AirKey. Krok pierwszy

Agenda. Wprowadzenie do Androida

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Instrukcja instalacji Asystenta Hotline

Acronis Universal Restore

Systemy operacyjne na platformach mobilnych

SKRÓCONY PODRĘCZNIK UŻYTKOWNIKA PROGRAMU. NOKIA PC SUITE 4.81 for Nokia 6310i. Copyright 2001 Nokia Corporation. Wszelkie prawa zastrzeżone.

INSTRUKCJA OBSŁUGI wersja 1.0.2

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

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

Instrukcja laboratoryjna cz.3

akademia androida Service, BroadcastReceiver, ContentProvider część IV

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

System zarządzania firmą specyfikacja techniczna.

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

MagicInfo Express instrukcja obsługi

Instrukcja dla osoby potwierdzającej profil zaufany

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

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

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Instrukcja obsługi SafeIT - modułu zdalnego sterowania do sterowników kotłów CO firmy Foster v1.0

Wykaz zmian w programie WinAdmin Replikator

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

5.2. Pierwsze kroki z bazami danych

Programowanie obiektowe

OpenLaszlo. OpenLaszlo

SKRÓCONY PODRĘCZNIK UŻYTKOWNIKA PROGRAMU. NOKIA PC SUITE 4.51a for Nokia Copyright 2002 Nokia Corporation. Wszelkie prawa zastrzeżone.

KARTA PRZEDMIOTU. Aplikacje mobilne i wbudowane, D1.8

Funkcje aplikacji. strona 1

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Czym jest MIT App Inventor. App Inventor jest to zbiór bloków jako język programowania używany do tworzenia mobilnych aplikacji na androida.

Aktualizacja dodatku Saba Security Plugin w przeglądarce Firefox 56

Komunikacja i wymiana danych

Instrukcja użytkownika

Wątki w Android OS. Matt Rutkowski. GynSoft sp. z o.o. matt@gynsoft.net

Opis administracji terminali ABA-X3 v.1.5.0

Co nowego w. wersji 12?

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Programowanie dla ios

INSTRUKCJA OBSŁUGI OPROGRAMOWANIA MOBILNY WERYFIKATOR ETYKIET 1.0

System komputerowy. System komputerowy

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Instrukcja użytkownika Dell Display Manager

Instrukcja obsługi. Kamera szybkoobrotowa IP LUMENA-12M1-147

Wstęp do Informatyki. Klasyfikacja oprogramowania

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

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

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

Komputer i urządzenia z nim współpracujące.

16) Wprowadzenie do raportowania Rave

Praca w środowisku Visual Studio 2008, Visual C

Instrukcja obsługi. Zewnętrzny panel videodomofonowy IP. Konfiguracja i obsługa aplikacji DMSS Plus.

Oprogramowanie Xesar V (opublikowano dnia ) 1 Sieć wirtualna Podłączenie maks. 14 czytników Xesar z modułem aktualizującym

SERWER AKTUALIZACJI UpServ

Przewodnik Google Cloud Print

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Programowanie usług działających w tle

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Transkrypt:

dr Artur Bartoszewski 1

1. Przegląd systemów dla urządzeń mobilnych 2

3

Symbian OS Wywodzi się z systemu EPOC dla palmtopów firmy PSION Psion, Nokia, Ericssoni Motorola założyli w 1999 r. firmę Symbian Pierwszy Symbian 6.0 w 2000 roku (numerek odziedziczył po EPOCu) W 2008 Nokia przejęła większość udziałów i przekształciła firmę w fundacje Symbian Podstawowe języki programowania: do 2010 r: Symbian C++ od 2010: standardowy C++ wraz z Qt można używać też innych języków (Python, Java ME,.NET ) 4

Windows CE Windows Mobile Windows Phone Protoplasci: Windows CE (1996), PocketPC 2000-2002 Windows Mobile 2003, Windows Mobile 5 (2005), 6 (2007), 6.5 (2010) Wersja dla smartfonów: Windows Phone7 (2010) niekompatybilny z wcześniejszymi używa interfejsu METRO Języki programowania: C#, VB Sliverlight XNA Wgrany pakiet Offic 5

Windows CE Windows Mobile Windows Phone 6

ios Wywodzi się z systemu Mac Os X, do 2010 r. iphone OS Oryginalnie powstał dla iphone a, później rozszerzony do obsługi ipoda, ipadai AppleTV Zamknięty system, brak możliwości instalacji aplikacji spoza AppStore Dość kosztowna możliwość dystrybucji aplikacji (99 USD rocznie) Język programowania: Objective-C Wymagany komputer Mac z procesorem Intela Prosty, czytelny, bardzo sprawnie działający interfejs użytkownika 7

8

Android W lipcu 2005 roku Google kupuje firmę Android Inc., produkującą oprogramowanie dla urządzeń mobilnych Premiera systemu i pierwsze smartfony: połowa 2008 Oparty na Linuksie, z własną maszyną wirtualną Dalvik / ART Język programowania: Java, z możliwością wstawek w C++ System otwarty, umożliwia instalowanie aplikacji spoza Marketu Dostępne źródła systemu 9

2. Budowa systemu Android 10

11

Linux Kernel - (jądro linuksowe) - Android opiera się na wersji jądra 2.6 dla podstawowych usług systemowych, takich jak bezpieczeństwo, zarządzanie pamięcią, zarządzanie procesami, stos sieciowy i model sterownika. Jądro działa również jako warstwa abstrakcji pomiędzy sprzętem i resztą stosu oprogramowania. Android Runtime - (środowisko uruchomieniowe) - Android zawiera zbiór bibliotek, które dostarczają większość funkcji dostępnych w bibliotekach podstawowych języka Java. Każda aplikacja działa we własnym procesie, z własnej instancji maszyny wirtualnej Dalvik. Dalvik została napisana tak, że na urządzeniu można uruchomić wiele maszyn wirtualnych. Dalvik VM wykonuje pliki wykonywalne (.dex) skonstruowane tak, aby zużywały minimalną ilość pamięci 12

Libraries - (biblioteki) - Android zawiera zestaw bibliotek C / C++ używanych przez różne elementy systemu. Możliwości te są udostępnione programistom poprzez Application Framework. Application Framework - (framework aplikacji) - programiści mają pełny dostęp do tego samego API, którego używają aplikacje podstawowe systemu. 13

Framework oferuje: widoki (Views), które można wykorzystać do budowania aplikacji, dostawców treści (ContentProviders), które pozwalają aplikacjom dostęp do danych z innych aplikacji, (np. takich jak Kontakty), lub dzielenie się swoimi danymi. menedżer zasobów (Resource Manager), umożliwiający dostęp do zasobów, takich jak, grafika i pliki. Notification Manager, który umożliwia wszystkim aplikacjom wyświetlanie powiadomień w pasku stanu ActivityManager, który zarządza cyklem życia aplikacji 14

Struktura aplikacji na Androida Aplikacje na system Android składają z komponentów powiązanych ze sobą w luźny sposób, komunikujące się ze sobą za pośrednictwem Intencji (Intent). Podstawowe komponenty to: Aktywności (activities) Usługi (services), Dostawcy treści (content providers) Odbiorniki komunikatów (broadcast receivers) 15

Aktywności (activities) - oznaczają warstwę wizualną aplikacji oraz dołączone do niej funkcjonalności. Dana aktywność reprezentuje pojedynczy ekran zawierający interfejs użytkownika, tak więc jedna aplikacja może zawierać wiele wywołujących się nawzajem aktywności. Aplikacje mogą również uruchamiać aktywności zawarte w innych aplikacjach pod warunkiem, że mają odpowiednie zezwolenia. Usługi (services), w przeciwieństwie do aktywności, nie posiadają reprezentacji graficznej. Działają one w tle i wykonują czasochłonne zadania lub operacje na rzecz zdalnych procesów, np. pobierają pliki z Sieci i aktualizują źródła danych, wysyłają powiadomienia,i td. 16

Dostawcy treści (content providers) to komponenty służące do udostępniania i współdzielenia danych pomiędzy aplikacjami. Pracują one w podobny sposób do relacyjnych baz danych. Informacje są udostępniane w formie struktur przypominających tabele baz danych. Odbiorniki komunikatów (broadcast receivers) umożliwiają tworzenie aplikacji sterowanych zdarzeniami (event-driven applications). Nie wyświetlają interfejsu użytkownika, ale mogą tworzyć komunikaty na pasku powiadomień, informujące np. o otrzymaniu wiadomości lub zakończeniu pobierania pliku. Dzieje się to w skutek aktywowania przez system lub inne aplikacje. 17

Intencje (intent) - to rodzaj komunikatów wysyłanych do komponentów aplikacji. Służą do wywoływania aktywności (zarówno własnego programu jak i zewnętrznych zarejestrowanych w systemie). Aplikacja posiada w pliku manifest.xml filtr intencji precyzujący na jakie intencje jest ona w stanie zareagować. Intencja może użyć aplikacji która nie jest aktualnie uruchomiona wystarczy, by była zarejestrowana w systemie.. 18

Widoki (View) to obiekty tworzące interfejs użytkownika. Za pomocą widoków użytkownik komunikuje się z aplikacją (z aktywnościami). Na widok składa się układ kontrolek zawartych w odpowiedniej kompozycji (layout). Budowa graficznego interfejsu użytkownika aplikacji Android opiera się na hierarchii obiektów View i ViewGroup. Obiekty View są zazwyczaj widocznymi elementami interfejsu, np. przyciskami i polami tekstowymi, obiekty ViewGroup to niewidoczne kontenery określające sposób rozmieszczenia elementów widoków potomnych, np. w siatce albo pionowej liście. 19

Widoki (View) to obiekty tworzące interfejs użytkownika. Za pomocą widoków użytkownik komunikuje się z aplikacją (z aktywnościami). Na widok składa się układ kontrolek zawartych w odpowiedniej kompozycji (layout). Budowa graficznego interfejsu użytkownika aplikacji Android opiera się na hierarchii obiektów View i ViewGroup. Obiekty View są zazwyczaj widocznymi elementami interfejsu, np. przyciskami i polami tekstowymi, obiekty ViewGroup to niewidoczne kontenery określające sposób rozmieszczenia elementów widoków potomnych, np. w siatce albo pionowej liście. 20

Źródło: https://www.altkomakademia.pl 21

22

Struktura projektu Sekcja APP 23

Struktura projektu AndroidManifest.xml - Manifest Plik sterujący, który zawiera informacje o charakterze aplikacji oraz każdym jej komponencie. Manifest wykorzystywany jest do zapisywania informacji na temat uprawnień, poszczególnych aktywności, czy też informacji na temat wykorzystywanej wersji API. Java - w tym katalogu przechowywane są wszystkie nasze pliki zawierające kod Javy. Res - katalog res (resources) zawiera wszystkie statyczne zasoby obrazki, pliki dźwiękowe, video itp Layout - Katalog przeznaczony na pliki xml odpowiadające za interfejs użytkownika w aplikacji (layout). 24

Struktura projektu Menu - katalog dla plików xml definiujących menu w aplikacji. Minimap - katalog przeznaczony do przechowywania ikony aplikacji. Values katalog zawierające wartości różnego rodzaju zmiennych i stałych aplikacji. Zawiera: colors.xml - plik w którym zdefiniowane są kolory, które później możemy użyć w różnych miejscach aplikacji. dimens.xml - plik w którym definiujemy marginesy wykorzystywane w layoucie. strings.xml - plik w którym definiujemy wszystkie rzeczy tekstowe jakie będą zawarte w interfejsie użytkownika. Dzięki temu w przyszłości łatwo będziemy mogli dorobić obsługę innych języków. 25

Struktura projektu Sekcja GRADLE 26

Struktura projektu Skrypty GRADLE - skrypty budujące aplikację. build.gradle - plik zawierający informacje dotyczące kompilacji aplikacji. Można go edytować aby dodać własne moduły, biblioteki czy też zdefiniować miejsce przechowywania kluczy. Jest on integralną częścią projektu. gradle.properties - ustawienia plików Gradle settings.gradle plik zawiera informacje o wszystkich podprojektach jakie muszą zostać skompilowane przy kompilacji aplikacji. 27

Przykład Zadanie: aplikacja posiada dwa pola edycji w które wprowadzamy liczby po kliknięciu na przycisk licz są one sumowane i wypisywane w trzeci, polu edycji 28

Budowa interfejsu 29

Budowa interfejsu 30

Kod Java 31

Kod Java 32

Literatura 33