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



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

[Android] Podstawy programowania

Podstawowe elementy GUI - zadania

Android pierwsza aplikacja

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

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Laboratorium Systemów Mobilnych. Wykład 1

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

Systemy operacyjne na platformach mobilnych

Obsługa SMS i telefonii

Mechanizm powiadomień

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

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. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

Systemy operacyjne na platformach mobilnych

Mechanizm zapisu preferencji

Podstawowe elementy GUI - zadania

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

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

Fragmenty są wspierane od Androida 1.6

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

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak

Tworzenie dialogów i wykorzystanie klasy Toast

Podstawowe kontrolki i ich obsługa

Laboratorium Systemów Mobilnych. Wykład 2

Mobilne aplikacje multimedialne

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

Wykorzystanie plików

Powiadomienia w systemie Android

Wykorzystanie map i geolokalizacji

Księgarnia internetowa Lubię to!» Nasza społeczność

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1

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

akademia androida Http i AsyncTask część VII

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Aplikacje w środowisku Java

Szkolenie Android dla początkujących

Zaawansowane aplikacje internetowe

Programowanie obiektowe

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 Urządzeń Mobilnych. Laboratorium nr 7, 8

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Podstawowe elementy GUI cz. 2 i 3 - zadania

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

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

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

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

Zaawansowane aplikacje WWW - laboratorium

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

akademia androida Intencje oraz URI część III

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

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

STWORZENIE PRZYKŁADOWEJ

WYŻSZA SZKOŁA INŻYNIERYJNO EKONOMICZNA z siedzibą w Rzeszowie WYDZIAŁ PRZEDSIĘBIORCZOŚCI

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

Wykład 7: Pakiety i Interfejsy

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

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

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

Programowanie obiektowe i zdarzeniowe

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

Java: interfejsy i klasy wewnętrzne

Aplikacje internetowe i rozproszone - laboratorium

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

Java Platform Micro Edition

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

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

Tworzenie i obsługa graficznego interfejsu uŝytkownika

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

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Klasy abstrakcyjne i interfejsy

Metody dostępu do danych

Automatyczne testowanie aplikacji Android

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

Programowanie obiektowe

Programowanie urządzeń mobilnych w systemie Android

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

Podstawy programowania w lejos

Aplikacje WWW - laboratorium

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

1 Intefejsy graczne. 1.1 Okienka. 1.2 Komponenty

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

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

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

WSTĘP DO ANDROIDA. Laboratorium

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

I. Usługi. Usługa może przyjąć dwie formy:

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Programowanie w Internecie. Java

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

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

Transkrypt:

Ćwiczenie 7 Wykorzystanie układu LinearLayout Cel ćwiczenia Celem ćwiczenia jest praktyczne zapoznanie się z zasadami użycia układu graficznego LinearLayout oraz wykształcenie umiejętności zastosowania tego układu do tworzenia interfejsu użytkownika. Zakres ćwiczenia obejmuje definiowanie układu LinearLayout i umieszczanie w nim kontrolek dziedziczących po klasie View (m.in. TextView, EditText, Button, CheckBox, RadioGroup, RadioButton, DatePicker, TimePicker, Toast). Przygotowanie się do ćwiczenia Zapoznać się z wykładem Interfejs użytkownika układy. Zapoznać się z hierarchią klas układów graficznych. Przestudiować opis dotyczący układu LinearLayout. Powtórzyć wiadomości dotyczące kontrolek wykorzystywanych na dotychczasowych ćwiczeniach. Na podstawie dokumentacji Android SDK: http://developer.android.com/reference/packages.html zapoznać się w podstawowym zakresie z klasami LinearLayout, DatePicker, TimePicker. Zapoznać się z przykładową aplikacją zamieszczoną w opisie ćwiczenia. Przeanalizować kod źródłowy aplikacji. Zadania do wykonania 1. Uruchomić przykładową aplikację zamieszczoną w opisie ćwiczenia i przetestować jej działanie. 2. Zmodyfikować przykładową aplikację omawianą w ćwiczeniu w taki sposób, aby data urodzenia wprowadzana była w polach EditText. Dodać więcej pól wyboru CheckBox dla zainteresowań ankietowanego. Zastosować zagnieżdżone układy LinearLayout w taki sposób, aby optymalnie wykorzystać obszar ekranu. 3. Napisać aplikację, która umożliwia wprowadzenie daty kalendarzowej jako danej wejściowej (DatePicker). Aplikacja powinna wyświetlić na ekranie zestaw pól wyboru (CheckBox) i na podstawie wprowadzonej przez użytkownika daty powinna określić (w zależności od ustawień pól wyboru): porę roku, znak zodiaku osoby urodzonej danego dnia. Do wyświetlania wyników wykorzystać obiekty klasy TextView. Zastosować zagnieżdżone układy LinearLayout. Strona 1

