Systemy operacyjne na platformach mobilnych



Podobne dokumenty
Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout

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

Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda

[Android] Podstawy programowania

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

Android, wprowadzenie do SDK

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

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Obsługa SMS i telefonii

Programowanie dla Androida. Ubiquitous

Laboratorium Systemów Mobilnych. Wykład 1

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

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

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 8 Wykorzystanie układu RelativeLayout

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

Wsparcie dla różnych urządzeń. SDK pozwala przystosować aplikację do większości tych wypadków

AndroidManifest.xml. Plik manifestu opisuje podstawowe charakterystyki aplikacji i definiuje jej komponenty.

Mobilne aplikacje multimedialne

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

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

Czym jest Android Architektura systemu Cechy platformy Android

Mechanizm powiadomień

Android pierwsza aplikacja

Android - wprowadzenie. Łukasz Przywarty

Agenda. Wprowadzenie do Androida

Tworzenie aplikacji na platformie Android

Podstawowe elementy GUI - zadania

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

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

SOP System Obsługi Parkingów

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

Powiadomienia w systemie Android

Podstawowe elementy GUI - zadania

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

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Google Android. Opracował Maciej Ciurlik

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

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

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Programowanie Urządzeń Mobilnych. Laboratorium nr 9,10

Zaawansowane aplikacje WWW - laboratorium

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

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

Kontakt. Krzysztof Bzowski Tel B5 / 605

Fragmenty są wspierane od Androida 1.6

Android tworzenie aplikacji mobilnych

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

Życie aktywności Nawigując przez aplikacje poszczególne Aktywności przechodzą pomiędzy stanami. Dla przykładu gdy aktywność uruchamia się po raz

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

akademia androida Intencje oraz URI część III

Laboratorium Systemów Mobilnych. Wykład 2

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

Wbudowane systemy operacyjne

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

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

KARTA KURSU. Projektowanie aplikacji mobilnych

Wykorzystanie map i geolokalizacji

Języki i metody programowania Java. Wykład 2 (część 2)

Technologie internetowe w programowaniu.

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Programowanie dla Androida. Ubiquitous

Layouty. Kilka layoutów

Java jako język programowania

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak

akademia androida Http i AsyncTask część VII

Szkolenie Android dla początkujących

KARTA PRZEDMIOTU. Cel 1 Zapoznanie studentów z architekturami i platformami mobilnymi

grafika 2D i animacja obsługa rotacji i elementy 3D-OpenGL w Androidzie

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

Wprowadzenie do systemu Android

Mechanizm zapisu preferencji

akademia androida Pierwsze kroki w Androidzie część I

Programowanie urządzeń mobilnych w systemie Android

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

Zaawansowane aplikacje internetowe

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

Programowanie obiektowe

Szybciej (pisać) Łatwiej (czytać) Prościej (utrzymywać) Marcin Wąsowski Amsterdam Standard Sp. z o.o.

Programowanie obiektowe zastosowanie języka Java SE

Wykład 1: Wprowadzenie do technologii Java

Programowanie aplikacji mobilnych

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

Java Platform Micro Edition

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Specjalność: (ASI) Systemy informatyczne w automatyce Stopień studiów i forma: I stopień, stacjonarna Kod przedmiotu: Grupa kursów:

Tworzenie i wykorzystanie usług sieciowych

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Aplikacje RMI Lab4

Android poradnik programisty

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Wykorzystanie plików

Metody dostępu do danych

Aplikacje RMI

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Transkrypt:

Systemy operacyjne na platformach mobilnych Wykład 1 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych

Zagadnienia wykładu Wprowadzenie do systemów mobilnych System operacyjny Android Różnice pomiędzy systemami GNU/Linux i Android Język Java i wirtualna maszyna Dalvik Podstawowe elementy programistyczne systemu Android: Activity, Intent, Content Provider 2

Literatura Bill Phillips, Brian Hardy, Android Programming: The Big Nerd Ranch Guide, Big Nerd Ranch Guides, 2013 developer.android.com 3

Mobile Operating Systems Operating System 3Q14 Units 3Q14 Market Share (%) 3Q13 Units 3Q13 Market Share (%) Android 250,060.2 83.1 205,243 82.0 ios 38,186.6 12.7 30,330 12.1 Windows 9,033.4 3.0 8,916 3.6 Blackberry 2,419.5 0.8 4,401 1.8 Other OS 1,310.2 0.4 1,407 0.6 Total 301,009.9 100.0 250,296.8 100.0 http://www.gartner.com/newsroom/id/2944819 4

Czym jest Android? Android wg Andy ego Rubina z Google a: The first truly open and comprehensive platform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation http://googleblog.blogspot.com/2007/11/wheres-my-gphone.html Pojęcie Android obejmuje: darmowy, system operacyjny na urządzenia mobilne o otwartych źródłach platformę open-source do rozwoju aplikacji mobilnych urządzenia w tym telefony komórkowe na których działa system operacyjny Android i napisane dla niego aplikacje 5

