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

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

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ż. Juliusz Mikoda

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

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

Systemy operacyjne na platformach mobilnych

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:

[Android] Podstawy programowania

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

akademia androida Http i AsyncTask część VII

Komponent Formularz. Rys. 1. Strona programu Joomla - Rys. 2. Instalacja komponentu

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

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

Layouty. Kilka layoutów

Systemy operacyjne na platformach mobilnych

Podstawowe elementy GUI cz. 2 i 3 - zadania

Podstawowe elementy GUI - zadania

Oferta na samochód nowy Oferta na samochód nowy spis kroków

WSTĘP DO ANDROIDA. Laboratorium

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa

Za pomocą atrybutu ROWS moŝemy dokonać podziału ekranu w poziomie. Odpowiedni kod powinien wyglądać następująco:

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

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 9 (Więcej Aktywności, w Androidzie)

Laboratorium 8 ( Android -pierwsza aplikacja)

Tablice, DataGridView

Ustawianie lokalizacji dla indeksów Ustawianie lokalizacji dla indeksów spis kroków

Mobilne aplikacje multimedialne

Podstawy obsługi aplikacji Generator Wniosków Płatniczych

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

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Prezentacja systemu zarządzania treścią CMS

Diagramy klas. dr Jarosław Skaruz

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018

Programowanie Obiektowe GUI

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

Program do obsługi ubezpieczeń minifort

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

KOMUNIKACJI AGENTA/GESTORÓW KONTENERÓW Z SYSTEMEM KOMPUTEROWYM GCT.

Powiadomienia w systemie Android

TWORZENIE FORMULARZY WORD 2007

Programowanie obiektowe zastosowanie języka Java SE

Współpraca Integry z programami zewnętrznymi

Aplikacje w środowisku Java

Dokumentacja WebMaster ver 1.0

PREZENTACJE MULTIMEDIALNE cz.2

KOMUNIKACJI AGENTA/GESTORÓW KONTENERÓW Z SYSTEMEM KOMPUTEROWYM GCT.

3.4. Opis konfiguracji layoutów.

Dostępne grupy kontrolek. Podstawowe kontrolki Web

WSTĘP DO ANDROIDA. Laboratorium 1 Systemy i aplikacje bez granic

OGÓLNOPOLSKI SYSTEM OCHRONY ZDROWIA OSOZ STRONA INTERNETOWA APTEKI

Instrukcja automatycznego tworzenia pozycji towarowych SAD na podstawie danych wczytywanych z plików zewnętrznych (XLS).

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Programowanie obiektowe

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Omówienie procesu zakupowego w sklepie internetowym Papyrus Sp. z o. o. Spis treści

akademia androida Pierwsze kroki w Androidzie część I

SYSTEM ZARZĄDZANIA TREŚCIĄ (CMS) STRONY INTERNETOWEJ SZKOŁY PRZEWODNIK

Programowanie dla Androida. Ubiquitous

Szkolenie Android dla początkujących

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

Informatyka II. Laboratorium Aplikacja okienkowa

C-geo definicja/edycja obiektów, zapis danych w formacie shape

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

elektroniczna Platforma Usług Administracji Publicznej

Laboratorium Systemów Mobilnych. Wykład 1

Podręcznik Integracji

Instrukcja zarządzania kontami i prawami

SERTUM moduł Oferty. Spis treści

Programowanie usług działających w tle

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Stworzenie programu KSIĄŻKA ADRESOWA posiadającego funkcjonalności przechowywania danych o osobach dodanych przez użytkownika.

WSTAWIANIE GRAFIKI DO DOKUMENTU TEKSTOWEGO

WAŻNE! colour.me Google Fonts tutaj

Praca z programem PLANS

Konta uŝytkowników. Konta uŝytkowników dzielą się na trzy grupy: lokalne konta uŝytkowników, domenowe konta uŝytkowników, konta wbudowane

Aplikacje w środowisku Java

Programowanie obiektowe

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Programowanie aplikacji mobilnych

Program automatycznej obsługi sklepu i supermarketu

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.

Podstawowe kontrolki i ich obsługa

Kraków, ver

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

Serwis Członkowski Polskiej Izby Ubezpieczeń Instrukcja obsługi UŜytkownik

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

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

WSTĘP DO ANDROIDA. Laboratorium 2 Systemy i aplikacje bez granic

DODAWANIE ARTYKUŁÓW DO STRONY INTERNETOWEJ

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

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

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Programowanie w środowisku graficznym GUI

CRM VISION INSTALACJA I UśYTKOWANIE ROZSZERZENIA DO PROGRAMU MOZILLA THUNDERBIRD

