Systemy operacyjne na platformach mobilnych



Podobne dokumenty
Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

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

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

Laboratorium Systemów Mobilnych. Wykład 1

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

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

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

[Android] Podstawy programowania

Android, wprowadzenie do SDK

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

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Obsługa SMS i telefonii

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

Programowanie dla Androida. Ubiquitous

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

Mobilne aplikacje multimedialne

Czym jest Android Architektura systemu Cechy platformy Android

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

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

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

Android - wprowadzenie. Łukasz Przywarty

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

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

Tworzenie aplikacji na platformie Android

Podstawowe elementy GUI - zadania

Mechanizm powiadomień

Android pierwsza aplikacja

SOP System Obsługi Parkingów

Agenda. Wprowadzenie do Androida

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

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

Android tworzenie aplikacji mobilnych

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

Podstawowe elementy GUI - zadania

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

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

Zaawansowane aplikacje WWW - laboratorium

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

Google Android. Opracował Maciej Ciurlik

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

Powiadomienia w systemie Android

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

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

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

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

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

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

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

KARTA KURSU. Projektowanie aplikacji mobilnych

Kontakt. Krzysztof Bzowski Tel B5 / 605

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Fragmenty są wspierane od Androida 1.6

akademia androida Pierwsze kroki w Androidzie część I

Wbudowane systemy operacyjne

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

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

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

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

Wykorzystanie map i geolokalizacji

Laboratorium Systemów Mobilnych. Wykład 2

akademia androida Intencje oraz URI część III

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

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

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak

Java jako język programowania

Programowanie obiektowe zastosowanie języka Java SE

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

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

Technologie internetowe w programowaniu.

Programowanie dla Androida. Ubiquitous

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

Layouty. Kilka layoutów

tel. (+48 81) /22 fax (+48 81) Cel przedmiotu

Java Platform Micro Edition

Programowanie urządzeń mobilnych w systemie Android

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

Programowanie obiektowe

akademia androida Http i AsyncTask część VII

Android poradnik programisty

Wprowadzenie do systemu Android

Mechanizm zapisu preferencji

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

Zaawansowane aplikacje internetowe

Tworzenie i wykorzystanie usług

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

SOA Web Services in Java

Aplikacje RMI Lab4

POLITECHNIKA LUBELSKA

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

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

Szkolenie Android dla początkujących

JDK 7u25 NetBeans Zajęcia 1 strona - 1

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

Aplikacje RMI

ZAPOZNANIE SIĘ Z TWORZENIEM

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 Ableson, Sen, King and Ortiz, Android in Action, Third Edition Meier, Professional Android Application Development developer.android.com 3

Mobile Operating Systems Operating System 3Q13 Shipment Volumes 3Q13 Market Share 3Q12 Shipment Volumes 3Q12 Market Share Year-Over- Year Change Android 211.6 81.0% 139.9 74.9% 51.3% ios 33.8 12.9% 26.9 14.4% 25.6% Windows 9.5 3.6% 3.7 2.0% 156.0% Phone BlackBerry 4.5 1.7% 7.7 4.1% -41.6% Others 1.7 0.6% 8.4 4.5% -80.1% Total 261.1 100.0% 186.7 100.0% 39.9% 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 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 5) http://www.oracle.com/technetwork/java/javase/downloads/ Android SDK http://developer.android.com/sdk/index.html opcjonalnie środowisko IDE, np.: Eclipse IDE for Java EE Developers http://www.eclipse.org/downloads/ + wtyczka ADT (Android Developer Tool) http://developer.android.com/tools/sdk/eclipse-adt.html 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