Wersje Androida Numer wersji Data wydania Nazwa wersji 1.1 luty 2009 1.5 kwiecień 2009 Cupcake 1.6 wrzesień 2009 Donut 2.0/2.1 październik 2009 Eclair 2.2 maj 2010 Froyo 2.3 grudzień 2010 Gingerbread 3.0/3.1/3.2 styczeń 2011 Honeycomb 4.0 październik 2011 Ice Cream Sandwich 4.1/4.2/4.3 listopad 2012 Jelly Bean 4.4 październik 2013 KitKat 5.0 listopad 2014 Lollipop 5.0.1 grudzień 2014 Lollipop 6

Wersje Androida 7

Android stos programowy 8

Języki programowania Podstawowy język Java Możliwość programowania w języku Scala Budowanie aplikacji webowych (JavaScript, CSS,... ) Programowanie w języku natywnym C/C++ 9

Podstawowe komponenty aplikacji Activity aktywność interfejs użytkownika Service serwis aplikacja usługi (posiada długi czas życia) BroadcastReceiver aplikacja odbierająca zdarzenia globalne i reagująca na nie ContentProvider dostawca treści dostarcza dane dla aplikacji (obiektów Activity i/lub Service) Obiekty aktywujące poszczególne komponenty lub przenoszące informacje pomiędzy komponentami nazywane są intencjami Aplikacje nie muszą zawierać wszystkich tych komponentów, ale muszą zawierać co najmniej jeden z nich. 10

Activity O Activity należy myśleć jak o widocznym ekranie reprezentuje ona widoczny komponent aplikacji. Aplikacje mogą zawierać więcej niż jedną Activity Klasa Activity korzysta z co najmniej jednego obiektu View do prezentacji elementów użytkownika (elementy definiowane są w pliku XML) Przechodzenie z jednego do drugiego obiektu Activity jest realizowane przez wywołanie metody startactivity() lub startactivityforresult() z obiektem intencji Intent zadanym jako argument. 11

Service Serwis wykonuje usługi dla aplikacji 12

BroadcastReceiver Dzięki BroadcastReceiver aplikacja może reagować na określone zdarzenia w systemie 13

ContentProvider Implementuje standardowy zbiór metod pozwalających aplikacji na dostęp do magazynu danych. dostęp umożliwia operacje odczytu, zapisu lub obie naraz. Może dostarczać dane tej samej aplikacji jak i innym aplikacjom. 14

ContentProvider 15

Intencje Najważniejszy aspekt kodowania Oznacza czynność jaką chcemy wykonać Intencje mają postać klasy Intent Filtry intencji mają postać klasy IntentFilter Intencje przesyłane są do aplikacji androida zarejestrowanych jako IntentFilter Jeśli zrozumiesz intencje zrozumiesz programowanie dla Androida 16

Intencje 17

Plik AndroidManifest.xml Pełni rolę mechanizmu spajającego relacje między czterema podstawowymi elementami aplikacji Android. Jest deskryptorem aplikacji Znajduje się w głównym katalogu aplikacji 18

Budowa pliku AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.msi.manning.unlockingandroid"> <application android:icon="@drawable/icon"> <activity android:name=".activity1" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest> 19

Trzy główne podejścia w programowaniu interfejsu użytkownika Java-based Używana Java, do definiowania napisu, rozkładu okna, kontrolek GUI i przypisania handlerów zdarzeń XML-based Używany plik XML do wykonania powyższych operacji Metody Java odczytają plik i podejmą odpowiednie akcje Hybrydowy Używana Java i/lub plik XML 20

Podejście Java, przykład public class SomeName extendsactivity { @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); String message = "..."; LinearLayout window = newlinearlayout(this); window.setvariousattributes( ); Button b = newbutton(this); b.settext("button Label"); b.setonclicklistener(new SomeHandler()); mainwindow.addview(b);... setcontentview(window); } } private class SomeHandler implementsonclicklistener { @Override public void onclick(view clickedbutton) { dosomething(...); } } 21

Podejście XML, przykład Java public class SomeClass extends Activity { @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } } public void handlermethod(view clickedbutton) { String somename = getstring(r.string.some_name); dosomethingwith(somename); } XML res/values/strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="some_name"> </string> </resources> res/layout/main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout > <TextView /> <Button android:onclick="handlermethod" /> </LinearLayout> 22

Narzędzia programistyczne Do budowy aplikacji Androida należy zainstalować: JDK (w wersji co najmniej 7) http://www.oracle.com/technetwork/java/javase/d ownloads/ Android SDK http://developer.android.com/sdk/index.html opcjonalnie środowisko IDE: Android Studio 23

Struktura projektu Pliki źródłowe Java Wygenerowany plik R.java Zasoby Manifest 24

Podstawowa struktura programu package com.companyname.projectname; import android.app.activity; import android.os.bundle; import android.widget.somelayoutorview; public class SomeName extends Activity { @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); SomeLayoutOrView view = createorgetview();... setcontentview(view); }... } 25

Przykładowa aplikacja Hello World Simple Web browser 26