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 dla Androida. Ubiquitous

Systemy operacyjne na platformach mobilnych

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

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

Android, wprowadzenie do SDK

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

Systemy operacyjne na platformach mobilnych

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

[Android] Podstawy programowania

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

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

Obsługa SMS i telefonii

Laboratorium Systemów Mobilnych. Wykład 1

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

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

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

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

Mechanizm powiadomień

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

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

Mobilne aplikacje multimedialne

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

Czym jest Android Architektura systemu Cechy platformy Android

Android - wprowadzenie. Łukasz Przywarty

Android pierwsza aplikacja

SOP System Obsługi Parkingów

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

Tworzenie aplikacji na platformie Android

Agenda. Wprowadzenie do Androida

Podstawowe elementy GUI - zadania

Google Android. Opracował Maciej Ciurlik

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

Powiadomienia w systemie Android

Android tworzenie aplikacji mobilnych

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

Kontakt. Krzysztof Bzowski Tel B5 / 605

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

Podstawowe elementy GUI - zadania

KARTA KURSU. Projektowanie aplikacji mobilnych

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

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

Wbudowane systemy operacyjne

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

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

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

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

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

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

Android poradnik programisty

Fragmenty są wspierane od Androida 1.6

Laboratorium Systemów Mobilnych. Wykład 2

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

Technologie internetowe w programowaniu.

Zaawansowane aplikacje WWW - laboratorium

akademia androida Http i AsyncTask część VII

Wprowadzenie do systemu Android

akademia androida Intencje oraz URI część III

Wykorzystanie map i geolokalizacji

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

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

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

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

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

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

Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University.

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak

Mechanizm zapisu preferencji

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

Szkolenie Android dla początkujących

Programowanie dla Androida. Ubiquitous

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

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

Java jako język programowania

Programowanie aplikacji mobilnych

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

PROGRAMOWANIE MOBILNE: ANDROID. Marcin Luckner

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

Programowanie aplikacji mobilnych

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

Wprowadzenie do systemu Android

Layouty. Kilka layoutów

Programowanie urządzeń mobilnych w systemie Android

Wykorzystanie plików

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

JDK 7u25 NetBeans Zajęcia 1 strona - 1

Metody dostępu do danych

Szybki tutorial o zabezpieczeniach w NFC

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

Programowanie obiektowe

Aplikacje RMI Lab4

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Programowanie usług działających w tle

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

POLITECHNIKA LUBELSKA

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

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

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 Android Programming: The Big Nerd Ranch Guide, 2 nd ed., Bill Phillips, Chris Stewart, Brian Hardy and Kristin Marsicano, 2015 3

Literatura Head First Android Development, Dawn Griffiths, David Griffiths,O'Reilly Media, June 2015 The Busy Coder's Guide to Android Development, Mark L. Murphy, CommonsWare, LLC, 2015 developer.android.com 4

Mobile Operating Systems Operating System 4Q15 Shipment Volumes 4Q15 Market Share 4Q14 Shipment Volumes 4Q14 Market Share Android 325.4 80.7% 279.1 76.0% ios 71.5 17.7% 74.8 20.4% Windows Phone 4.4 1.1% 10.4 2.8% BlackBerry 0.9 0.2% 1.7 0.5% Others 0.9 0.2% 1.3 0.4% Total 403.1 100.0% 367.3 100.0% Source:http://www.gartner.com/newsroom/id/3215217 5

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 6

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/5.0.1 grudzień 2014 Lollipop 5.0.1 grudzień 2014 Lollipop 6.0-6.0.1 październik 2015 Marshmallow

Wersje Androida 8

Android stos programowy 9

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++ 10

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 11

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. 12

Service Serwis wykonuje usługi dla aplikacji 13

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

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. 15

ContentProvider 16

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 17

Intencje 18

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 19

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> 20

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 21

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(...); } } 22

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> 23

Narzędzia programistyczne Do budowy aplikacji Androida należy zainstalować: JDK (w wersji co najmniej 7) http://www.oracle.com/technetwork/java/javas e/downloads/ Android SDK http://developer.android.com/sdk/index.html opcjonalnie środowisko IDE: Android Studio 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