Przykłady zastosowań oraz optymalizacja działania komponentu ListView w aplikacjach dla urządzeń mobilnych z systemem Android
|
|
- Bernard Jóźwiak
- 7 lat temu
- Przeglądów:
Transkrypt
1 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 Częstochowska Kierunek Informatyka, Rok III kacper.markowski@student.pcz.pl Streszczenie System operacyjny Android jest obecnie jednym z najbardziej dynamicznie rozwijających się systemów operacyjnych przeznaczonych dla urządzeń mobilnych. Szacuje się, że liczba urządzeń mobilnych pracujących pod nadzorem systemu operacyjnego Android oscyluje w okolicach jednego miliarda, a użytkownicy mogą wybierać spośród ponad aplikacji dostępnych w sklepie. W znacznej ilości z tych aplikacji, możemy spotkać jeden z najbardziej rozbudowanych komponentów dołączonych do SDK Androida - ListView. Komponent ten jest ceniony ze względu na swoją uniwersalność, rozbudowaną funkcjonalność oraz prostotę użycia. Niestety tak duża funkcjonalność niesie ze sobą ryzyko, iż w przypadku niewłaściwego użycia tego komponentu aplikacja radykalnie straci na płynności interfejsu oraz znacznie zwiększy się zużycie pamięci urządzenia. Dlatego tak ważne jest poznanie zasady jego funkcjonowania oraz sposobów optymalizacji działania. 1 Wstęp Android jest obecnie najpopularniejszym na świecie systemem operacyjnym dla urządzeń mobilnych. Szacuje się, że pod koniec 2013 roku Android posiadał 81% udziału na rynku mobilnych systemów operacyjnych [1]. Popularność ta sprawia, że coraz więcej programistów zaczyna tworzyć oprogramowanie na urządzenia działające pod kontrolą tego właśnie systemu. Aby ułatwić pracę nowym programistom, Google udostępnia za darmo zbiór narzędzi oraz bibliotek niezbędnych do stworzenia oraz przetestowania aplikacji - Android SKD. Wraz z tym zestawem developerzy otrzymują kilkadziesiąt podstawowych komponentów, dzięki którym można zbudować swoją pierwszą aplikacje. Jednym z najpopularniejszych, a zarazem najbardziej złożonych, jest komponent ListView. Artykuł przedstawia zasadę działania, sposoby optymalizacji oraz przygotowane przez autora przykładowe aplikacje prezentujące funkcjonalność tego komponentu. 1
2 2 Zasada działania Jak sama nazwa wskazuje, ListView używany jest do wyświetlania pewnego zbioru danych w postaci listy. Sposób wyświetlania tych danych, może być dowolnie modyfikowany przez programistę. Na rysunku 1 przedstawiono trzy przykłady użycia ListView do wyświetlenia listy kontaktów. Wszystkie bazują na tym samym zbiorze danych, jednak różnią się sposobem jego prezentacji. Rys. 1: Różne sposoby wyświetlania tego samego zbioru danych za pomocą komponentu ListView Widać więc, że sposób wyświetlania danych może być różny, w zależności od potrzeb. Skąd więc ListView ma wiedzieć w jaki sposób wyświetlić dane? Jak to opisać? Z pomocą przychodzi tutaj klasa BaseAdapter. Jest to klasa znajdująca się standardowo w zestawie SDK Androida. Jednak klasa ta nie definiuje od razu żadnego sposobu wyświetlania listy. Jest to klasa abstrakcyjna, tak więc trzeba stworzyć własną klasę dziedziczącą po niej. BaseAdapter posiada cztery metody abstrakcyjne: 1. getcount() - zwracającą liczbę elementów na liście, 2. getitem(position) - zwracającą element na podanej pozycji, 3. getitemid(position) - zwracającą identyfikator elementu na podanej pozycji, 4. getview(position, convertview, parent) - zwracającą widok (obiekt dziedziczący po klasie View) zawierający wygląd pojedynczego elementu listy. To właśnie getview jest najważniejszą metodą adaptera. To ona określa nam sposób wyświetlania każdego elementu listy. Najczęściej sposób wyświetlenia danych jest opisywany za pomocą pliku XML. Zawiera on dpowiednio ułożone oraz opisane komponenty, które adapter musi tylko wypełnić danymi. W ten sposób, ListView nie operuje na danych, a na tworzonych przez adapter widokach. Metoda 2
3 getview wywoływana jest dla każdego elementu listy osobno, tak więc nic nie stoi na przeszkodzie temu, aby dla każdego elementu zdefiniować inny sposób wyświetlania danych. Po stworzeniu adaptera, wystarczy użyć metody setadapter na obiekcie klasy ListView, aby przypisać utworzony sposób prezentowania danych do listy. Schemat działania adaptera prezentuje rysunek 2. Rys. 2: Schemat działania adaptera listy 3 Nagłówki i stopki Ciekawym elementem komponentu ListView jest także możliwość stosowania nagłówków oraz stopek. Nagłówek jest to widok, który komponent ListView wyświetli przed widokami z główną zawartością utworzoną w adapterze. Analogicznie stopka jest to widok wyświetlony na samym końcu, po głównej zawartości listy. Warto zaznaczyć, że zarówno nagłówek, jak i stopka nie są dodawane do listy przy użyciu adaptera, a przypisane bezpośrednio do listy za pomocą metod addheaderview(view) oraz addfooterview(view). Widoki te można usunąć za pomocą metod removeheaderview(view) oraz removefooterview(view). Do komponentu ListView można dodać więcej niż jedną stopkę oraz więcej niż jeden nagłówek. Przy dodawaniu widoków stopki oraz nagłówka, należy pamiętać o bardzo ważnym ograniczeniu. We wszystkich wersjach Androida przed wersją 4.4 (Android Kitkat), nagłówek oraz stopka muszą być dodane przed ustawieniem dla listy adaptera [2]. Rysunek 3a pokazuje przykład zastosowania nagłówka listy, natomiast drugi rysunek 3b przedstawia zastosowanie stopki w przykładowej aplikacji do wysyłania wiadomości tekstowych. 3
4 (a) (b) Rys. 3: Prezentacja przykładowego nagłówka listy (a) oraz stopki (b) 4 Optymalizacja działania ListView jest komponentem bardzo złożonym. Może on być użyty do wyświetlenia bardzo dużego zbioru danych, w niekoniecznie prosty sposób. Dlatego bardzo ważnym krokiem po użyciu tego komponentu w naszym programie jest jego optymalizacja. Poniżej zostaną przedstawione podstawowe metody optymalizacji działania listy. 5 Mechanizm recyklingu widoków Podczas wyświetlania danych, użytkownik najczęściej ma możliwość przesunięcia elementów listy, odsłaniając kolejne elementy. Jak już wcześniej wspomniano, ListView operuje na widokach, a każdy element listy jest osobnym widokiem. Tak więc jeżeli ma zostać wyświetlona lista zawierająca sto elementów, potrzebnych jest sto wygenerowanych widoków. Twórcy komponentu ListView usprawnili proces wyświetlania, i generowane są jedynie widoki aktualnie widoczne na ekranie telefonu. Pozostałe elementy tworzone są w razie konieczności, na przykład, gdy użytkownik przesunie listę, odsłaniając kolejne jej elementy. Problem pojawia się jednak, gdy użytkownik chce szybko przedostać się na drugi koniec długiej listy. Może wtedy zajść potrzeba stworzenia, a następnie usunięcia dziesiątek widoków w ciągu jednej lub kilku sekund. Generowanie widoków na podstawie jego opisu w kodzie XML jest czasochłonne, tak więc podczas szybkiego przesuwania listy widoczny jest bardzo du- 4
5 ży spadek wydajności, a animacje interfejsu tracą płynność. Z pomocą przychodzi tutaj mechanizm recyklingu widoków. Mechanizm recyklingu widoków opiera się na zasadzie ponownego wykorzystania wcześniej już użytego na liście widoku. Za każdym razem, gdy przesuwamy listę w górę lub w dół, ListView zapamiętuje jeden niepotrzebny już widok każdego typu użytego na liście. Zasadę działania mechanizmu recyklingu widoków opisuje poniższy schemat. Rys. 4: Zasada działania mechanizmu recyklingu widoków ListView przekazuje do adaptera przechowywany w pamięci widok w chwili, gdy wymagane jest wygenerowanie kolejnego elementu listy. Widok ten przekazywany jest jako parametr metody getview. W chwili, gdy w pamięci nie ma żadnego widoku, przekazywany jest zamiast niego null. Aby odpowiednio wykorzystać dostarczany przez komponent widok, należy lekko zmodyfikować definicję naszej metody getview. Listing 1 pokazuje przykładową metodę getview niewykorzystującej mechanizmu recyklingu a listing 2 jej modyfikację, która uaktywnia mechanizm. public View getview ( i n t position, View convertview, ViewGroup p a r e n t ) { convertview = i n f l a t e r. i n f l a t e (R. l a y o u t. row_1, n u l l ) ; ( ( TextView ) convertview. findviewbyid (R. i d. i m i e ) ). s e t t e x t ( osoby. g e t ( p o s i t i o n ). i m i e ) ; ( ( TextView ) convertview. findviewbyid (R. i d. nazwisko ) ). s e t t e x t ( osoby. g e t ( p o s i t i o n ). nazwisko ) ; Listing 1: Metoda getview bez zastosowania mechanizmu recyklingu public View getview ( i n t position, View convertview, ViewGroup p a r e n t ) { i f ( convertview == n u l l ) convertview = i n f l a t e r. i n f l a t e (R. l a y o u t. row_1, n u l l ) ; ( ( TextView ) convertview. findviewbyid (R. i d. i m i e ) ). s e t t e x t ( osoby. g e t ( p o s i t i o n ). i m i e ) ; ( ( TextView ) convertview. findviewbyid (R. i d. nazwisko ) ). s e t t e x t ( osoby. g e t ( p o s i t i o n ). nazwisko ) ; Listing 2: Metoda getview z zastosowaniem mechanizmu recyklingu 5
6 Zastosowanie mechanizmu recyklingu widoków gwarantuje znaczną poprawę płynności działania interfejsu. Szybkość wyświetlania może się zwiększyć z 20 do nawet 50 klatek na sekundę [3]. 6 Mechanizm recyklingu, a różne typy widoków Nieraz zdarzyć się może, że na liście trzeba wyświetlić elementy różnego typu. Mogą to być na przykład różne typy mediów, wiadomości od różnych osób. Zdarzyć się może, że każdy typ posiada osobny wygląd. Jeżeli wykorzystywany jest z mechanizmu recyklingu, mogłoby się to wydawać problematyczne. Na szczęście twórcy Androida przewidzieli taką sytuację. Aby poinformować ListView, że wśród danych znajdują się dane wymagające różnych typów widoków, trzeba nadpisać dwie kolejne metody klasy BaseAdapter: 1. getviewtypecount() - zwraca liczbę typów widoku, 2. getitemviewtype(position) - zwraca znacznik typu int widoku na danej pozycji. Dodatkowo trzeba wprowadzić modyfikację w metodzie getview, tak aby dla danego typu widoku, przypisywany był odpowiedni plik XML z wyglądem. Listing 3 pokazuje przykład metod getviewtype, getitemviewtype oraz getview. p u b l i c i n t getitemviewtype ( i n t p o s i t i o n ) { r e t u r n osoby. g e t ( p o s i t i o n ). isme? TYP_1 : TYP_2; public i n t getviewtypecount ( ) { r e t u r n 2 ; public View getview ( i n t position, View convertview, ViewGroup p a r e n t ) { i f ( convertview == n u l l ) convertview = i n f l a t e r. i n f l a t e (R. l a y o u t. row_1, n u l l ) ; ( ( TextView ) convertview. findviewbyid (R. i d. i m i e ) ). s e t t e x t ( osoby. g e t ( p o s i t i o n ). i m i e ) ; ( ( TextView ) convertview. findviewbyid (R. i d. nazwisko ) ). s e t t e x t ( osoby. g e t ( p o s i t i o n ). nazwisko ) ; Listing 3: Przykład użycia wbudowanego mechanizmu recyklingu widoków oraz przystosowania go do obsługi wielu typu widoków Jak widać, w metodzie getview nadal sprawdzamy, czy ListView dostarczył dzięki mechanizmowi recyklingu widok wcześniej używany. Jeżeli nie, to tworzymy nowy widok na podstawie kodu XML. Dzięki zmodyfikowanym metodom getitemviewtype oraz getviewtypecount, ListView będzie dostarczał nam widok tylko wtedy, gdy w pamięci znajduje się niepotrzebny widok o takim samym typie, jak typ tworzony aktualnie przez metodę getview. 7 Wzorzec ViewHolder Jak można zauważyć w powyższych listingach, w metodzie getview adaptera bardzo często używana jest metoda findviewbyid. Służy ona do wyszukiwania, w widoku, na rzecz którego została wywołana, innego widoku o identyfikatorze podanym jako parametr. Metoda findviewbyid jest metodą o dużej złożoności obliczeniowej. 6
7 Jest to metoda rekurencyjna, a szybkość otrzymania wyniku uzależniona jest od ilości podwidoków, dla których kontenerem jest widok, w którym poszukiwany jest dany identyfikator. Warto dodać, że każdy z podwidoków może być kontenerem dla dowolnej liczby kolejnych widoków. Tak więc metoda ta może znacząco spowolnić proces tworzenia elementu listy. Aby uniknąć ciągłego wyszukiwania widoków, można posłużyć się wzorcem ViewHolder. Zasada jego działania jest bardzo prosta. W klasie adaptera należy stworzyć wewnętrzną klasę statyczną ViewHolder, która zawiera pola będące referencjami do używanych wewnątrz metody getview widoków [4]. Listing 4 przedstawia przykład użycia wzorca ViewHolder. public View getview ( i n t position, View convertview, ViewGroup p a r e n t ) { ViewHolder h o l d e r = n u l l ; i f ( convertview == n u l l ) { convertview = i n f l a t e r. i n f l a t e (R. l a y o u t. row_1, n u l l ) ; holder = new ViewHolder ( ) ; holder. imie = ( TextView ) convertview. findviewbyid (R. i d. i m i e ) ; holder. nazwisko = ( TextView ) convertview. findviewbyid (R. i d. t e x t ) ; convertview. settag ( holder ) ; e l s e { holder = ( ViewHolder ) convertview. gettag ( ) ; h o l d e r. i m i e. s e t T e x t ( osoby. g e t ( p o s i t i o n ). i m i e ) ; h o l d e r. nazwisko. s e t T e x t ( osoby. g e t ( p o s i t i o n ). nazwisko ) ; return convertview ; s t a t i c c l a s s ViewHolder { TextView imie ; TextView nazwisko ; Listing 4: Przykład zastosowania wzorca ViewHolder Jak widać, metoda wyszukująca widok po identyfikatorze wywoływana jest jedynie podczas tworzenia widoku, a pomijana w przypadku widoku pochodzącego z recyklingu. Zastosowanie tego wzorca może zwiększyć częstotliwość wyświetlania widoku nawet o 10 klatek na sekundę [3]. Warto tutaj zaznaczyć, że wzorzec ViewHolder należy stosować razem z mechanizmem recyklingu widoków, gdyż tylko wtedy przynosi widoczne rezultaty. 8 Pozostałe metody optymalizacji działania komponentu ListView W artykule opisane zostały dwa najważniejsze oraz najczęściej spotykane sposoby optymalizacji komponentu ListView - mechanizm recyklingu widoków oraz wzorzec ViewHolder. Warto jednak pamiętać o innych sposobach, które mają wpływ na szybkość działania opisywanego komponentu. Pierwszym z nich jest przeźroczystość tła elementów listy. Duży wzrost szybkości działania możemy uzyskać, zastępując przeźroczyste tło innym. Jak wiadomo, nie zawsze jest to możliwe, jednak warto unikać przeźroczystego tła tam, gdzie nie jest to konieczne. Drugim ważnym czynnikiem wpływającym na szybkość ListView jest ilość widoków, które składają się na pojedynczy element listy. Zawsze warto unikać tworzenia w plikach z kodem XML zbędnych widoków, gdyż każdy dodatkowy widok wymaga większej mocy obliczeniowej przy tworzeniu elementu listy, co oczywiście zwiększa czas potrzebny na jego wygenerowanie. 7
8 9 Podsumowanie ListView jest komponentem o bardzo szerokim zastosowaniu. Jego podstawowym zadaniem jest wyświetlanie listy elementów, na podstawie danego zbioru wejściowego. Sposób wyświetlania danych, może być praktycznie w dowolny sposób zmodyfikowany przez programistę, tak aby sprostać jego potrzebom. Dzięki wprowadzeniu przez twórców kilku przydatnych funkcjonalności, komponent ten może znacząco ułatwić pracę programistom. ListView jest komponentem bardzo złożonym, a wyświetlanie dużych zbiorów danych może skończyć się znacznym spadkiem szybkości działania aplikacji. Dlatego każdy programista powinien zastosować opisane powyżej metody optymalizujące ten komponent, gdyż zastosowanie ich może nawet kilkukrotnie zwiększyć szybkość działania komponentu oraz całej aplikacji. Literatura [1] [2] [3] Romain Guy, Adam Powell, prezentacja The world of ListView - konferencja Google I/O 2010 [4] [5] E. Burnette, Hello Android programowanie na platformę Google dla urządzeń mobilnych, wydanie III, wyd. Helion, 2011 [6] C. Collins, M. Galpin, M. Kaeppler, Android w praktyce, wyd. Helion, 2012 [7] S. Komatineni, D. MacLean, S. Hashimi, Android 3 tworzenie aplikacji, wyd. Helion,
Tworzenie prezentacji w MS PowerPoint
Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje
Bardziej szczegółowoAktywnoś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
Bardziej szczegółowo5.4. Tworzymy formularze
5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania
Bardziej szczegółowoProjektowanie, tworzenie aplikacji mobilnych na platformie Android
Program szkolenia: Projektowanie, tworzenie aplikacji mobilnych na platformie Android Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Projektowanie, tworzenie aplikacji mobilnych
Bardziej szczegółowoTworzenie i wykorzystanie usług sieciowych
Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoModele danych walidacja widoki zorientowane na model
Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych
Bardziej szczegółowo5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel
5.3. Tabele Tabela jest podstawowym elementem bazy danych. To właśnie w tabelach gromadzone są w bazie rekordy danych. Projektując tabelę, definiujemy, jakie pola będzie zawierał pojedynczy rekord informacji.
Bardziej szczegółowoCiekawym 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,
Bardziej szczegółowoTemat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoLaboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Bardziej szczegółowo5. Mechanizm szablonów.
5. Mechanizm szablonów. Moduł szablonów daje możliwość definicji dowolnej ilości szablonów strony publicznej serwisu. W połączeniu z modułami Marketing MIX oraz Wzorców Elementów został opracowany tak
Bardziej szczegółowoDynamiczne 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
Bardziej szczegółowoPlatforma e-learningowa
Dotyczy projektu nr WND-RPPD.04.01.00-20-002/11 pn. Wdrażanie elektronicznych usług dla ludności województwa podlaskiego część II, administracja samorządowa realizowanego w ramach Decyzji nr UDA- RPPD.04.01.00-20-002/11-00
Bardziej szczegółowoRozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Bardziej szczegółowoREFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,
Bardziej szczegółowoMobilne 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
Bardziej szczegółowo16) Wprowadzenie do raportowania Rave
16) Wprowadzenie do raportowania Rave Tematyka rozdziału: Przegląd wszystkich komponentów Rave Tworzenie nowego raportu przy użyciu formatki w środowisku Delphi Aktywacja środowiska Report Authoring Visual
Bardziej szczegółowoJava: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń
Bardziej szczegółowoJęzyk Java część 2 (przykładowa aplikacja)
Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa
Bardziej szczegółowoPodczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Bardziej szczegółowoKlasy 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
Bardziej szczegółowoakademia 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
Bardziej szczegółowoSystemy 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
Bardziej szczegółowoWprowadzenie do programowania aplikacji mobilnych
Wprowadzenie do programowania aplikacji mobilnych Katedra Inżynierii Wiedzy Plan zajęć 1 XAML; 2 podstawowe kontrolki; 3 obsługa zdarzenia; 4 budowa prostego interfejsu z poziomu XAML i z poziomu kodu;
Bardziej szczegółowoD:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoWykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Bardziej szczegółowoWarstwa prezentacji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.
Warstwa prezentacji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Definicja warstwy prezentacji - pięciowarstwowy model logicznego rozdzielania zadań 2. Podstawowe przypadki - analiza
Bardziej szczegółowoMS Word 2010. Długi dokument. Praca z długim dokumentem. Kinga Sorkowska 2011-12-30
MS Word 2010 Długi dokument Praca z długim dokumentem Kinga Sorkowska 2011-12-30 Dodawanie strony tytułowej 1 W programie Microsoft Word udostępniono wygodną galerię wstępnie zdefiniowanych stron tytułowych.
Bardziej szczegółowoPodręcznik użytkownika Wprowadzający aplikacji Wykaz2
Podręcznik użytkownika Wprowadzający aplikacji Wykaz2 TiMSI Sp z o o ul Czapli 63, 02-781 Warszawa tel : +48 22 644 86 76, fax: +48 22 644 78 52 NIP: 951-19-39-800 Sąd Rejonowy dla mst Warszawy w Warszawie,
Bardziej szczegółowoWskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Bardziej szczegółowoAPLIKACJA SHAREPOINT
APLIKACJA SHAREPOINT Spis treści 1. Co to jest SharePoint?... 2 2. Tworzenie nowej witryny SharePoint (obszar roboczy)... 2 3. Gdzie znaleźć utworzone witryny SharePoint?... 3 4. Personalizacja obszaru
Bardziej szczegółowoWykład 5: Klasy cz. 3
Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu
Bardziej szczegółowo6.4. Efekty specjalne
6.4. Efekty specjalne Ile wart byłby porządny film bez efektów specjalnych. Przecież to właśnie one nadają charakter dla filmu i przykuwają uwagę widza. Dlaczego nie wykorzystać by tego w prezentacjach?
Bardziej szczegółowoSystemy 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
Bardziej szczegółowo6.4. Efekty specjalne
6.4. Efekty specjalne W programie MS PowerPoint 2010 znajdziemy coś takiego jak efekty specjalne. Służą one po to by prezentacja nie stała się monotonna i zachęcała widzów do uwagi poprzez zastosowane
Bardziej szczegółowoNOWY SZABLON IMPORTU PLIKÓW
NOWY SZABLON IMPORTU PLIKÓW Aby wejść na zakładkę Nowy szablon importu Użytkownik wybiera zakładkę Płatności, która znajduje się w górnym menu. Następnie z menu bocznego należy wybierać Import danych.
Bardziej szczegółowoWprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Bardziej szczegółowoPrzykładowa dostępna aplikacja w Visual Studio - krok po kroku
Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i
Bardziej szczegółowoProgramowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński
Programowanie aplikacji dla technologii mobilnych mgr inż. Anton Smoliński Agenda Cykl życia aplikacji Struktura plików Plik AndroidManifest.xml Elementy aplikacji Activity Layout Intent BroadcastRecivers
Bardziej szczegółowoInstrukcja użytkownika systemu medycznego
Instrukcja użytkownika systemu medycznego ewidencja obserwacji pielęgniarskich (PI) v.2015.07.001 22-07-2015 SPIS TREŚCI: 1. Logowanie do systemu... 3 2. Zmiana hasła... 4 3. Pacjenci - wyszukiwanie zaawansowane...
Bardziej szczegółowoprotected 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
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 11 - przegląd wybranych wzorców mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 24 maja 2017 1 / 38 mgr inż. Krzysztof Szwarc Programowanie obiektowe Wzorce
Bardziej szczegółowoInstytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium
Bardziej szczegółowoPodstawy Programowania Programowanie Obiektowe
Podstawy Programowania Programowanie Obiektowe Michał Bujacz bujaczm@p.lodz.pl B9 Lodex 207 godziny przyjęć: środy i czwartki 10:00-11:00 http://www.eletel.p.lodz.pl/bujacz/ 1 Pytania powtarzające x &
Bardziej szczegółowoGrzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Bardziej szczegółowoTEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Bardziej szczegółowo5.4. Efekty specjalne
5.4. Efekty specjalne Przedstawiliśmy już sobie sporo kwestii związanych z dodawaniem, edytowaniem czy usuwaniem elementów, które możemy zamieścić w prezentacji. Ale pomyłką było by stwierdzenie, że więcej
Bardziej szczegółowoMJUP_Instrukcja obsługi aplikacji. wspomagającej
Instrukcja obsługi aplikacji wspomagającej w ramach projektu Beneficjent: Urząd Miasta Krakowa Wersja: 1.00 Data wersji: 2015-02-24 Autor (rzy): Nazwa pliku: Zespół Pentacomp MJUP_Instrukcja obsługi aplikacji
Bardziej szczegółowoCzym są właściwości. Poprawne projektowanie klas
Z akcesorów get i set korzysta każdy kto programuje w C#. Stanowią one duże udogodnienie w programowaniu obiektowym. Zapewniają wygodę, bezpieczeństwo i znacząco skracają kod. Akcesory są ściśle związane
Bardziej szczegółowoPodręcznik użytkownika Obieg dokumentów
Podręcznik użytkownika Obieg dokumentów Opracowany na potrzeby wdrożenia dla Akademii Wychowania Fizycznego im. Eugeniusza Piaseckiego w Poznaniu W ramach realizacji projektu: Uczelnia jutra wdrożenie
Bardziej szczegółowoPWI Instrukcja użytkownika
PWI Instrukcja użytkownika Spis treści 1. Wprowadzenie... 1 2. Przebieg przykładowego procesu... 1 3. Obsługa systemu... 5 a. Panel logowania... 5 b. Filtrowanie danych... 5 c. Pola obligatoryjne... 6
Bardziej szczegółowoLegislator Premium. Jak to działa czyli krótki opis funkcjonalności
Legislator Premium Jak to działa czyli krótki opis funkcjonalności Legislator Premium to przełomowa aplikacja pozwalająca na tworzenie aktów zmieniających tzw. nowelizacji oraz obwieszczeń o ogłoszeniu
Bardziej szczegółowoTypy, klasy typów, składnie w funkcji
Typy, klasy typów, składnie w funkcji Typy w Haskell Każde wyrażenie w Haskell posiada zdefiniowany typ. Dzięki temu już na etapie kompilacji kodu następuje sprawdzenie poprawności kodu i zabezpiecza nas
Bardziej szczegółowoLaboratorium 8 ( Android -pierwsza aplikacja)
Dr Mirosław Łątka Informatyka dla medycyny Jesień 2012 Laboratorium 8 ( Android -pierwsza aplikacja) Naszym celem jest stworzenie aplikacji, która wyświetla zdjęcie Alberta Einsteina. Jeden z przycisków
Bardziej szczegółowoAdobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.
Spis treści: 1 Podstawy pracy z aplikacją... 2 1.1 Układ strony... 2 strona 1 z 7 1 Podstawy pracy z aplikacją InDesign jest następcą starzejącego się PageMakera. Pod wieloma względami jest do niego bardzo
Bardziej szczegółowoJęzyk Java część 2 (przykładowa aplikacja)
Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa
Bardziej szczegółowoPraca z widokami i nawigacja w pokazie
Poniższe ćwiczenie ma na celu zapoznanie z ogólnymi zasadami pracy w środowisku MS PowerPoint oraz najczęściej wykorzystywanymi mechanizmami służącymi do dodawania i edycji slajdów. Należy pobrać ze wskazanej
Bardziej szczegółowoPodręcznik użytkownika Publikujący aplikacji Wykaz2
Podręcznik użytkownika Publikujący aplikacji Wykaz2 TiMSI Sp z o o ul Czapli 63, 02-781 Warszawa tel : +48 22 644 86 76, fax: +48 22 644 78 52 NIP: 951-19-39-800 Sąd Rejonowy dla mst Warszawy w Warszawie,
Bardziej szczegółowoINFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA.
SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Autorzy scenariusza:
Bardziej szczegółowo2.4 Planowanie i przydzielanie pracy
2.4 Planowanie i przydzielanie pracy 2.4.1 Lekkie zarządzanie zadaniami Wprowadzenie do Plannera, tworzenie zadań, organizacja zadań, zarządzanie przydziałem zadań, raportowanie, przeglądanie własnych
Bardziej szczegółowoMicrosoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych
Microsoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych Projekt: Wdrożenie strategii szkoleniowej prowadzony przez KancelarięPrezesa Rady Ministrów Projekt współfinansowany przez Unię
Bardziej szczegółowoTworzenie szablonów użytkownika
Poradnik Inżyniera Nr 40 Aktualizacja: 12/2018 Tworzenie szablonów użytkownika Program: Plik powiązany: Stratygrafia 3D - karty otworów Demo_manual_40.gsg Głównym celem niniejszego Przewodnika Inżyniera
Bardziej szczegółowoMVVM Light Toolkit. Julita Borkowska
MVVM Light Toolkit Julita Borkowska Czym jest MVVM Light Toolkit? MVVM Light Toolkit został stworzony w 2009 roku przez Laurenta Bugnion. Jest to biblioteka dostarczająca zestaw komponentów pomocnych podczas
Bardziej szczegółowoBIBLIOTEKA CYFROWA JAKO KONTENER TREŚCI DLA PORTALI INTERNETOWYCH. DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA.
BIBLIOTEKA CYFROWA JAKO KONTENER TREŚCI DLA PORTALI INTERNETOWYCH. DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA. Michał Kwiatkowski Piotr Grzybowski Poznańskie Centrum Superkomputerowo-Sieciowe II Konferencja
Bardziej szczegółowokonspekt pojedynczy slajd sortowanie slajdów strona notatek 1. Widok normalny/konspekt 2. Widok sortowania slajdów 3.
Poniższe ćwiczenie ma na celu zapoznanie z ogólnymi zasadami pracy w środowisku MS PowerPoint oraz najczęściej wykorzystywanymi mechanizmami służącymi do dodawania i edycji slajdów. Należy pobrać ze wskazanej
Bardziej szczegółowoZaawansowane programowanie obiektowe - wykład 5
Zaawansowane programowanie obiektowe - wykład 5 dr Piotr Jastrzębski (czynnościowe) opisują zachowanie obiektów, komunikację pomiędzy nimi i ich odpowiedzialność. Interpreter Iterator (kursor) Łańcuch
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoObiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
Bardziej szczegółowoTworzenie bazy danych na przykładzie Access
Tworzenie bazy danych na przykładzie Access Tworzenie tabeli Kwerendy (zapytania) Selekcja Projekcja Złączenie Relacja 1 Relacja 2 Tworzenie kwedend w widoku projektu Wybór tabeli (tabel) źródłowych Wybieramy
Bardziej szczegółowoCompas 2026 Vision Instrukcja obsługi do wersji 1.07
Compas 2026 Vision Instrukcja obsługi do wersji 1.07 1 2 Spis treści Integracja...5 1.Compas 2026 Lan...5 Logowanie...7 Użytkownicy...8 Raporty...10 Tworzenie wizualizacji Widoki...12 1.Zarządzanie widokami...12
Bardziej szczegółowoAplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody.
Załącznik nr 1 Specyfikacja przedmiotu zamówienia Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Słowniczek pojęć Badanie
Bardziej szczegółowoZmiana logo. Dziękujemy za wybór naszych rozwiązań. apjoo od Apláuz. Wspólnie przebrniemy przez proces konfiguracji strony www i wstawiania treści.
Użytkownicy i hasła Dostęp do zaplecza umożliwia rozbudowany system zarządzania użytkownikami. 1. Konta użytkowników tworzy się wybierając z menu Użytkownicy > Menedżer użytkowników na stronie głownej
Bardziej szczegółowoWidoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Bardziej szczegółowoPREZENTACJE MULTIMEDIALNE cz.2
Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni z przedmiotu Podstawy Informatyki Kod przedmiotu: TS1C 100 003 Ćwiczenie pt. PREZENTACJE MULTIMEDIALNE cz.2
Bardziej szczegółowoLEGISLATOR. Data dokumentu:24 maja 2013 Wersja: 1.3 Autor: Paweł Jankowski, Piotr Jegorow
LEGISLATOR Dokument zawiera opis sposobu tworzenia podpisów pod aktami dla celów wizualizacji na wydrukach Data dokumentu:24 maja 2013 Wersja: 1.3 Autor: Paweł Jankowski, Piotr Jegorow Zawartość Wprowadzenie...
Bardziej szczegółowoW dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu.
1. Informacje Podstawowe Mediamanager 2.1 jest systemem wspierającym zarządzanie dokumentami elektronicznymi. Podstawowymi funkcjami realizowanymi przez oprogramowanie jest przetrzymywanie, zarządzanie
Bardziej szczegółowoSYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS
SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS Małgorzata Mielniczuk System zarządzania treścią z angielskiego Content Management System w skrócie CMS jest oprogramowaniem ułatwiającym zarządzanie tworzonym serwisem
Bardziej szczegółowoJak ustawić cele kampanii?
Jak ustawić cele kampanii? Czym są cele? Jest to funkcjonalność pozwalająca w łatwy sposób śledzić konwersje wygenerowane na Twojej stronie www poprzez wiadomości email wysłane z systemu GetResponse. Mierzenie
Bardziej szczegółowoQUERY język zapytań do tworzenia raportów w AS/400
QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora
Bardziej szczegółowoNOWY SZABLON IMPORTU PLIKÓW
NOWY SZABLON IMPORTU PLIKÓW W celu konfiguracji formatu pliku importu, użytkownik wybiera zakładkę Płatności, która znajduje się w górnym menu. Następnie z menu bocznego należy wybrać Import danych. Z
Bardziej szczegółowoNowe funkcje w programie Forte Finanse i Księgowość
Forte Finanse i Księgowość 1 / 11 Nowe funkcje w programie Forte Finanse i Księgowość Spis treści : Korzyści z zakupu nowej wersji 2 Forte Finanse i Księgowość w wersji 2011.b 3 Nowe wzory deklaracji VAT
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoxmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />
1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism
Bardziej szczegółowoPowiadomienia 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
Bardziej szczegółowoPraca z wynikami w ALOORA
AGROLAB GROUP 02-2018 1 / 15 Spis treści Rozdział 1: praca z dwoma widokami wyników... 3 Wyniki według zlecenia... 3 Wyniki według próbki... 3 Modyfikowanie widoków... 3 Wybieranie określonych zleceń lub
Bardziej szczegółowoUsługi analityczne budowa kostki analitycznej Część pierwsza.
Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.
Bardziej szczegółowoGENERATOR OFERTY PDF DOKUMENTACJA UŻYTKOWA 1/20
GENERATOR OFERTY PDF DOKUMENTACJA UŻYTKOWA 1/20 Spis treści 1. Instalacja aplikacji... 3 2. Opis interfejsu... 4 2.1) Dodawanie produktów do oferty...4 2.2) Opis panelu konfiguracji...4 2.2.1) Konfiguracja
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoI. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu...
Kreator szablonów I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu... 7 a. Grafika... 7 b. Tekst... 7 c.
Bardziej szczegółowoSieciowe Technologie Mobilne. Laboratorium 4
Sieciowe Technologie Mobilne Laboratorium 4 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 4 Urozmaicone zostaną animacje potworów, aby odpowiadały
Bardziej szczegółowoNowy szablon stron pracowników ZUT
Nowy szablon stron pracowników ZUT Uczelniane Centrum Informatyki ZUT przygotowało nowy szablon stron pracowników, zunifikowany z obecnymi stronami ZUT. Serdecznie zachęcamy Państwa do migracji na nowy
Bardziej szczegółowoPodstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia
Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka
Bardziej szczegółowoBackend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
Bardziej szczegółowoCzęść I Rozpoczęcie pracy z usługami Reporting Services
Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...
Bardziej szczegółowoPHP 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
Bardziej szczegółowoDokumentacja projektu Makao karciana gra sieciowa
Dokumentacja projektu Makao karciana gra sieciowa 1 Spis treści Specyfikacja wymagań...3 Diagram przypadków użycia...4 Scenariusze...5 Diagramy sekwencji...6 Diagram modelu domeny...8 Projekt graficznego
Bardziej szczegółowoWszystko na temat wzoru dokumentu elektronicznego
Stowarzyszenie PEMI Wszystko na temat wzoru dokumentu elektronicznego Czym jest, kto go tworzy, kto publikuje, kto może z niego skorzystać? Mirosław Januszewski, Tomasz Rakoczy, Andrzej Matejko 2007-07-25
Bardziej szczegółowoINTENSE BUSINESS INTELLIGENCE PLATFORM
0 Business Intelligence w przedsiębiorstwie INTENSE BUSINESS INTELLIGENCE PLATFORM Zmiany w wersji Wersja 6.6 1 Spis treści Wstęp... 2 Nowości w wersji... 2 Wersjonowanie załączników... 2 Widoki list...
Bardziej szczegółowo