INSTRUKCJA OBSŁUGI SKLEPU INTERNETOWEGO. Alu System Plus Sp.J. ul.leśna 2d Chrzanów, tel.(+48-32)

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Wirtualna tablica. Padlet: Padlet nazywany jest wirtualną tablicą, ścianą lub kartką strony internetowej.

Transkrypt:

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

Layouty w Androidzie Kamil Snopek

Główne punkty prezentacji Main.xml Główny plik layout u Typy layout ów Linear Layout Table Layout Frame Layout Absolute Layout Relative Layout

Main.xml Jest to plik w którym stworzony zostanie nasz layout główny. Znajdziemy go w resources (res\layout). Kompiluje się on razem z programem i musi zostać załadowany w metodzie oncreate() za pomocą funkcji setcontentview() w głównym pliku programu.

Main.xml 2 Opisujemy tutaj jaką wielkość ma mieć dany obiekt, jak się zachowywać oraz gdzie się znajdować. Przykładem niech będzie poniŝszy kod: android:layout_gravity="top"

Linear Layout Linear layout umieszcza wszystkie swoje komponenty w kolumnie lub wierszu. MoŜna go zorientować poziomo i pionowo. na 2 sposoby: Layout ten pozwana na umieszczanie obiektów w zaleŝności od atrybutu gravity oraz modyfikowanie jego wielkości.

Table Layout Layout ten umieszcza wszystkie obiekty w tablicy którą sami stworzymy. MoŜe ona posiadać dowolną liczbę wierszy i kolumn.

Frame Layout Jest to najprostszy z layoutów. Umieszcza on wszystkie obiekty w lewym górnym rogu ekranu.

Absolute Layout Określa on połoŝenie kaŝdego obiektu współrzędnymi x i y. Jest to layout mało elastyczny, przez co inaczej się prezentuje nasza aplikacja na róŝnych typach urządzeń. Layout ten wychodzi z uŝycia.

Relative Layout Najczęściej uŝywany ze względu na moŝliwość pozycjonowania obiektów względem siebie. Łączy dobre cechy Absolute oraz Linear layout u. Widgety moŝemy ustawiać w dowolnym miejscu. Oferuje największe moŝliwości.

Widgets Tomasz Wachowski

Co to jest widget? Ich klasą bazową jest klasa View. Widgety są uŝywane do komunikacji z uŝytkownikiem, wizualizowanie danych lub informacji o stanie programu oraz zarządzania innymi widgetami. Image button -> Text Field -> Checkbox -> Radio button -> DatePicker

Podstawowe Widgety: Label Label nazywany jest w androidzie TextView. Obiekty TextView jest uŝywany do wyświetlania nagłówków. Nie moŝna ich edytować, nie przyjmują one danych wejściowych.

Podstawowe Widgety: Label <TextView android:id="@+id/mytextview1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#ff0000ff" android:padding="3px" android:text="enter User Name" android:textsize="16sp" android:textstyle="bold" android:gravity="center" android:layout_x="20px" android:layout_y="22px" > </TextView>

Podstawowe Widgety: Button Button pozwala na symulowanie akcji klikanie w interfejsie użytkownika. Button jest podklasą Textview, więc ich formatowanie jest podobne. <Button android:id="@+id/btnexitapp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10px" android:layout_marginleft="5px" android:text="exit Application" android:textsize="16sp" android:textstyle="bold" android:gravity="center" android:layout_gravity="center_horizonta l"> </Button>

Podstawowe Widgety: Images Klasy ImageView oraz ImageButton, są to dwa widgety które pozwalają na osadzenie obrazków w aplikacji. Oba są odpowiednikami TextView oraz Button, lecz są one bazowane na obrazkach. KaŜdy z nich przyjmuje atrybut android:src lub android:background (w XML layout). Atrybut ten przypisuje im obrazek. ImageButton jest subklasą ImageView. Dodaje ona standardowe zachowanie przycisku w odpowiedzi na kliknięcie.

Podstawowe Widgety: Images <ImageButton android:id="@+id/myimagebtn1" android:src="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" > </ImageButton> <ImageView android:id="@+id/myimageview1" android:src="@drawable/microsoft_sunset" android:layout_width="150px" android:layout_height="120px" android:scaletype="fitxy"> </ImageView>

Podstawowe Widgety: EditText EditText widget jest rozszerzeniem TextView, które umoŝliwia edycję swojej zawartości. Metoda umoŝliwiająca odczyt: txtbox.gettext().tostring() Metoda umoŝliwiająca zapis: txtbox.gettext().tostring() Editbox posiada kilka dodatkowych opcji: android:autotext włącza/wyłącza automatyczne sprawdzanie poprawności pisanego słowa, android:capitalize -automatyczne pisanie duŝą literą, android:digits konfiguruję pole, tak aby przyjmowało tylko określone cyfry android:singleline określa czy pole tekstowe jest przeznaczone dla jednoczy wielo- liniowych tekstów, android:passoword określa widoczność wpisanych znaków, android:numeric (integer,decimal,signed) określa format numeryczny, android:phonenumber formatowanie numeru telefonu.

