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



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

Laboratorium Systemów Mobilnych. Wykład 1

[Android] Podstawy programowania

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

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

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

Podstawowe elementy GUI - zadania

Systemy operacyjne na platformach mobilnych

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

Android pierwsza aplikacja

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

Tworzenie wydajnych interfejsów. Autorzy: Piotr Michałkiewicz, 2 rok AiR Daniel Maksymow, 2 rok Informatyki

Systemy operacyjne na platformach mobilnych

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

Laboratorium Systemów Mobilnych. Wykład 2

Layouty. Kilka layoutów

Mobilne aplikacje multimedialne

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Obsługa SMS i telefonii

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

Mechanizm powiadomień

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

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

Systemy operacyjne na platformach mobilnych

Powiadomienia w systemie Android

Mechanizm zapisu preferencji

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

Załącznik 1 instrukcje instalacji

Laboratorium 8 ( Android -pierwsza aplikacja)

Wykorzystanie plików

akademia androida Pierwsze kroki w Androidzie część I

Załącznik 1 instrukcje instalacji

Fragmenty są wspierane od Androida 1.6

INSTRUKCJA OBSŁUGI OPROGRAMOWANIA MOBILNY WERYFIKATOR ETYKIET 1.0

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

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

Spis treści. Programowanie aplikacji na platformę Android v 1.0. A.Klusiewicz

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak

OpenGL Embedded Systems

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

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

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

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

Warsztaty v2 Layout y i widget y. Tomasz Wachowski Kamil Snopek Jan Romaniak

akademia androida Http i AsyncTask część VII

Podstawowe kontrolki i ich obsługa

Zaawansowane aplikacje WWW - laboratorium

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

WSTĘP DO ANDROIDA. Laboratorium

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Pobieranie edytora CodeLite

WPROWADZENIE DO JĘZYKA JAVA

Agenda. Activity cd Layouty Jednostki Dialogi LogCat Drugie Activity i Intents Serializacja Własne widoki Menu

Podstawowe elementy GUI - zadania

ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

JDK 7u25 NetBeans Zajęcia 1 strona - 1

akademia androida Intencje oraz URI część III

ZAPOZNANIE SIĘ Z TWORZENIEM

JAVA : TELEFONY KOMÓRKOWE I ANDROID 1. WSTĘP

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

Tworzenie aplikacji na platformie Android

Wprowadzenie do biblioteki klas C++

MiKTeX - instalacja. Paweł Solarz

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Programowanie obiektowe zastosowanie języka Java SE

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

Instrukcja instalacji oprogramowania dla środowiska Windows

cmt + CODESYS, oraz zdalne wejścia/ wyjścia

3.4. Opis konfiguracji layoutów.

Zaawansowane aplikacje internetowe - laboratorium

Tworzenie dialogów i wykorzystanie klasy Toast

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

Java jako język programowania

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

Android. Hierarchie widoków i ich wy±wietlanie. Piotr Fulma«ski. March 14, 2016

Programowanie aplikacji mobilnych

Wykorzystanie map i geolokalizacji

Programowanie niskopoziomowe

Spis treści. Programowanie aplikacji na platformę Android. A.Klusiewicz

Polska wersja pakietu raportowego ActiveFactory 9.1 wymaga polskiego systemu operacyjnego Windows 2000 / Windows XP / Windows 2003.

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

HELIOS pomoc społeczna

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

Programowanie obiektowe

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

Visual Studio instalacja

JDK można pobrać ze strony

Instrukcja obsługi programu Do-Exp

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

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

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

MentorGraphics ModelSim

E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

enova Instalacja wersji demo

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:

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

Android 2. Tworzenie aplikacji

Bezpieczne uruchamianie apletów wg

Transkrypt:

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

Instalacja środowiska 1 Wymagane składniki środowiska Eclipse wersja 3.4 (Ganymede) lub 3.5 (Galileo classic) http://www.eclipse.org/downloads/packages/release/galileo/r Zainstalowany wtyczka ADT (Android Development Tools) Android SDK (Software Developer Kit) http://developer.android.com/sdk/index.html

Instalacja środowiska 2 Instalacja ADT Po uruchomieniu eclipsa należy wybrać z menu: Help Install New Software Następnie Add... (np.: Nazwa: dowolna Android) Location: https://dlssl.google.com/android/ eclipse/ Zatwierdzenie: OK

Instalacja środowiska 3 Instalacja ADT Po załadowaniu dostępnych pakietów należy wybrać: Android DDMS Android Development Tools Następnie Next Po zaakceptowaniu licencji Finish

Instalacja środowiska 4 Instalacja SDK Wskazanie ścieżki roboczej SDK: Windows: W ustawieniach systemowych (prawy przycisk na: Mój komputer i Właściwości) w zakładce Zaawansowane pod przyciskiem zmienne środowiskowe należy dopisać do zmiennej PATH: ;<katalog_sdk>/tools Linux: export PATH=${PATH}:<katalog_SDK>/ tools Można wprowadzić w pliku.bash_profile lub.bashrc

Instalacja środowiska 5 Konfiguracja ADT i SDK Menu: Window Preferences opcja Android należy ustawić ścieżkę SDK Location według miejsca instalacji SDK (bez /tools) Menu: Window Android SDK and AVD Manager: Instalacja bibliotek androida Available Packages Tworzenie wirtualnych urządzeń Virtual Devices

Instalacja środowiska 6

Instalacja środowiska 7

Pierwszy program File New Projekt Android Android Project Next

Pierwszy program

Pierwszy program konstrukcja Zawartość utworzonego projektu: src katalog pakietów kodu programu gen dane generowane przez kompilator na podstawie zasobów assest dodatki katalog plików niekompilowalnych res zasoby AndroidManifest.xml plik konfiguracyjny Aplikacji android

