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

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

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

Layouty. Kilka layoutów

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

Laboratorium Systemów Mobilnych. Wykład 1

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

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

Systemy operacyjne na platformach mobilnych

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

[Android] Podstawy programowania

Systemy operacyjne na platformach mobilnych

Laboratorium 8 ( Android -pierwsza aplikacja)

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

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:

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

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

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

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

Programowanie aplikacji mobilnych

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

Mobilne aplikacje multimedialne

Wprowadzenie do programowania aplikacji mobilnych

Powiadomienia w systemie Android

Podstawowe kontrolki i ich obsługa

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

Architektura interfejsu użytkownika

Podstawowe elementy GUI cz. 2 i 3 - zadania

WSTĘP DO ANDROIDA. Laboratorium

Programowanie dla Androida. Ubiquitous

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Podstawowe elementy GUI - zadania

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

Programowanie Obiektowe GUI

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

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

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

KATEGORIA OBSZAR WIEDZY

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

Android poradnik programisty

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

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

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

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

akademia androida Pierwsze kroki w Androidzie część I

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

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Dokument zawiera podstawowe informacje o użytkowaniu komputera oraz korzystaniu z Internetu.

Agenda. Implicit intents Wyświetlanie obrazków Menu Ikona aplikacji Praca z kolekcjami i ListView Własny widok

KATEGORIA OBSZAR WIEDZY

Tworzenie aplikacji na platformie Android

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Możliwości programu Power Point

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

3.4. Opis konfiguracji layoutów.

Konfiguracja szablonu i wystawienie pierwszej aukcji allegro

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

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Programowanie obiektowe

Android pierwsza aplikacja

Delphi podstawy programowania. Środowisko Delphi

Fragmenty są wspierane od Androida 1.6

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

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

Programowanie w środowisku graficznym GUI

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

Podstawowe elementy GUI cz. 2 i 3 - zadania

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

Praca z aplikacją designer

Aplikacje w środowisku Java

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Zadanie 1. Stosowanie stylów

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

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

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

Obsługa SMS i telefonii

OPROGRAMOWANIE DEFSIM2

Nr: 15. Tytuł: Kancelaris w systemie Windows 8 i Windows 8.1. Data modyfikacji:

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

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

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

REFERAT O PRACY DYPLOMOWEJ

Lekcja 1: Origin GUI GUI to Graficzny interfejs użytkownika (ang. GraphicalUserInterface) często nazywany też środowiskiem graficznym

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

Wprowadzenie do Doctrine ORM

Programowanie aplikacji na urządzenia mobilne

Laboratorium 7 Blog: dodawanie i edycja wpisów

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

Informatyka II. Laboratorium Aplikacja okienkowa

INSTRUKCJA OBSŁUGI SYSTEM ZARZĄDZANIA TREŚCIĄ

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

Aplikacje w środowisku VBA. Visual Basic for Aplications

Sylabus Moduł 2: Przetwarzanie tekstów

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

Wykład 10 Kolekcje, pliki tekstowe, c.d. Przykład: Notatnik

Tworzenie raportów. Ćwiczenie 1. Utwórz Autoraport przedstawiający tabelę Studenci

Szkolenie Android dla początkujących

Edytor tekstu MS Office Word

Zaawansowane aplikacje internetowe - laboratorium

Transkrypt:

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

Wstęp Tematem dzisiejszych zajęć będą: - Layouty - FrameLayout - LinearLayout - RelativeLayout - AbsoluteLayout - TableLayout - Widgety - Label(TextView) - Button - EditText - AutoCompleteTextView - CheckBox - Menu - Menu opcji - Menu kontekstowe

Wstęp W trakcie prezentacji zostaną wykorzystane materiały autorstwa dr Victora Matosa. Materiały te dostępne są pod adresami: http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android- Chapter04-User-Interfaces.pdf http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android- Chapter08-Menus.pdf

UI tworzymy w XML Dlaczego XML a nie podejście programistyczne? Separacja kontroli zachowania aplikacji od jej prezentacji: - Możliwość modyfikacji bez ingerencji w kod - Brak konieczności ponownej kompilacji kodu - Naturalny podział pracy przy większych projektach Tworzenie przejrzystego kodu: - Łatwiejsze debugowanie

Struktura interfejsu UI tworzą: - Obiekty pochodne od klasy View - Obiekty pochodne od klasy ViewGroup Obiekty ViewGroup stanowią gałęzie drzewa i nazywaną są layoutami. Obiekty View stanowią liście drzewa i nazywane są widgetami.

Czy sąlayoutyxml? Layout oparty na XML określa różne komponenty interfejsu, czyli widgety oraz relacje między nimi i ich zbiornikami (czyli layoutami). Android traktuje layouty jako zasoby programu (resources) i umieszcza ja w katalogu res/layout naszego projektu.

Podstawowe layouty FrameLayout Każdy dodany komponent (dziecko) jest umieszczany w lewym górnym rogu widoku.

Podstawowe layouty LinearLayout Umieszcza komponenty w pojedynczej kolumnie/wierszu (to oznacza że można go zorientować pionowo lub poziomo). Domyślnąkonfiguracjąjest orientacja pozioma.

Podstawowe layouty dodatkowe przykłady z prezentacji: http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecturenotes/android-chapter04-user-interfaces.pdf Na stronach: 20-21

Podstawowe layouty AbsoluteLayout Ten layout określa pozycję każdego komponentu bezwzględnymi współrzędnymi.

Podstawowe layouty RelativeLayout Komponenty zawarte w tym layout cie są rozmieszczone z uwzględnieniem swoich wzajemnych pozycji

