Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody
|
|
- Robert Czajka
- 6 lat temu
- Przeglądów:
Transkrypt
1 Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody
2 Kontrolka lista <!-- row_txt.xml --> <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android=" /apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:textsize="30dp"> </TextView> public class ListaShow extends ListActivity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.row_txt, new String[]{"Słońce", "Merkury", "Wenus", "Ziemia", "Mars", "Jowisz", "Saturn", "Uran", "Neptun", "Pluton" ); setlistadapter(aa);
3 Kontrolka lista <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" /pk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> public class ListaShow extends ListActivity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.row_txt, new String[]{"Słońce",..., "Pluton" ); ListView l = (ListView)findViewById(R.id.lista); l.setadapter(aa);
4 ListView podział wierszy android:divider element drawable służący do rozdzielenia wierszy listy, setdivider(drawable divider), getdivider(), android:dividerheight - wysokość elementu rozdzielającego, setdividerheight(int height), getdividerheight(), android:footerdividersenabled widoczny dolny element rozdzielajacy, android:headerdividersenabled widoczny górny element rozdzielający.
5 ListView nagłówek i stopka public void addheaderview (View v, Object data, boolean isselectable) ustawienie nagłówka listy, removeheaderview(view v) usunięcie nagłówka z listy public void addfooterview (View v, Object data, boolean isselectable) ustawienie stopki dla listy removefooterview(view v) usunięcie stopki z listy
6 Interface Cursor Interfejs pozwala na losowy dostęp do wyniku zapytania do bazy danych. Implementacja interface pozwala na odczyt: odczyt pozycji: getcount(), getposition() poruszanie się po odczytanych rekordach : move(int offset), movetofirst(), movetolast(), movetonext(), movetoposition(int position), movetoprevious(), określenia pozycji: isafterlast(), isbeforefirst(), isclosed(), isfirst(), islast()
7 Interface Cursor Implementacja interface pozwala na odczyt: informacji o kolumnach krotki (rekordu): getdouble(int columnindex), getfloat(int columnindex), getint(int columnindex), getlong(int columnindex), getshort(int columnindex), getstring(int columnindex) isnull(int column) Podklasy: AbstractCursor, AbstractWindowedCursor, CrossProcessCursor, CursorWrapper, MatrixCursor, MergeCursor, MockCursor, SQLiteCursor
8 Interface Cursor - podklasy MatrixCursor klasa pozwalająca zapisać dane w postaci tabeli. addrow(object[] columnvalues). MergeCursor Pozwala na powiązanie kilku kursorów w jeden ciągły. Konstrukcja: MergeCursor(Cursor[] cursors). SQLiteCursor kursor przeznaczony do operacji na bazie danych.
9 Adapter kursorów BaseAdapter klasa bazowa abstrakcyjna adapterów (dla komponentów ListView, GridView ), ArrayAdapter adapter prostych list danych, CursorAdapter klasa bazowa abstrakcyjna operująca na źródle danych typu cursor, ResourceCursorAdapter j.w. SimpleCursorAdapter adapter źródła danych typu cursor, SimpleAdapter adapter prostych list - map danych : List<? extends Map<String,?>>
10 Kontrola - siatka <!-- grid.xml --> <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android= " android:layout_height="fill_parent" android:layout_width="fill_parent" android:padding="10px" android:verticalspacing="10px" android:horizontalspacing="10px" android:numcolumns="2" android:stretchmode="columnwidth" android:gravity="center" android:id="@+id/datagrid"> </GridView> public class Grid extends Activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.grid); ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.row_txt, new String[]{"Słońce", "Merkury", "Wenus", "Ziemia", "Mars", "Jowisz", "Saturn", "Uran", "Neptun", "Pluton" ); GridView gv = (GridView) this.findviewbyid(r.id.datagrid); gv.setadapter(aa);
11 Kontrolka lista rozszerzenia <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android=" /apk/res/android"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
12 Kontrolka lista rozszerzenia public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); String[] menucols = new String[] {"_id", "icon", "item", "price" ; int[] to = new int[] { -1, R.id.icon, R.id.item, R.id.price ; MatrixCursor menucursor = new MatrixCursor(menuCols); startmanagingcursor(menucursor); menucursor.addrow(new Object[] {1, R.drawable.icon_b, "Blue android", "$2.99" ); menucursor.addrow(new Object[] {2, R.drawable.icon_g, "Green android", "$3.99" ); menucursor.addrow(new Object[] {3, R.drawable.icon_r, "Red android", "$1.99" ); menucursor.addrow(new Object[] {4, R.drawable.icon_y, "Yellow android", "$4.99" ); menucursor.addrow(new Object[] {5, R.drawable.icon, "Normal android", "$3.19" ); SimpleCursorAdapter menuitems = new SimpleCursorAdapter( this, R.layout.menu_row, menucursor, menucols, to); setlistadapter(menuitems);
13 Kontrolka lista rozszerzenia protected void onlistitemclick( ListView parent, View view, int position, long id) { super.onlistitemclick( parent, view, position, id); if (view.isenabled()) { TextView text = (TextView) view.findviewbyid(r.id.price); text.settext(" SOLD " + text.gettext()); view.setenabled(false);
14 Kontrolka lista niestandardowa <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent" > <Button android:layout_height="wrap_content" android:layout_width="fill_parent" android:onclick="zamknijokno" android:text="zamknij listę zakupów" /> <ListView android:layout_height="fill_parent" android:layout_width="fill_parent" /> </LinearLayout>
15 Kontrolka lista niestandardowa public class ListaShow extends Activity implements OnItemClickListener { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); requestwindowfeature(window.feature_no_title); setcontentview(r.layout.list); //... tworzenie kursora... MatrixCursor menucursor = new... ListView lv = (ListView) findviewbyid(r.id.lista); lv.setadapter(menuitems); lv.setonitemclicklistener(this); public void zamknijokno(view view) { finish(); public void onitemclick(adapterview<?> parent, View view, int position, long id) { if (view.isenabled()) { TextView text = (TextView) view.findviewbyid(r.id.price); text.settext(" SOLD " + text.gettext()); view.setenabled(false);
16 BaseAdapter własny adapter Własny adapter można uzyskać po zdefiniowaniu metod abstrakcyjnych klasy BaseAdapter. Klasa BaseAdapter implementuje wybrane metody interfejsów: ListAdapter klasa przeznaczona dla komponentów tworzonych na podstawie zestawu danych (ListView, GridView) SpinnerAdapter zestaw metod przeznaczonych dla komponentu Spinner
17 BaseAdapter własny adapter Metody które trzeba zaimplementować: public int getcount() - liczba elementów wyświetlanych na liście, public Object getitem(int position) dane powiązane z danym wierszem listy, public long getitemid(int position) id danego elementu listy public View getview(int position, View convertview, ViewGroup parent) tworzenie widoku elementów na liście: position pozycja na liście convertview element zachowany parent rodzic - lista
18 Kontrolka lista niestandardowa <!-- strings.xml --> <?xml version="1.0" encoding="utf-8"?> <resources> <! > <drawable name="darkred"> #200000</drawable> <drawable name="darkblue"> #000020</drawable> </resources> public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); requestwindowfeature(window.feature_no_title); setcontentview(r.layout.list); ListView lv = (ListView) findviewbyid(r.id.lista); lv.setadapter(new ListMenuAdapter(this)); lv.setonitemclicklistener(this);
19 Kontrolka lista niestandardowa public class ListMenuAdapter extends BaseAdapter { protected LayoutInflater minflater; protected int[] images; protected String[] texts; protected String[] prices; public ListMenuAdapter(Context context) { minflater = LayoutInflater.from(context); images = new int[]{r.drawable.icon_b, R.drawable.icon_g, R.drawable.icon_r, R.drawable.icon_y, R.drawable.icon; texts = new String[]{"Blue android", "Green android", "Red android", "Yellow android", "Normal android"; prices = new String[]{ "$2.99", "$3.99", "$1.99", "$4.99", "$3.19"; public int getcount() { return 5; public Object getitem(int arg0) { return null; public long getitemid(int arg0) { return arg0;
20 Kontrolka lista niestandardowa public class ListMenuAdapter extends BaseAdapter { protected LayoutInflater minflater; protected int[] images; protected String[] texts; protected String[] prices; //... public View getview(int pos, View view, ViewGroup parent) { if (view == null) view = minflater.inflate(r.layout.menu_row, null); if (pos < getcount()) { TextView text = (TextView) view.findviewbyid(r.id.item); TextView price = (TextView) view.findviewbyid(r.id.price); ImageView img = (ImageView) view.findviewbyid(r.id.icon); text.settext(texts[pos]); price.settext(prices[pos]); img.setimageresource(images[pos]); if (pos % 2 == 0) else view.setbackgroundresource(r.drawable.darkred); view.setbackgroundresource(r.drawable.darkblue); return view;
21 Fragmenty Fragment przedstawia część interfejsu użytkownika w aktywności. Można połączyć kilka fragmentów w pojedynczej aktywności. Fragment posiada własny cykl życia. Wprowadzone w Android 3.0 (z myślą o tabletach).
22 Tworzenie fragmentów Klasa fragmentu musi dziedziczyć bezpośrednio lub pośrednio po klasie biblioteczne Fragment. Zawiera metody zwrotne: oncreate() - wywoływane, gdy system tworzy fragment oncreateview() - wywoływane, gdy istniej potrzeba odrysowania interfejsu użytkownika onpause() - wywoływane, jako pierwsza oznaka, tego że użytkownik zakończył pracę z fragmentem.
23 Klasy fragmentów DialogFragment wyświetla pływający dialog. ListFragment wyświetla listę elementów. PreferenceFragment wyświetla hierarchię obiektów Preference w postaci listy
24 Dodawanie fragmentów <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:name="com.example.news.articlelistfragment" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> <fragment android:name="com.example.news.articlereaderfragment" android:layout_weight="2" android:layout_width="0dp" android:layout_height="match_parent" /> </LinearLayout>
25 Dodawanie programowe Można dodawać fragmenty, w każdej chwili, w której jest uruchomiona aktywność, wystarczy jedynie określić ViewGroup, w którym ma być umieszczony fragment. Operacje na fragmentach (takie jak ich dodawanie, usuwanie, zastępowanie) są wykonywane za pośrednictwem FragmentTransaction. Obiekt transakcji uzyskuje się za pośrednictwem FragmentManagera.
26 Dodawanie programowe FragmentManager fragmentmanager = getfragmentmanager(); FragmentTransaction fragmenttransaction = fragmentmanager.begintransaction(); Dodawanie fragmentu można zrealizować za pomocą metody add() ExampleFragment fragment = new ExampleFragment(); fragmenttransaction.add(r.id.fragment_container, fragment); fragmenttransaction.commit(); Metoda commit() zatwierdza zmiany.
27 Dostawcy treści Zarządzanie przepływem informacji w systemie android. Pełna lista dostawców dostępna jest pod ndroid/provider/package-summary.html Contacts:.People, Phones, Photos, Groups MediaStore: Audio (Albums, Artists, Media, Playlists), Images (Media, Thumbnails), Video (Media, Thumbnails) Settings
28 Dostawcy treści kontakty 1 Odczytanie listy kontaktów // Zezwolenie odczytu listy kontaktów w AndroidManifest.xml <uses-permission android:name="android.permission.read_contacts"/> public class Dostawcy extends ListActivity { public void oncreate(bundle icicle) { super.oncreate(icicle); Cursor cursor = getcontentresolver().query(contactscontract.contacts.content_uri, null, null, null, null); String[] menucols = new String[]{ ContactsContract.Contacts.DISPLAY_NAME ; int[] to = new int[] { R.id.text ; SimpleCursorAdapter menuitems = new SimpleCursorAdapter(this, R.layout.text, cursor, menucols, to); setlistadapter(menuitems);
29 Dostawcy treści kontakty 2 ContentResolver getcontentresolver(); - Klasa ta zapewnia dostęp do dostawców treści. Cursor query(uri uri, String[] projection, String selection, String[] selectionargs, String sortorder): uri adres dostawcy treści, projection lista kolumn zawracanych, selection warunek WHERE (bez słowa kluczowego WHERE), selectionargs argumenty podmienia wartości '?', sortorder sortowanie wyniku (wartości za klauzulą ORDER BY).
30 Dostawcy treści kontakty 3 Cursor cursor = getcontentresolver().query(contactscontract.contacts.content_uri, null, null, null, null); while (cursor.movetonext()) { String contactid = cursor.getstring( cursor.getcolumnindex(contactscontract.contacts._id)); String name = cursor.getstring( cursor.getcolumnindex( ContactsContract.Contacts.DISPLAY_NAME)); Log.v("ContactsContract", contactid + " " + name); int hasphone = cursor.getint( cursor.getcolumnindex( ContactsContract.Contacts.HAS_PHONE_NUMBER)); //... cursor.close();
31 Dostawcy treści kontakty 4 if (hasphone > 0) { Cursor phones = getcontentresolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactid, null, null); while (phones.movetonext()) { String phonenumber = phones.getstring( phones.getcolumnindex( ContactsContract.CommonDataKinds.Phone.DATA)); Log.v("ContactsContract tel", phonenumber); phones.close(); LOG: VERBOSE/ContactsContract: 1 Robert Iksinski VERBOSE/ContactsContract: 2 Tomasz Igrekowski VERBOSE/ContactsContract tel: VERBOSE/ContactsContract: 3 Piotr Zetowski VERBOSE/ContactsContract tel: 123
32 Dostawcy treści kontakty 5 Odczytanie kontaktu, konkretnej pozycji z pomocą standardowej listy kontaktów. public class Dostawcy extends Activity { protected static int PICK_CONTACT = 1; public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.main); Intent intentcontact = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startactivityforresult(intentcontact, PICK_CONTACT); //...
33 Dostawcy treści kontakty 6 public void onactivityresult(int requestcode, int resultcode, Intent intent) { if (requestcode == PICK_CONTACT) { getcontactinfo(intent); protected void getcontactinfo(intent intent) { Cursor cursor = managedquery(intent.getdata(), null, null, null, null); while (cursor.movetonext()) { String contactid = cursor.getstring( cursor.getcolumnindex(contactscontract.contacts._id)); String name = cursor.getstring( cursor.getcolumnindexorthrow( ContactsContract.Contacts.DISPLAY_NAME)); Log.v("ContactsContract", contactid + " " + name); cursor.close();
34 Dostawcy treści identyfikator URI Identyfikator URI jednoznacznie określa dostawcę treści, Jego struktura przypomina identyfikatory URI protokołu HTTP, ContactsContract.Contacts.CONTENT_URI content://com.android.contacts/contacts ContactsContract.CommonDataKinds.Phone.CONTENT_URI content://com.android.contacts/data/phones ContactsContract.CommonDataKinds. .CONTENT_URI content://com.android.contacts/data/ s
35 Identyfikator URI - budowa content://authoriy-name/path-segment/... content człon określający dostawcę treści, authoriy-name niepowtarzalny identyfikator upoważnienia używany do zlokalizowania dostawcy w rejestrze dostawców, path-segment człon ten określa ścieżkę dostępu do danych (inną dla każdego dostawcy) Człon path-segment może być powtarzany wielokrotnie
36 Identyfikator URI - budowa Wywołanie listy kontaktów identyfikator jednego kontraktu: content://com.android.contacts/contact s/ lookup/0n293f33292b314f /2
37 Identyfikator URI -budowa Własny wybór elementu listy kontaktów: content://com.android.contacts/contact s/1 Dla dostawców wbudowanych (com.android) nie trzeba używać całego identyfikator, wystarczy wskazać odpowiednie słowo: content://contacts/contacts/1
Systemy operacyjne na platformach mobilnych
Systemy operacyjne na platformach mobilnych Wykład 3 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Menu opcji ListActivity własny widok własny adapter
Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda
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
Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody
Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody Rozmieszczenie przykład Jaki układu rozmieszczający powinien zostać wykorzystany? AbsoluteLayout, TableLayout,
Android - Kontakty. Łukasz Dudzioski
Android - Kontakty Łukasz Dudzioski Kontakty informacje Oparte na androidowej bazie danych Contact API zarządzany dostęp do bazy danych Niskopoziomowy dostęp Duża zmiana od wersji 2.0 Schemat bazy danych
Fragmenty są wspierane od Androida 1.6
W androidzie można tworzyć dynamiczne interfejsy poprzez łączenie w moduły komponentów UI z aktywnościami. Moduły takie tworzy się za pomocą klasy Fragment, która zachowuje się jak zagnieżdżone aktywności
Obsługa SMS i telefonii
Strona 1 Interfejsy API telefonii Wysyłanie wiadomości SMS Odbieranie wiadomości SMS Symulowanie nadchodzących wiadomości SMS Obsługa skrzynki wiadomości SMS Wysyłanie wiadomości e-mail Monitorowanie połączeń
Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout
Ć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
AndroidManifest.xml. Plik manifestu opisuje podstawowe charakterystyki aplikacji i definiuje jej komponenty.
AndroidManifest.xml Plik manifestu opisuje podstawowe charakterystyki aplikacji i definiuje jej komponenty. Jednym z najważniejszych elementów jest element który deklaruje kompatybilność z innymi
[Android] Podstawy programowania
Page 1 of 7 [Android] Podstawy programowania LinkiPrzewodnik z przykładamizasosbykrótka prezentacja wprowadzająca do budowy systemuprosta aplikacja z menu i dialogami, którą utworzymy tutaj krok po kroku
Laboratorium Systemów Mobilnych. Wykład 1
Laboratorium Systemów Mobilnych 2015-02-27 Wykład 1 (Wstęp do programowania w systemie Android) Wojciech Wawrzyniak Zaliczenie wykładu i ćwiczeń Wykład omówienie zagadnień Ćwiczenie praktyczne zastosowanie
Laboratorium Systemów Mobilnych. Wykład 2
Laboratorium Systemów Mobilnych 2015-03-06 Wykład 2 (Aktywności proste zapamiętywanie danych) Wojciech Wawrzyniak Przypomnienie (elementy aplikacji) Składniki aplikacji Aktywności (Activity) Widoki (Views)
Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody
Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody Wprowadzenie Android 1.0 (API level 1) - 2008 Android 1.5 Cupcake (API level 3) - 2009 Android 2.0
Podstawowe elementy GUI - zadania
Podstawowe elementy GUI - zadania LIVE DEMO Proszę stworzyć prostą aplikację do obliczania pól figur geometrycznych. To add images to the drawable forlder, right click on it, and select the Show in Explorer
akademia androida Service, BroadcastReceiver, ContentProvider część IV
akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver
Wyświetlanie danych na listach
Wyświetlanie danych na listach Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of this page are reproduced
Wykorzystanie plików
Wykorzystanie plików Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of this page are reproduced from
Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 8 Wykorzystanie układu RelativeLayout
Ćwiczenie 8 Wykorzystanie układu RelativeLayout Cel ćwiczenia Celem ćwiczenia jest praktyczne zapoznanie się z zasadami użycia układu graficznego RelativeLayout oraz wykształcenie umiejętności zastosowania
SQLite w systemie Android. Własny dostawca treści. Materiał teoretyczny
SQLite w systemie Android. Własny dostawca treści. Materiał teoretyczny 1 Spis treści I. Wprowadzenie... 3 II. Tworzenie bazy danych... 5 III. Tworzenie dostawcy treści... 6 IV. Tworzenie aktywności wykorzystujących
Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody
Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody SharedPreferences Umożliwia przechowywanie małej ilości danych typów podstawowych Dane są przechowywane
Mechanizm zapisu preferencji
Mechanizm zapisu preferencji Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of this page are reproduced
Tworzenie dialogów i wykorzystanie klasy Toast
Tworzenie dialogów i wykorzystanie klasy Toast Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of
Tworzenie wydajnych interfejsów. Autorzy: Piotr Michałkiewicz, 2 rok AiR Daniel Maksymow, 2 rok Informatyki
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
Szybciej (pisać) Łatwiej (czytać) Prościej (utrzymywać) Marcin Wąsowski Amsterdam Standard Sp. z o.o.
Szybciej (pisać) Łatwiej (czytać) Prościej (utrzymywać) Marcin Wąsowski Amsterdam Standard Sp. z o.o. Co dostajemy na starcie? pobieranie elementów widoku, rzutowanie: ( np. findbyid ) każde zdarzenie
Programowanie Urządzeń Mobilnych. Laboratorium nr 9,10
Programowanie Urządzeń Mobilnych Laboratorium nr 9,10 Android Temat 2 działanie złożonych aplikacji zawierających więcej niż jedno Activity Krzysztof Bruniecki 1 Wstęp Podczas laboratorium poruszona zostanie
Android pierwsza aplikacja
Android pierwsza aplikacja I. Środowisko 1. Uruchomić środowisko Android Devloppers tools 2. Wybrać/Utworzyć Wokspace Mobile-cw2 II Projekt 1. Utworzyć nowy projekt klikając na w pasku narzędzi 2. Rozwinąć
Powiadomienia w systemie Android
Powiadomienia w systemie Android Powiadomienie to krótka wiadomość, która pozwala informować użytkownika o pewnych wydarzeniach pochodzących z aplikacji - będąc poza nią. Wykorzystane w odpowiedni sposób
Systemy operacyjne na platformach mobilnych
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
Wyświetlanie danych na listach
Wyświetlanie danych na listach Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of this page are reproduced
Warsztaty v2 Layout y i widget y. Tomasz Wachowski Kamil Snopek Jan Romaniak
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
Systemy operacyjne na platformach mobilnych
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
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
akademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
JAVA : TELEFONY KOMÓRKOWE I ANDROID 1. WSTĘP
JAVA : TELEFONY KOMÓRKOWE I ANDROID 1. WSTĘP Krótko mówiąc, ta książka dotyczy programowania telefonów komórkowych i chociaż w zasadzie nie różni się tak bardzo od pisania programów na zwykłym komputerze,
Mechanizm powiadomień
Mechanizm powiadomień Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of this page are reproduced
Mariusz Fraś. Instytut Informatyki. olitechnika Wrocławska. Systemy Wbudowane. Android. Dr inż. Mariusz Fraś. maf 1
Systemy Wbudowane Dr inż. Android maf 1 Open Handset Alliance Android - podstawy Konsorcjum (sojusz) 78 firm mający na celu rozwój otwartych standardów dla urządzeń mobilnych Google, High Tech Computer
Programowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Wykorzystanie fragmentów i tabhost
Wykorzystanie fragmentów i tabhost Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of this page are
Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.
Aktywności to podstawowe elementy związane z platformą Android. Dzięki poznaniu aktywności będziesz w stanie napisać pierwszą aplikację przeznaczoną na urządzenie mobilne. Po dodaniu kontrolek możesz w
Mobilne aplikacje multimedialne
Mobilne aplikacje multimedialne Laboratorium 1 Wyznaczanie orientacji urządzenia względem lokalnego układu odniesienia autor: Krzysztof Bruniecki Gdańsk, 2013-10-08 wersja 12 Wprowadzenie Platforma Android
Klasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Programowanie urządzeń mobilnych w systemie Android
Materiały dydaktyczne w ramach projektu Programowanie urządzeń mobilnych w systemie Android Zagadnienia podstawowe dr inż. Robert Arsoba Robert.Arsoba@ie.tu.koszalin.pl Koszalin 2011 Wersja 1.0 Tematyka
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:
1. Listener dla przycisku. 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: W linii 24 tworzymy globalną metodę mglobal_onclicklistener,
akademia androida Intencje oraz URI część III
akademia androida Intencje oraz URI część III agenda 1. Czym są intencje i po co się ich używa? 2. Czym jest URI? 3. Zadanie 1. 4. Zadanie 2 (domowe). 1. Czym są intencje i po co się ich używa? Intencje
Wykorzystanie map i geolokalizacji
Strona 1 Usługi oparte na położeniu geograficznym Generowanie klucza interfejsu API dla mapy Wyświetlanie mapy Dodawanie własnych danych do mapy Położenie geograficzne Klasa Geocoder i geokodowanie Geokodowanie
Android, wprowadzenie do SDK
Android, wprowadzenie do SDK Wprowadzenie, konfguracja środowiska, narzędzia, pierwsze aplikacje. prowadzący: Piotr Szymański, student 3 roku informatyki Paweł Rejkowicz, student 1 roku Informatyki 1 Android
Życie aktywności Nawigując przez aplikacje poszczególne Aktywności przechodzą pomiędzy stanami. Dla przykładu gdy aktywność uruchamia się po raz
Życie aktywności Nawigując przez aplikacje poszczególne Aktywności przechodzą pomiędzy stanami. Dla przykładu gdy aktywność uruchamia się po raz pierwszy najpierw znajduje się w tle systemu gdzie otrzymuje
Systemy operacyjne na platformach mobilnych
Systemy operacyjne na platformach mobilnych Wykład 2 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Interfejs użytkownika Activity Views Resources
Systemy operacyjne na platformach mobilnych
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
UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
PHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Szkolenie Android dla początkujących
Szkolenie Android dla początkujących Adresaci szkolenia: Dzięki temu kursowi poznasz podstawy niezbędne każdemu programiście do tworzenia aplikacji mobilnych w systemie Android. Obecnie jest to najpopularniejszy
Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.
Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o. 29.06.2015 2 Spis treści 1. Wymagania...4 2. Uprawnienia systemowe...4 3. Uprawnienie
Dokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2
Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Tworzenie i wykorzystanie usług
Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi
Wykład 7: Pakiety i Interfejsy
Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,
RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie
RESTful Android Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie Jacek Laskowski jacek@japila.pl http://www.jaceklaskowski.pl wersja 1.0, 08.12.2011 O prelegencie - Jacek Laskowski
Podstawowe elementy GUI - zadania
Podstawowe elementy GUI - zadania LIVE DEMO Proszę zainstalować (rozpakować) Eclipse ADT z https://developer.android.com/sdk/index.html Proszę pobrać przez SDK Manager wszystko dotyczące Androida 4.4.2.
Programowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Przykłady zastosowań oraz optymalizacja działania komponentu ListView w aplikacjach dla urządzeń mobilnych z systemem Android
Przykłady zastosowań oraz optymalizacja działania komponentu ListView w aplikacjach dla urządzeń mobilnych z systemem Android Kacper Markowski 1 1 Wydział Inżynierii Mechanicznej i Informatyki Politechnika
Programowanie obiektowe
Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w
Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz
Dynamiczne i wydajne tworzenie interfejsu użytkownika Piotr Michałkiewicz Główne punkty prezentacji View i ViewGroup w kodzie OnClick() i Tag Space widget i GridLayout Dynamiczne dodawanie widgetów Animations
Java: interfejsy i klasy wewnętrzne
Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania
akademia androida Http i AsyncTask część VII
akademia androida Http i AsyncTask część VII agenda 1. 2. 3. 4. URLConnection i HttpURLConnection UI Thread i ANR AsyncTask Zadanie 1. URLConnection i HttpURLConnection Jest to klasa, dzięki której możemy
Warsztaty Android, studenckie koło naukowe ISA 2
Warsztaty Android, studenckie koło naukowe ISA 2 Artur Zochniak, Jan Kołaciński, Paweł Szczerbicki, Piotr Maćkowiak, Arkadiusz Szydełko, Łukasz Pijet pod merytoryczną opieką Pawła Kapały (Tieto), 2 czerwca
Polimorfizm. dr Jarosław Skaruz
Polimorfizm dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? finalne składowe klasy abstrakcyjne interfejsy polimorfizm Finalne składowe Domyślnie wszystkie pola i metody
dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład
dr Artur Bartoszewski 1 Intencje Intencje (obok Aktywności) są jednym z podstawowych komponentów z których zbudowane są aplikacje systemu Android. Są one odpowiedzialne przede wszystkim za obsługę rozkazów
Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Metody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Systemy Rozproszone. Spis treści. Temat projektu: Regułowy system analizujacy logi. autorzy: Rafał Sadłowski, Sebastian Falkus, Michał Różycki
Systemy Rozproszone Temat projektu: Regułowy system analizujacy logi Spis treści autorzy: Rafał Sadłowski, Sebastian Falkus, Michał Różycki Cel Projektu...2 Dane aplikacji...2 Technologia...2 Zarządzanie
Metody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Współbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Wzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
UML a kod. C++, Java i C#
UML a kod C++, Java i C# UML a kod w C++ i Javie Projektowanie oprogramowania! Dokumentowanie oprogramowania Diagramy przypadków użycia Klasy użytkowników i wykorzystywane funkcje Mogą sugerować podział
Klasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Decorator (dekorator)
1/10 Decorator (dekorator) Cel: Dołącza dynamicznie nową funkcjonalność do obiektu elastyczna alternatywa dziedziczenia. Przykład: interface iplik { void zapisz(string tekst); String odczytaj(); class
Aplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Metody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Obiekt interfejsu Session Jest to podstawowy interfejs komunikacji pomiędzy aplikacją, a API Hibernate
grafika 2D i animacja obsługa rotacji i elementy 3D-OpenGL w Androidzie
grafika 2D i animacja obsługa rotacji i elementy 3D-OpenGL w Androidzie Krzysztof Czech, 2 rok IZ Grzegorz Duszyński, 2 rok IZ Daniel Engel, 2 rok IZ Łukasz Olech, 2 rok IZ Radek Wilczak, 2 rok EKA Nadpisywanie
Android poradnik programisty
Android poradnik programisty 93 PRZEPISY TWORZENIA DOBRYCH APLIKACJI Wei-Meng Lee APN Promise SA Spis treści Wprowadzenie.......................................................... xi 1 Podstawy systemu
Original edition copyright 2011 by Satya Komatineni, Dave MacLean, and Sayed Y. Hashimi All rights reserved
Tytuł oryginału: Pro Android 3 Tłumaczenie: Krzysztof Sawka ISBN: 978-83-246-3586-3 Polish edition copyright Helion 2012 All rights reserved Original edition copyright 2011 by Satya Komatineni, Dave MacLean,
Programowanie obiektowe i zdarzeniowe
Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie
Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015
Android Podstawy tworzenia aplikacji Piotr Fulma«ski Instytut Nauk Ekonomicznych i Informatyki, Pa«stwowa Wy»sza Szkoªa Zawodowa w Pªocku, Polska March 4, 2015 Table of contents Framework Jednym z najwarto±ciowszych
Zaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
WSTĘP DO ANDROIDA. Laboratorium
WSTĘP DO ANDROIDA Laboratorium I Uruchomić Android Studio I I Uruchomić Android Studio Stworzyć projekt typu Empty Activity I Uruchomić Android Studio Stworzyć projekt typu Empty Activity Zapoznać się
Przechowywanie danych
Przechowywanie danych Aplikacja na Androidzie może zapisywać i odczytywać pliki Pliki mogą być prywatne dla aplikacji lub dostępne publicznie Można je zapisywać na urządzeniu lub na karcie pamięci Bazy
protected void onsaveinstancestate(bundle outstate); protected void onrestoreinstancestate(bundle savedinstancestate);
Android WYKŁAD 3 Agenda Odtwarzanie stanu Activity Walidacja danych z widoków Przycisk "wstecz" Material Design Fragmenty Implementacja GUI opartego o zakładki Stylowanie aplikacji Implementacja listy
Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski
Adapter: opis Wzorce Strukturalne Tomasz Borzyszkowski Alternatywna nazwa: Wrapper (opakowanie) Rola obiektu Adapter: pełni wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół
Builder (budowniczy) Cel: Przykład:
1/8 Builder (budowniczy) Cel: Oddzielenie konstruowania złożonego obiektu od jego reprezentacji, tak aby ten sam proces konstrukcji mógł tworzyć różne reprezentacje. Przykład: 2/8 abstract class TableBuilder
Enkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University.
Wykorzystanie usług Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of this page are reproduced from
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Programowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Metody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Metody dostępu do danych JDBC - Java Database Connectivity JDO - Java Data Object ORM - Object-Relational