Przykładowa aplikacja plik Projekt4Activity.java package org.przyklad; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.checkbox; import android.widget.datepicker; import android.widget.edittext; import android.widget.radiobutton; import android.widget.toast; public class Projekt4Activity extends Activity implements OnClickListener private RadioButton rb1, rb2; private EditText et1, et2; private DatePicker dp; private CheckBox chk1, chk2, chk3; private Button btn1, btn2; @Override public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main); rb1 = (RadioButton) this.findviewbyid(r.id.radio0); rb2 = (RadioButton) this.findviewbyid(r.id.radio1); rb1.setonclicklistener(this); rb2.setonclicklistener(this); et1 = (EditText) this.findviewbyid(r.id.edittext1); et2 = (EditText) this.findviewbyid(r.id.edittext2); dp = (DatePicker) this.findviewbyid(r.id.datepicker1); chk1 = (CheckBox) this.findviewbyid(r.id.checkbox1); chk2 = (CheckBox) this.findviewbyid(r.id.checkbox2); chk3 = (CheckBox) this.findviewbyid(r.id.checkbox3); chk1.setonclicklistener(this); chk2.setonclicklistener(this); chk3.setonclicklistener(this); btn1 = (Button) this.findviewbyid(r.id.button1); btn2 = (Button) this.findviewbyid(r.id.button2); btn1.setonclicklistener(this); btn2.setonclicklistener(this); public void onclick(view v) switch (v.getid()) case R.id.button1: wczytaj(); break; case R.id.button2: this.finish(); break; Strona 2

private void wczytaj() CharSequence imie = (CharSequence) et1.gettext(); CharSequence nazwisko = (CharSequence) et2.gettext(); int r = dp.getyear(); int m = dp.getmonth()+1; // miesiące liczone od 0 int d = dp.getdayofmonth(); String s = (rb1.ischecked()? "Pan " : "Pani ") + imie.tostring() + ' ' + nazwisko.tostring(); s = s + "\nurodz. " + r + '-' + m + '-' + d + "\nzainteresowania: "; if (chk1.ischecked()) s = s + chk1.gettext().tostring() + ", "; if (chk2.ischecked()) s = s + " " + chk2.gettext().tostring() + ", "; if (chk3.ischecked()) s = s + chk3.gettext().tostring(); Toast toast = Toast.makeText(Projekt4Activity.this, s, Toast.LENGTH_LONG); toast.show(); Przykładowa aplikacja plik main.xml Zwrócić uwagę na sposób definiowania układu LinearLayout. <?xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:orientation="vertical" > <RadioGroup android:id="@+id/radiogroup1" android:orientation="horizontal" > <RadioButton android:id="@+id/radio0" android:checked="true" android:text="@string/rb1tekst" /> <RadioButton android:id="@+id/radio1" android:text="@string/rb2tekst" /> </RadioGroup> android:id="@+id/linearlayout1" > android:id="@+id/textview1" android:text="@string/tv1tekst" /> <EditText android:id="@+id/edittext1" android:inputtype="textpersonname" > </EditText> Strona 3

android:id="@+id/linearlayout2" > android:id="@+id/textview2" android:text="@string/tv2tekst" /> <EditText android:id="@+id/edittext2" android:inputtype="textpersonname" /> android:id="@+id/textview3" android:layout_gravity="center_horizontal" android:text="@string/tv3tekst" /> <DatePicker android:id="@+id/datepicker1" android:layout_gravity="center_horizontal" /> android:id="@+id/checkbox1" android:text="@string/chk1tekst" /> android:id="@+id/checkbox2" android:text="@string/chk2tekst" /> android:id="@+id/checkbox3" android:text="@string/chk3tekst" /> android:id="@+id/linearlayout3" android:orientation="horizontal" > <Button android:id="@+id/button1" android:text="@string/btn1tekst" /> <Button android:id="@+id/button2" android:text="@string/btn2tekst" /> Strona 4

Wygląd interfejsu użytkownika zdefiniowanego w pliku main.xml Przykładowa aplikacja plik strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">ankieta osobowa</string> <string name="tv1tekst">imię:</string> <string name="tv2tekst">nazwisko: </string> <string name="tv3tekst">data urodzenia:</string> <string name="tv4tekst">zainteresowania:</string> <string name="rb1tekst">mężczyzna</string> <string name="rb2tekst">kobieta</string> <string name="btn1tekst">wczytaj</string> <string name="btn2tekst">zakończ</string> <string name="chk1tekst">film</string> <string name="chk2tekst">literatura</string> <string name="chk3tekst">muzyka</string> </resources> Strona 5