Podstawowe layouty dodatkowe przykłady z prezentacji: http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecturenotes/android-chapter04-user-interfaces.pdf Na stronach: 24-27

Podstawowe layouty TableLayout Komponenty zawarte w tym layout cie sąrozmieszczone tabelarycznie, z określonąprzez projektanta liczbą wierszy i kolumn

Ładowanie layout uw programie Każdy plik XML określający nasz layout jest kompilowany wraz z programem. Konieczne jest załadowanie go wewnątrz metody oncreate().

Podstawowe layouty dodatkowe przykłady z prezentacji: http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecturenotes/android-chapter04-user-interfaces.pdf Na stronie nr 31.

Widgety Widgetysąpodstawowymi komponentami graficznego interfejsu aplikacji (tzw. kontrolki). Ich klasą bazową jest klasa View.

Widgety Funkcje widgetów: - Przekazywaniedo programu danych lub poleceń użytkownika - Wizualizowaniedanych lub informacji o stanie programu - Zarządzenie innymi widgetami

Widgety Label(TextView) - Label w androidzie jest nazywany TextView (TextView jest nazwą właściwej klasy) - Obiekty TextView są używane do wyświetlania nagłówków - Obiektów TextViewnie można edytować, zatem nie przyjmujążadnych danych wejściowych

Widgety Label(TextView) <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>

Widgety-Button - Przyciski pozwalają symulować akcję klikania w interfejsie użytkownika - Klasa Button jest klasą pochodną klasy TextView, w związku z czym formatowanie tych obiektów jest podobne

Widgety-Button <Button android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/entry" android:layout_alignparentright="true" android:layout_marginleft="10dip" android:text="ok" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toleftof="@id/ok" android:layout_aligntop="@id/ok" android:text="cancel" />

Widgety-EditText EditTextjest widgetempochodnym od TextView, umożliwiającym wprowadzanie tekstu. To pole tekstowe jest pozbawione zaawansowanych funkcji edycji tekstu, służy głównie to przekazywania ciągu znaków do programu. Domyślnie, gdy nasz tekst przekroczy jednąlinię, okienko EditTextzwiększy swój rozmiar o kolejnąlinijkę, jednak istnieje możliwośćzablokowania rozmiaru tego okienka ustawiając wartość atrybutu: android:singleline na wartość true.

Widgety-EditText dodatkowe przykłady z prezentacji: http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecturenotes/android-chapter04-user-interfaces.pdf Na stronach: 43-45

Widgety-AutoCompleteTextView Rozszerzeniem klasy EditTextjest klasa AutoCompleteTextView, która w trakcie wpisywania tekstu podaje sugestie dokończenia wyrazu/zdania

Wigdety-AutoCompleteTextView ImplementacjęwidgetuAutoCompleteTextViewzaczynamy od stworzenia pliku XML w folderze res/layout:

Widgety-AutoCompleteTextView W ten sposób utworzyliśmy plik który będzie odpowiadałza pole każdej wyświetlanej sugestii. Wprowadźmy do utworzonego pliku następujący kod:

Widgety-AutoCompleteTextView Edytujmy plik main.xml aby wyglądał w następujący sposób:

Widgety-AutoCompleteTextView Następnie otwieramy folder res/values, a w nim plik strings.xml i edytujemy go do postaci:

Widgety-AutoCompleteTextView Edytujmy główny plik naszego programu do postaci:

Widgety-AutoCompleteTextView W powyższym kodzie: 1.Po załadowaniu głownegolayoutu(main.xml) odnajdujemy widget AutoCompleteTextView metodą findviewbyid(int). 2. Następnie obiekt ArrayAdapter jest inicjalizowany do łączenia pliku layoutowego listitem.xml do każdego elemantu string-array z pliku strings.xml 3.Ostatecznie, metoda setadapter() jest wywoływana do skojarzenia obiektu ArrayAdapter z widgetem AutoCompleteTextView, tak, by tablica stringów zapełniła listę sugestii.

Widgety-CheckBox dodatkowe przykłady z prezentacji: http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecturenotes/android-chapter04-user-interfaces.pdf Na stronach: 51-54

Menu myślę, że już wiesz co robić

Menu Przykłady z prezentacji: http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecturenotes/android-chapter08-menus.pdf Na stronach: 2-19

Optionmenu Menu wyboru i kontekstowe mogą zawierać następujące pola: 1. Tekst 2. Ikony 3. Radio button 4. Check Boxes 5. Sub-menu(menu rozwijane) 6. Skróty klawiszowe Struktura Menu: <menu> <item> <group>

Optionmenu -implementacja <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/new_game" android:icon="@drawable/ic_new_game" android:title="@string/new_game" /> <item android:id="@+id/help" android:icon="@drawable/ic_help" android:title="@string/help" /> </menu> Implementacja kodu.xml do programu przy pomocy MenuInflater.inflate(). @Override public boolean oncreateoptionsmenu(menu menu) { MenuInflater inflater = getmenuinflater(); inflater.inflate(r.menu.game_menu, menu); return true; }

Linki http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android-chapter04-user-interfaces.pdf http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android-chapter05-xml-layouts.pdf http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android-chapter06-selection- Widgets.pdf http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android-chapter07a-fancy-date- Time-Tabs.pdf http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android-chapter07b-hard-soft- Keyboard-IMF.pdf http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android-chapter08-menus.pdf http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android-chapter09-fonts.pdf http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android-chapter10-webkit.pdf http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/android-chapter11-dialogboxes.pdf Autor powyższych prezentacji: http://grail.cba.csuohio.edu/~matos/

Koniec Dziękujemy na wysłuchanie i życzymy powodzenia