Pierwszy program zasoby res value łańcuchy tekstowe definicje kolorów, elementów rysowanych definicja rozmiarów definicja styli definicja tablic tekstowych / liczbowych

Pierwszy program układ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent android:layout_height="fill_parent android:orientation="vertical" > <TextView android:layout_height="wrap_content" android:text="@string/hello android:layout_width="wrap_content /> </LinearLayout> Elementy pozycjonujące TableLayout LinearLayout RelativeLayout AbsoluteLayout FrameLayout Kontrolki TextView EditText Button AnalogClock DigitalClock

Pierwszy program R.java public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class layout { } public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; }

Pierwszy program Start package pl.example.android.helloandroid; import android.app.activity; import android.os.bundle; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } }

Tworzenie wyglądu okna

Układ okna LinearLayout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent android:layout_height="fill_parent android:orientation="vertical" >. </LinearLayout> Rozmieszczenie elementów podrzędnych w poziomie i w pionie android:layout_width="fill_parent" pełne wypełnienie elementu nadrzędnego android:layout_height="wrap_conten" dopasowane wypełnienie elementu nadrzędnego 10px android:orientation="vertical" kierunek układania elementów android:layout_gravity="center_horizontal" położenie komponentu na oknie android:gravity="center_horizontal" położenie tekstu w komponencie (EditText)

Układ okna TableLayout Rozmieszczenie elementów podrzędnych w postaci tabeli android:collapsecolumns liczba elementów w kolejnych wierszach android:stretchcolumns="0,1,2" równomierne rozciągnięcie kolumn Element zml a <TableRow>... </ TableRow> określa jeden wiersz rozmieszczenia na ekranie

Układ okna TableLayout <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent"> <EditText android:text="bez Row" /> <TableRow> <TextView android:text="nazwisko" /> <EditText android:text="n1" /> <EditText android:text="n2" /> </TableRow> <TableRow> <TextView android:text="pesel" /> <EditText android:text="text" /> </TableRow> <TableRow> <EditText android:text="n1" android:layout_height="150px"/> <EditText android:text="n2" /> <EditText android:text="n3" android:layout_gravity="bottom"/> <EditText android:text="n4" /> <EditText android:text="n5" /> </TableRow> </TableLayout>

Układ okna RelativeLayout Rozmieszczenie elementów podrzędnych względem innych elementów lub układu nadrzędnego <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/ res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/label" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margintop="10px" android:layout_marginleft="10px" android:text="wprowadź tekst:" /> <EditText android:id="@+id/entry" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10px" android:layout_below="@id/label" />

Układ okna RelativeLayout <Button android:id="@+id/cancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/entry" android:layout_alignparentright="true" android:layout_marginleft="10px" android:layout_marginright="10px" android:text="wycofaj" /> <Button android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toleftof="@+id/cancel" android:layout_aligntop="@+id/cancel" android:text="zapisz" /> </RelativeLayout> Id elementu: android:layout_above android:layout_alignbaseline android:layout_alignbottom android:layout_alignleft android:layout_alignright android:layout_aligntop android:layout_below android:layout_toleftof android:layout_torightof Wartość boolean: android:layout_alignparentbottom android:layout_alignparentleft android:layout_alignparentright android:layout_alignparenttop android:layout_alignwithparentifmissing android:layout_centerhorizontal android:layout_centerinparent android:layout_centervertical

Układ okna FrameLayout Pozwala wyświetlić elementy, gdzie dla każdego elementu bazą będzie lewy, górny róg ekranu. <FrameLayout android:layout_width="fill_parent android:layout_height="fill_parent"> <ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaletype="center" android:src ="@drawable/golden_gate" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity ="center_horizontal bottom" android:layout_marginbottom="20dip" android:padding="12dip" android:background="#aa000000" android:textcolor="#ffffffff" android:text="golden Gate" /> </FrameLayout>

Układ okna AbsoluteLayout Pozwala wyświetlić elementy w określonych współrzędnych ekranu. Elementy mogą zachodzić na siebie. <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android ="http:// schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <EditText android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_x="20px" android:layout_y="20px" android:text="20x20" /> <EditText android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_y="80px" android:layout_x="40px" android:text="40x80" /> <EditText android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_x="60px" android:layout_y="50px" android:text="60x50" /> </AbsoluteLayout>

Kontrolki TextView Kontrolka TextView pozwala na wyświetlanie tekstu lecz nie zezwala na jego edycję. <TextView android:id="@+id/label" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="wprowadzony tekst" /> Przydatne atrybuty: android:text android:textcolor android:textsize android:textstyle android:typeface android:gravity android:background android:layout_height android:layout_width android:layout_margin android:layout_marginbottom android:layout_marginleft android:layout_marginright android:layout_margintop

Kontrolki EditText Kontrolka EditText pozwala na pobranie i edycję tekstu przez użytkownika. <EditText android:layout_height="wrap_content" android:layout_width="fill_parent" /> Przydatne atrybuty: android:password android:phonenumber android:numeric android:capitalize android:inputtype="textpassword" Metody: Editable gettext() settext(charsequence text, TextView.BufferType type)

Kontrolki Button Kontrolka Button pozwala na umieszczenie przycisku na ekranie urządzenia. <Button android:text="przycisk 1" android:id="@+id/button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10px" /> Obsługa naciśnięcia przycisku: public class MainActivity extends Activity { protected void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.main); final Button button = (Button) findviewbyid(r.id.button01); button.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { // action on click } }); } } Lub <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/self_destruct" android:onclick="selfdestruct" /> public void selfdestruct(view view) { // action on click }