Implementacja widgetu w programie. Aby móc korzystać z z widgetów pierw musimy do programu głównego załadować layout za pomocą: setcontentview(r.layout.main) Następnie musimy odnaleźć nasz widget przy pomocy findviewbyid(int). Button button= (Button) findviewbyid(r.id.button); EditText edittext = (EditText) findviewbyid(r.id.edittext); CheckBox checkbox = (CheckBox) findviewbyid(r.id.checkbox);

ListView Jan Romaniak

ListView ListView uŝywane jest do prezentacji danych jak sama nazwa wskazuje na liście, jest on jednym z najczęściej uŝywanych widget ów moŝna go spotkać np. w ustawieniach androida.

ListView ListView jest jednym z widget ów znajdujących się w submenu Composite w toolbox ie interfejsu tworzenia layout ów.

Jak stworzyć listę TextView NaleŜy dodać nowy layout. Będzie to nasz listview item (element listy). W przykładzie nazwe list_item.xml

cd. Wybrać plik typu xml, następnie nadać mu nazwę i zaakceptować.

cd. W pliku który właśnie utworzyliśmy dodajemy w kodzie/ przeciągamy TextView <TextView android:text="textview" android:layout_width="wrap_content" android:id="@+id/textview" android:layout_height="wrap_content" android:textappearance="?android:attr/textappearancelarge" android:gravity="center" android:textcolor="#ff33a2ff"></textview>

W kodzie Java W pliku naszego activity naleŝy stworzyć listę bądź tablice String ów zawierająca interesujące nas dane List<String> nameslist = new ArrayList<String>(); nameslist.add("agata"); nameslist.add("anna");

cd. W kodzie Java NaleŜy zdefiniować dwie zmienne typów kolejno ListView i ListAdapter. Do zmiennej typu ListView naleŝy wczytać listview, które utworzyliśmy na samym początku. ListView listview =(ListView)findViewById(R.id.simpleListView);

Tworzenie adaptera Do adaptera stworzyć nowy obiekt typu ArrayAdapter gdzie kolejne parametry konstruktora to Context gdzie podajemy nasze activity, layout naszego itemu, a ostatni to lista lub tablica naszych String ów. ArrayAdapter<String> listadapter= new ArrayAdapter<String>(this,,R.layout.list_item, R.layout. textview, nameslist);

Przypisanie adaptera do ListView NaleŜy uŝyć metody listview.setadapter(adapter) i wstawić tam nasz nowo utworzony adapter. listview.setadapter(listadapter);

AsyncTask Jan Romaniak

Dlaczego uŝywać AsyncTask ów W większości większych aplikacji występuje potrzeba wykonania czegoś co zajmuje sporo czasu (>3s) np. pobieranie obrazka z Internetu. JeŜeli pobierzemy go standardowo (w wątku synchronicznym z UI) np. w funkcji oncreate() to najprawdopodobniej zakończy się to tak:

AsyncTask - pułapki Tak samo jak w większości systemów z wątku jaki tworzy AsyncTask nie moŝna bezpośrednio odwoływać się do wątku głównego (wyświetlającego grafikę). Takie zadania naleŝy wykonywać w metodach onprogressupdate lub onpostexecute

Jak stworzyć AsyncTask NaleŜy stworzyć klasę dziedziczącą po klasie AsyncTask W nawiasach trójkątnych (typy generyczne) pierwszy typ oznacza jaki typ parametru przybiorą metody doinbackground i execute. public class SimpleAsyncTask extends AsyncTask<Integer, Float, Long>

cd. Jak stworzyć AsyncTask Drugi typ w tym wypadku Float oznacza, typ wartości zwracanej przez doinbackground, a takŝe parametr metody onpostexecute Trzeci typ to typ wartości parametru onprogressupdate i publishprogress. public class SimpleAsyncTask extends AsyncTask<Integer, Float, Long>

cd. Jak stworzyć AsyncTask W klasie naleŝy przeciąŝyć metodę doinbackground i wpisać do niej zadania czasochłonne. W metodzie onprogressupdate wpisujemy kod który ma się wykonywać na UI Thread po wykonaniu metody publishprogress. Metoda onpostexecute wykonuje się po wykonaniu zadania z doinbackground, na wątku głównym.

Dziękujemy W ramach checi rozszerzenia swojej wiedzy zapraszamy na : http://grail.cba.csuohio.edu/%7ematos/notes/cis-493/lecturenotes/android-chapter04-user-interfaces.pdf Tomasz Wachowski Kamil Snopek Jan Romaniak