Obsah. Menu. ListView ListActivity Adapter. Ikonkové Rozšířené Submenu Kontextové. BaseAdapter ArrayAdapter CursorAdapter SimpleCursorAdapter 11/29/11
|
|
- Dalibor Novák
- před 6 lety
- Počet zobrazení:
Transkript
1
2 Obsah Menu Ikonkové Rozšířené Submenu Kontextové ListView ListActivity Adapter BaseAdapter ArrayAdapter CursorAdapter SimpleCursorAdapter 2
3 3 Menu Možnost jak rychle přistupovat k funkcím aplikace bez obětování cenného prostoru na obrazovce Aktivita může mít vlastní menu, které se objeví po stisknutí tlačítka menu Android také podporuje kontextové menu, což je v podstatě náhrada stisku pravého tlačítka na PC Kontextové menu jsou běžně zobrazena po dlouhém podržení trackpadu(, trackballu, všesměrného tlačítka ) nebo prstu na vybraném View Menu podporují submenu, checkboxy, radio tlačítka klávesové zkratky a ikonky
4 Ikonkové menu Objeví se na spodní straně obrazovky po stisknutí tlačítka menu Pro omezený počet položek (většinou 6) zobrazí ikonku a text (zbytek se schová do více) Nezobrazuje checkboxy, radio buttony ani klávesové zkratky Měl by se dodržovat styl ikonek popsaný na com 4
5 Rozšířené menu Vysune se po stisku tlačítka více v ikonkovém menu Zobrazí scrollovatelný seznam těch položek, které se nevešly do ikonkového menu Zobrazují se checkboxy, radio buttony, plná délka popisku Nezobrazují se však ikonky Nelze vynutit zobrazení rozšířeného menu! S checkboxama a radio buttonama se tudíž musí zacházet opatrně Maximální počet položek v ikonkovém menu se liší zařízení od zařízení 5
6 Submenu Zobrazí se po kliknutí na položku obsahující v sobě další menu Jméno položky se objeví v titulku dialogu Nelze vložit submenu do submenu Stejné chování jako u rozšířeného menu (checkboxy, radio buttony, žádné ikonky ) 6
7 7 Menu Po stisku HW tlačítka menu se v aktivitě zavolá metoda oncreateoptionsmenu, která je třeba přepsat Jako parametr obdržíme Menu, do kterého přidáme položky Můžeme použít MenuInflater a naplnit menu položkami z XML(res/menu/main_menu.xml) a/nebo je přidat ručně 2. public boolean oncreateoptionsmenu(menu menu) { //naplneni menu z res/menu/main_menu.xml MenuInflater inflater = getmenuinflater(); inflater.inflate(r.menu.main_menu, menu); //rucni pridani polozky int groupid = Menu.NONE;//skupina(pouzivana pro radio buttony) nas nezajima int itemid = 55;//ID polozky, bude nas zajimat v onoptionsitemselected int order = Menu.NONE;//poradi polozky nas nezajima menu.add(groupid, itemid, order, "Polozka").setIcon(R.drawable.icon); //rucni odebrani polozky menu.removeitem(55); return super.oncreateoptionsmenu(menu);
8 8 Menu res/menu/main_menu.xml 1. <?xml version="1.0" encoding="utf-8"?> 2. <menu xmlns:android=" <!-- Normalni polozka s ikonkou --> <item android:id="@+id/item1" android:title="normalni polozka" android:icon="@drawable/icon" /> <!-- Checkbox --> <item android:checkable="true" android:id="@+id/groupitem1" android:title="checkbox" /> <!-- Skupina radio buttonu --> <group android:checkablebehavior="single"> <item android:id="@+id/radio1" android:title="radio button 1" /> <item android:id="@+id/radio1" android:title="radio button 2" /> </group> 18. <!-- Submenu --> 19. <item android:id="@+id/submenu" 20. android:title="submenu"> 21. <menu> 22. <item android:id="@+id/submenuitem11" 23. android:title="polozka submenu" /> </menu> 26. </item> 27.</menu>
9 9 Menu Po vybrání položky z menu se zavolá metoda onoptionsitemselected, která dostane v atributu vybranou položku - MenuItem 2. public boolean onoptionsitemselected(menuitem item) { 3. switch (item.getitemid()) { 4. case R.id.item1: break; 7. case R.id.radio1: break; 10. case R.id.submenuItem11: break; return super.onoptionsitemselected(item); 15.
10 10 Menu Metoda oncreateoptionsmenu se zavolá pouze před prvním vytvořením menu Pokud potřebujeme menu dynamicky měnit, je třeba tak činit v onprepareoptionsmenu, které se zavolá před každým vyjetím menu Při zavírání menu se volá onoptionsmenuclosed
11 11 Kontextové menu Analogie pro kliknutí pravým tlačítkem myši na PC Zobrazeny po dlouhém podržení daného View nebo zavoláním View.createContextMenu(menu) Podobné jako Submenu Dané View se musí zaregistrovat na použití kontextového menu pomocí registerforcontextmenu(view); Pro zobrazení menu je třeba přepsat metodu oncreatecontextmenu(contextmenu, View, ContextMenuInfo) Implementace podobná jako u oncreateoptionsmenu(menu); Atribut View View které uživatel vybral Atribut ContextMenuInfo podrobnosti o kontextovém menu Pro provedení akce po výběru položky z menuje třeba přepsat oncontextitemselected(menuitem); Stejné jako onoptionsitemselected(menuitem);
12 Kontextové menu příklad protected void oncreate(bundle savedinstancestate) {... registerforcontextmenu(view); public void oncreatecontextmenu(contextmenu menu, View v, ContextMenuInfo menuinfo) { MenuInflater inflater = getmenuinflater(); inflater.inflate(r.menu.context_menu, menu); super.oncreatecontextmenu(menu, v, menuinfo); 2. public boolean oncontextitemselected(menuitem item) { 3. switch (item.getitemid()) { 4. case R.id.new_game: 5. newgame(); 6. return true; 7. default: 8. return super.oncontextitemselected(item);
13 ListView Potomek AdapterView View pro zobrazení vertikálního posunovatelného seznamu Položkami ListView mohou být i komplikované View Možnost přidání hlavičky a zápatí addheaderview(view v) public void addfooterview (View v) Pro práci s ním je dobré používat ListActivity (ale není nutností) 13
14 14 ListActivity Activita obsahující právě jeden ListView Není nutné nastavovat layout vzhledu Ale je to i možné, layout poté musí obsahovat jedno ListView s id android:id="@android:id/list Obsahuje ListAdapter Adapter Most mezi AdapterView a zobrazovanými daty Zodpovědný za vytváření View pro každou položku datové kolekce Využívá se při vkládání položek do ListView, Spinner, ViewPager, AutoCompleteTextView aj.
15 15 BaseAdapter Abstraktní třída Základní stavební kámen pro tvorbu vlastních adaptéru ArrayAdapter Generická třída BaseAdapter umožňující vložení pole (array) libovolných prvků Každá položka je pouze TextView, proto je každý vložený prvek interpretován pomocí metody tostring() daného objektu CursorAdapter BaseAdapter umožňující vložení kurzoru (Cursor)
16 16 ListActvity za použití ArrayAdapteru public class MyList extends ListActivity { public void oncreate(bundle icicle) { super.oncreate(icicle); String[] names = new String[] { "Linux", "Windows 7", "Eclipse", "Suse", "Ubuntu", "Solaris", "Android", "iphone"; this.setlistadapter(new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1, protected void onlistitemclick(listview l, View v, int position, long id) { super.onlistitemclick(l, v, position, id); Object o = this.getlistadapter().getitem(position); String keyword = o.tostring(); Toast.makeText(this, "You selected: " + keyword, Toast.LENGTH_LONG).show();
17 17 Výsledek ListActivity s ArrayAdapterem
18 18 ListActivity s vlastním layoutem položky layout/rowlayout.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical"> <ImageView android:id="@+id/icon" android:layout_height="wrap_content" android:src="@drawable/icon" android:layout_width="22dp" android:layout_margintop="4dp" android:layout_marginright="4dp" android:layout_marginleft="4dp"> </ImageView> <TextView android:text="@+id/textview01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/label" android:textsize="30dp"></textview> </LinearLayout> rowlayout.xml nastavíme nově vytvořenému adaptéru: this.setlistadapter(new ArrayAdapter<String>(this, R.layout.rowlayout, R.id.label, names));
19 Výsledek ListActivity s vlastním layoutem položky 19
20 20 Vlastní ArrayAdapter public class MyArrayAdapter extends ArrayAdapter<String> { private final Activity context; private final String[] names; public MyArrayAdapter(Activity context, String[] names) { super(context, R.layout.rowlayout, names); this.context = context; this.names = names; Zabránění přístupu k metodám a parametrům nadtřídy static class ViewHolder { public ImageView imageview; public TextView textview; Drží jednotlivé View vlastního layoutu položky a při použití View.getTag() není nutné často volat časově náročnější operaci findviewbyid(int)
21 21 Vlastní ArrayAdapter - public View getview(int position, View convertview, ViewGroup parent) { ViewHolder holder; Recyklace existujícího View View rowview = convertview; if (rowview == null) { LayoutInflater inflater = context.getlayoutinflater(); rowview = inflater.inflate(r.layout.rowlayout, null, true); holder = new ViewHolder(); holder.textview = (TextView) rowview.findviewbyid(r.id.label); holder.imageview = (ImageView) rowview.findviewbyid(r.id.icon); rowview.settag(holder); else { holder = (ViewHolder) rowview.gettag(); holder.textview.settext(names[position]); String s = names[position]; if (s.startswith("windows 7") s.startswith("iphone") s.startswith("solaris")) { holder.imageview.setimageresource(r.drawable.no); else { holder.imageview.setimageresource(r.drawable.ok); return rowview; getview() vrací jednu položku Adaptéru (seznamu)
22 22 Výsledek vlastního ArrayAdapteru
23 23 Zobrazení různých vlastních layoutů public View getview(int position, View convertview, ViewGroup parent) { View rowview = convertview; if (rowview == null) { if (getitemviewtype(position) == 0) { rowview = inflator.inflate(r.layout.row_even, null); else { rowview = inflator.inflate(r.layout.row_odd, null); ViewHolder viewholder = new ViewHolder(); viewholder.text = (TextView) rowview.findviewbyid(r.id.textview01); viewholder.image = (ImageView) rowview.findviewbyid(r.id.imageview01); rowview.settag(viewholder); ViewHolder holder = (ViewHolder) rowview.gettag(); holder.text.settext(values[position]); return rowview;
24 24 SimpleCursorAdapteru Mapuje sloupce z Cursoru do jednotlivých View Příklad Získání Cursoru kontaktů: private Cursor getcontacts() { Uri uri = ContactsContract.Contacts.CONTENT_URI; String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME ; String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" + ("1") + "'"; String[] selectionargs = null; String sortorder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC"; return managedquery(uri, projection, selection, selectionargs, sortorder);
25 25 Příklad SimpleCursorAdapteru Context public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); Cursor mcursor = getcontacts(); startmanagingcursor(mcursor); ListAdapter adapter = new SimpleCursorAdapter(this, android.r.layout.two_line_list_item, Pole potřebných mcursor, sloupců new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, new int[] { android.r.id.text1, android.r.id.text2 ); setlistadapter(adapter); ID View odpovídajících daným sloupcům v layoutu položky
26 26 Aktualizace položek v Adaptéru notifydatasetchanged() Funguje u ArrayAdapter Nastavený List<T> objects v kontruktoru Adaptéru nesmí být nahrazen jiným List<T> objects Vhodné použít metody clearall() a addall() nad List<T> objects cursor.requery() Lze volat nad Cursorem vloženým do CursorAdapteru
27 27 choicemode v ListView none singlechoice Pouze jedna položka stavu chosen state multiplechoice Více položek stavu chosen state multiplechoicemodal Více položek stavu chosen state podle vlastního výběru Implementací AbsListView.MultiChoiceModeListener Za použití setmultichoicemodelistener(abslistview.multichoic emodelistener)
28 28 Filtrace ListView Adaptéru je možné doimplementovat Filterable V mětodě getfilter() je poté nutné vrátit vlastní Filter Filter musí implementovat metody performfiltering() a publishresults() ArrayAdapter Má již implementovaný vlastní ArrayFilter, který filtruje položky List<T> objects podle metody tostring() objektu T ArrayFilter je dobrou inspirací pro vlastní filtrování
5. LISTVIEW BI-AND. Programování pro operační systém Android (BI-AND) (c) Autor a garant: M. Havryluk, Spolupráce: M. Balík, O. Kroupa, M.
9.3.2013 1 Programování pro operační systém Android (BI-AND) (c) Autor a garant: M. Havryluk, Spolupráce: M. Balík, O. Kroupa, M. Pelant 5. LISTVIEW BI-AND 9.3.2013 2 Obsah ListView ListActivity Adapter
Více4. UŽIVATELSKÉ ROZHRANÍ
4.3.2013 1 Programování pro operační systém Android (BI-AND) (c) Autor a garant: M. Havryluk, Spolupráce: M. Balík, O. Kroupa, M. Pelant 4. UŽIVATELSKÉ ROZHRANÍ BI-AND 4.3.2013 2 Uživatelské rozhraní Layouty
VíceZačínáme s vývojem pro Android
Pavel Petřek CTO Praha, 14. dubna 2010 Kdo je kdo Pavel Petřek Vývojář, přednášející, entusiasta světa chytrých telefonů (a velký jedlík) Spoluzakladatel Inmite Inmite Vývoj pro chytré telefony (Android:
VíceKAPITOLA 7. Widgety nabídek. V této kapitole:
KAPITOLA 7 Widgety nabídek V této kapitole: Přizpůsobení se okolnostem Výčty nabídek Rozbalovací menu Mřížka nabídek O 35 % méně psaní na klávesnici při práci s textovými poli Galerie 74 Kapitola 7: Widgety
VíceUživatelské rozhraní. Layouty FrameLayout LinearLayout RelativeLayout TableLayout ScrollView Taby Dialogy ViewFlipper 11/29/11
Uživatelské rozhraní Layouty FrameLayout LinearLayout RelativeLayout TableLayout ScrollView Taby Dialogy ViewFlipper 2 FrameLayout Nejjednodušší a nejzákladnější layout Prvky Nelze nijak pozicovat Všechny
Více(c) Miroslav Balík, Ondřej Kroupa, Martin Pelant 11/29/ přednáška. Android projekt. Manifest. Activity. Uživatelské rozhraní (základy)
2. přednáška Android projekt Manifest Activity Uživatelské rozhraní (základy) 2 Android Projekt - src Zdrojový kód v Javě Unikátní jméno balíčku Konvence: [země].[autor].[jméno aplikace] např.: cz.cvut.helloworld
VíceObsah. LayoutInflater. UI model KeyEvent View Tvorba vlastních komponent Canvas Matrix Vlastní EditText
Obsah UI model KeyEvent View Tvorba vlastních komponent Canvas Matrix Vlastní EditText LayoutInflater Dotykové události MotionEvent Dynamické přidání View 2 UI model Androida View Základní stavební kámen
VíceKMI / TMA Tvorba mobilních aplikací. 9. seminář ZS 2016/2017 Středa 13:15-15:45
KMI / TMA Tvorba mobilních aplikací 9. seminář 22.11.2016 ZS 2016/2017 Středa 13:15-15:45 OBSAH SEMINáře Fragmenty a to, co se nevlezlo jinam Větší Displeje je třeba něco dělat? většina aplikací, které
Více1. Téma 12 - Textové soubory a výjimky
1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se
Více20. Projekt Domácí mediotéka
Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý
VícePříklad zobrazení toastu s vlastním designem
Notifikace, alarmy KAPITOLA 6 V této kapitole: Notifikace Alarmy Notifikace Notifikace jsou zprávy, někdy i rozsáhlejší, které potřebuje aplikace ve vhodné situaci zobrazit uživateli mimo běžné uživatelské
VíceObsah. Životní cyklus activity Context Intent Spouštění aktivit Interakce s uživatelem. Toast. (c) Miroslav Balík, Ondřej Kroupa, Martin Pelant
Obsah Životní cyklus activity Context Intent Spouštění aktivit Interakce s uživatelem Toast 2 4 oncreate(bundle savedinstancestate) { } Zavolá se při každém vytvoření activity (i při otočení displeje)
VíceKMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45
KMI / TMA Tvorba mobilních aplikací 6. seminář 2.11.2016 ZS 2016/2017 Středa 13:15-15:45 OBSAH SEMINáře Ukládání dat Ukládání dat Jaké jsou možnosti? SharedPreferences jednoduchá data databáze SQLite relační
Více14.4.1. Typický prvek kolekce pro české řazení
14.4. Co všechno by měl mít typický prvek kolekce 177 Poznámka: Třídy BigInteger, BigDecimal a Date budou vysvětleny v částech [15./183, [16./185 a [18.1./204. 14.4.1. Typický prvek kolekce pro české řazení
VíceVYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika
VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika Aplikace pro OS Android bakalářská práce Autor: Petr Vybíral Vedoucí práce: Ing. Marek Musil Jihlava
VíceVýčtový typ strana 67
Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce
VícePrvní kapitola úvod do problematiky
První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru
Více2017 CARAT "New design"
2017 CARAT "New design" Stručný průvodce verzí CARAT New Design Tato příručka poskytuje informace o základech programu CARAT New Design. Další podrobné informace jsou k dispozici na úvodní stránce online
VíceJava a XML. 10/26/09 1/7 Java a XML
Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis
VíceJAVA Android Java, letní semestr
JAVA Android Přehled kompletní platforma pro mobilní zařízení založená na Linuxu původně vyvíjen firmou Android, Inc. 2005 koupeno Googlem 2007 Open Handset Alliance Google, výrobci HW, výrobci SW,...
VíceChain of responsibility
Chain of responsibility Chain of responsibility n Známý jako n Účel q český překlad řetěz(ec) odpovědnosti q umožnit zasílání požadavků (zpráv) neznámým příjemcům q příjemci tvoří frontu è předávají si
VíceDatové struktury. alg12 1
Datové struktury Jedna z klasických knih o programování (autor prof. Wirth) má název Algorithms + Data structures = Programs Datová struktura je množina dat (prvků, složek, datových objektů), pro kterou
VíceTeoretické minimum z PJV
Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov
VíceOMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC
OMO 4 - Creational design patterns A Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC Ing. David Kadleček, PhD. kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Creational
VíceZákladní pojmy. Matice(řádky, sloupce) Matice(4,6) sloupce
Vektor a Matice Základní pojmy Matice(řádky, sloupce) Matice(4,6) sloupce řádky (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (4,1) (4,2) (4,3)
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
VíceProgramátorská příručka
KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA Kapitola 1 Programátorská příručka 1.1 Úvod 1.1.1 Technologie Program je psaný v jazyce Java 1.7. GUI je vytvářeno pomocí knihovny SWT. (http://eclipse.org/swt/) Pro
Vícepublic static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());
Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového
VíceKlient Stagu pro Android
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE Klient Stagu pro Android 2012 Radim Pešek Anotace V práci popisuji problematiku vývoje aplikací pro operační systém Android,
VíceGUI. Systémová integrace pro desktopové aplikace
GUI Systémová integrace pro desktopové aplikace 1 java.awt.desktop systémová integrace desktopových aplikací static boolean isdesktopsupported() test zda je integrace k dispozici static Desktop getdesktop()
Více15. Projekt Kalkulačka
Projekt Kalkulačka strana 143 15. Projekt Kalkulačka 15.1. Základní popis, zadání úkolu Pracujeme na projektu Kalkulačka, který je ke stažení na java.vse.cz. Po otevření v BlueJ vytvoříme instanci třídy
VíceKMI / TMA Tvorba mobilních aplikací. 3. seminář ZS 2016/2017 Středa 13:15-15:45
KMI / TMA Tvorba mobilních aplikací 3. seminář 12.10.2016 ZS 2016/2017 Středa 13:15-15:45 OBSAH SEMINáře vztah aktivit a layoutů, views a layouty podrobně, přizpůsobení se HW HIERARCHIE VIEWS Co všechno
Vícetypová konverze typová inference
Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie
VíceTematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných
Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro
VíceAbstraktní datové typy
Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní datové typy BI-PA2, 2011, Přednáška 10 1/27 Abstraktní datové typy Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky,
VíceStatické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
VícePrincipy objektově orientovaného programování
Principy objektově orientovaného programování Třídy a objekty doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz C E T
VíceIRAE 07/08 Přednáška č. 7. Začátek (head)
Fronta (Queue) FIFO First In First Out (první dovnitř první ven) Vložení položky (Enqueue) Vyjmutí položky (Dequeue) Přidávání prvků Konec (Tail) Začátek (head) na jedné straně (konec) Odebírání prvků
VíceUJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
VíceDefinice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
VíceANDROID. Ing. Ladislav Pešička
ANDROID Ing. Ladislav Pešička HISTORIE 2005 Google kupuje Android, Inc. 2007 ohlášena Open Handset Alliance Android je open sourced 2008 Android SDK 1.0 vydáno telefon G1 od HTC 2009 nové verze 1.5, 1.6,
VíceDynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
VíceZŠ ÚnO, Bratří Čapků 1332
MS Excel 2002 Grada - po spuštění je třeba kliknout do středu obrazovky - v dalším dialogovém okně (Přihlášení) vybrat uživatele, zřídit Nového uživatele nebo zvolit variantu Bez přihlášení (pro anonymní
VíceBridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
VíceAbstraktní datové typy: zásobník
Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní
VíceSeznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí
Kolekce obecně Seznamy a iterátory doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Kolekce ::= homogenní sada prvků
Více5 Rekurze a zásobník. Rekurzivní volání metody
5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení
VíceGEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 9
UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 9 Praktické zvládnutí software Geomedia Pavel Vařacha a kol. Zlín 2013 Tento studijní materiál vznikl
Více3. ŽIVOTNÍ CYKLUS ACTIVITY
23.2.2013 1 Programování pro operační systém Android (BI-AND) (c) Autor a garant: M. Havryluk, Spolupráce: M. Balík, O. Kroupa, M. Pelant 3. ŽIVOTNÍ CYKLUS ACTIVITY BI-AND 23.2.2013 2 Obsah Životní cyklus
VíceDefinice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
VíceProgramování v Javě I. Leden 2008
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceObsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VíceSemestrální práce 2 znakový strom
Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového
VíceSOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ
SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ Vstupy a výstupy pokračování Kódování textů Texty (řetězce nebo znaky) v jazyce C# jsou v paměti uloženy v kódování označovaném běžně Unicode (kódová stránka 1200).
VíceAlgoritmizace a programování
Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém
VíceMS Excel 2010. Lekce 1. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU
MS Excel 2010 Lekce 1 Operační program Vzdělávání pro konkurenceschopnost Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU Registrační číslo: CZ.1.07/2.2.00/15.0224, Oblast podpory: 7.2.2
VíceStromy. Příklady. Rekurzivní datové struktury. Základní pojmy
Základní pojmy Stromy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Graf uzly hrany orientované / neorientované Souvislý
VíceÚvod do filtrace, Quick filtr
Příručka uživatele systému Památkový katalog Úvod do filtrace, Quick filtr verze 1.x.x Autorská práva Copyright 2015 MUSOFT.CZ, s.r.o.. Všechna práva vyhrazena. Tato příručka je chráněna autorskými právy
VíceÚvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39
Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy
VíceProgramování v Javě I. Únor 2009
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory
VícePoužívání sdíleného kalendáře v projektu Bioanalytické centrum
Používání sdíleného kalendáře v projektu Bioanalytické centrum Google Kalendář Google Kalendář je dostupný z hlavní stránky www.google.cz, kde je odkaz Kalendář buď přímo v horní liště: Horní lišta www.google.cz
VíceObsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5
CRM SYSTÉM KORMORÁN UŽIVATELSKÁ PŘÍRUČKA Obsah 1 Základní práce se systémem 3 1.1 Práce se záznamy................................. 3 1.2 Stránka Dnes.................................... 4 1.3 Kalendář......................................
VíceUživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý
Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části
VíceKonvertor diakritiky 3. Instalace
OBSAH Popis... 2 Ovládání aplikace... 3 Odstranění diakritických znamének... 4 Operace s textem... 4 Nastavení aplikace... 4 Písmo... 4 Jazyk... 4 Přidání dalšího jazyka do aplikace... 5 Znaky... 5 Instalace
VíceAgentura ochrany přírody a krajiny ČR Odbor vývoje a správy aplikací
Agentura ochrany přírody a krajiny ČR Odbor vývoje a správy aplikací Manuál k editační části aplikace Stavby v CHKO autor: Ladislav Matouš datum: 14.3.2014 verze dokumentu: 0.7 1 1 Obsah 1.1 Prohlížení
VíceFronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4
Fronta (Queue) Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Fronta uplatňuje mechanismus přístupu FIFO first
VíceStudijní skupiny. 1. Spuštění modulu Studijní skupiny
Studijní skupiny 1. Spuštění modulu Studijní skupiny 2. Popis prostředí a ovládacích prvků modulu Studijní skupiny 2.1. Rozbalovací seznamy 2.2. Rychlé filtry 2.3. Správa studijních skupin 2.3.1. Seznam
VíceTŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);
TŘÍDY POKRAČOVÁNÍ Události pokračování public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); class Bod private int x; private int y; public event ZmenaSouradnicEventHandler ZmenaSouradnic;
VíceTIA Selection Tool manuál pro použití
TIA Selection Tool manuál pro použití Verze 1 duben 2012 Obsah: Postup rychlé konfigurace a exportu stanice Detailní popis aplikace Siemens s. r. Protection o. 2012. Všechna notice / práva Copyright vyhrazena.
VíceZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ Katedra aplikované elektroniky a telekomunikací BAKALÁŘSKÁ PRÁCE Systém pro navigaci v rozsáhlých budovách a areálech na platformě android Lukáš
Více(c) Miroslav Balík, Ondřej Kroupa, Martin Pelant 11/29/ přednáška. Práce na pozadí. Služby. Notifikace
9. přednáška Práce na pozadí Služby Notifikace 2 3 Práce na pozadí Jeden z hlavních rozdílů oproti iphonu je možnost provádět téměř libovolné úkony na pozadí Vlákna Používají se ke spouštění kódu na pozadí,
VícePříručka uživatele HELPDESK GEOVAP
HELPDESK GEOVAP verze 1.2 11.11.2008 OBSAH 1 REGISTRACE DO HELPDESK...1 2 PŘIHLÁŠENÍ A ODHLÁŠENÍ...1 3 ZÁKLADNÍ OBRAZOVKA HELPDESK...2 4 PŘEHLED HLÁŠENÍ...2 5 ZALOŽENÍ NOVÉHO HLÁŠENÍ...3 6 ZOBRAZENÍ/EDITACE
VíceJednoduchá evidenční pokladna s EET
Jednoduchá evidenční pokladna s EET Evidence skladových zásob Základy evidence skladových zásob prostřednictvím JEP verze 1.2.6, zpracováno v květnu 2018 www.eetprozivnostniky.cz Obsah Obecné zásady evidence
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceObsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS
Obsah Napojení...3 programu COSMED Omnia Nastavení...3 MEDICUS Přidání...3 externího programu COSMED Omnia Přidání...4 ikony do panelu nástrojů Nastavení...5 COSMED Omnia Postup...5 při vyšetření pacienta
VíceKonstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
VíceNávod k ovládání aplikace
Návod k ovládání aplikace Tento návod se zabývá ovládáním aplikace PDF Annotation 1, která je založena na aplikaci AVP PDF Viewer a umožňuje nejen PDF dokumenty prohlížet, ale také do těchto dokumentů
VícePALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze. 3.00.01.09 Kontakty 08/2010. 1 Obsah
1 Obsah 1 Obsah... 1 2 Úvod a spouštění SW Palstat CAQ... 2 2.1.1 Návaznost na další SW moduly Palstat CAQ... 2 2.2 Přihlášení do programu... 2 2.2.1 Stanovení přístupu a práv uživatele... 2 2.2.2 Spuštění
VíceNový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.
Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,
VícePokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat.
Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat. 1. Odkrokujte následující program a s použitím notace z přednášky popište stav paměti
Více11/29/11. (c) Miroslav Balík, Ondřej Kroupa, Martin Pelant. 11. Přednáška. Broadcast receiver Timer Alarmy Widgety
11. Přednáška Broadcast receiver Timer Alarmy Widgety 2 3 Broadcasty a Broadcast Receivery Doposud jsme Intenty používali ke spouštění nové Aplikace nebo Aktivity Intenty však mohou sloužit také jako posílání
VíceProhlížení a editace externích předmětů
Prohlížení a editace externích předmětů 1. Spuštění modulu Externí předměty 2. Popis prostředí a ovládacích prvků 2.1. Rozbalovací seznamy 2.3. Seznamy 2.3.1. Definice předmětů 2.3.2. Vypsané předměty
VíceTřídy, polymorfismus. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Třídy, polymorfismus A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Polymorfizmus ~ vícetvarost Polymorfizmus základní vlastnost objektového přístupu základní princip polymorfismu:
VícePlatforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15
Platforma Java Objektově relační mapování II Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, 2016 1 / 15 Dotazování vyhledání objektu podle
VíceIterator & for cyklus
Iterator & for cyklus for (Object o : foo) funguje pokud je foo pole nebo je foo iterovatelné jako to zařídit? implementovat interface java.lang.iterable Iterable má jednu metodu java.util.iterator iterator()
VíceNetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme
VíceJazyk C# (seminář 3)
Jazyk C# (seminář 3) Pavel Procházka KMI October 8, 2014 Motivace Největší využití v programování okenních aplikací a GUI knihoven. Data reprezentujeme pomocí objektů (tříd), máme tedy ucelený pohled na
VíceBisnode Mobilní aplikace k prověření firmy
Bisnode Mobilní aplikace k prověření firmy Eldar Iosip, Eliška Roubalová, Tomáš Milata Analýza relevantních UI směrnic platformy Android Obecná struktura aplikace z nejvyšší úrovně se lze přes obrazovky
VíceAbstraktní třída a rozhraní
Abstraktní třída a rozhraní Někdy se může stát, zejména při psaní v hierarchické struktuře hodně nadřazených tříd, že tušíme, že bude ve zděděných třídách vhodné použít nějakou metodu. Tuto metodu ještě
VíceZákladní popis a ovládání aplikace
Příručka uživatele systému Museion Základní popis a ovládání aplikace Autorská práva Copyright 2012-2015 MUSOFT.CZ, s.r.o.. Všechna práva vyhrazena. Tato příručka je chráněna autorskými právy a distribuována
VíceMS SQL Server 2008 Management Studio Tutoriál
MS SQL Server 2008 Management Studio Tutoriál Vytvoření databáze Při otevření management studia a připojením se ke konkrétnímu sql serveru mám v levé části panel s názvem Object Explorer. V tomto panelu
VíceJAVA. Real-Time Java
JAVA Real-Time Java Real-time systém česky někdy jako systém reálného času ne-real-time systém systém funguje správně pokud dává správné výsledky real-time systém systém funguje správně pokud dává správné
VícePREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
VícePracovní list č. 14 Microsoft Word 2010 jazykové nástroje, reference I Jazykové nástroje
Pracovní list č. 14 Microsoft Word 2010 jazykové nástroje, reference I Jazykové nástroje Jazykové nástroje se nachází na pásu karet Revize. Obrázek 1 - Pás karet Revize Nastavení jazyka Nastavení jazyka,
Více1 Tabulky Příklad 3 Access 2010
TÉMA: Vytvoření tabulky v návrhovém zobrazení Pro společnost Naše zahrada je třeba vytvořit databázi pro evidenci objednávek o konkrétní struktuře tabulek. Do databáze je potřeba ještě přidat tabulku Platby,
VíceGenerické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
VíceManuál k e-learningovému vzdělávacímu modulu 1 MODUL HIGH-TECH POTRAVINY. Popularizace zdraví Po.Zdrav (CZ.1.07/3.1.00/37.0104)
2013 Manuál k e-learningovému vzdělávacímu modulu 1 MODUL HIGH-TECH POTRAVINY Popularizace zdraví Po.Zdrav (CZ.1.07/3.1.00/37.0104) Obsah OBSAH... 1 ÚVOD... 2 PŘÍRUČKA PRO ADMINISTRÁTORA... 3 1. VYTVOŘENÍ
VíceZdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.
Zdokonalování gramotnosti v oblasti ICT Kurz MS Excel kurz 6 1 Obsah Kontingenční tabulky... 3 Zdroj dat... 3 Příprava dat... 3 Vytvoření kontingenční tabulky... 3 Možnosti v poli Hodnoty... 7 Aktualizace
Více