Przykłady zastosowań oraz optymalizacja działania komponentu ListView w aplikacjach dla urządzeń mobilnych z systemem Android

Wielkość: px
Rozpocząć pokaz od strony:

Download "Przykłady zastosowań oraz optymalizacja działania komponentu ListView w aplikacjach dla urządzeń mobilnych z systemem Android"

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 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ółowo

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 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ółowo

5.4. Tworzymy formularze

5.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ółowo

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Projektowanie, 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ółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie 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ółowo

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

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

Bardziej szczegółowo

Zaawansowane aplikacje internetowe

Zaawansowane 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ółowo

Modele danych walidacja widoki zorientowane na model

Modele 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ółowo

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

5.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ółowo

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:

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,

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: 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ółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 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ółowo

5. Mechanizm szablonów.

5. 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ółowo

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

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

Bardziej szczegółowo

Platforma e-learningowa

Platforma 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ółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 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ółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT 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ółowo

Mobilne aplikacje multimedialne

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

Bardziej szczegółowo

16) Wprowadzenie do raportowania Rave

16) 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ółowo

Java: 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 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ółowo

Język Java część 2 (przykładowa aplikacja)

Ję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ółowo

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Podczas 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ółowo

Klasy abstrakcyjne i interfejsy

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

Bardziej szczegółowo

akademia androida Intencje oraz URI część III

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

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

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

Bardziej szczegółowo

Wprowadzenie do programowania aplikacji mobilnych

Wprowadzenie 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ółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\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ółowo

Wykład 8: klasy cz. 4

Wykł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ółowo

Warstwa 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. 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ółowo

MS 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 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ółowo

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

Podrę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ółowo

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.

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. 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ółowo

APLIKACJA SHAREPOINT

APLIKACJA 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ółowo

Wykład 5: Klasy cz. 3

Wykł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ółowo

6.4. Efekty specjalne

6.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ółowo

Systemy operacyjne na platformach mobilnych

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

Bardziej szczegółowo

6.4. Efekty specjalne

6.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ółowo

NOWY SZABLON IMPORTU PLIKÓW

NOWY 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ółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie 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ółowo

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Przykł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ółowo

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

Programowanie 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ółowo

Instrukcja użytkownika systemu medycznego

Instrukcja 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ółowo

protected void onsaveinstancestate(bundle outstate); protected void onrestoreinstancestate(bundle savedinstancestate);

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

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut 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ółowo

Podstawy Programowania Programowanie Obiektowe

Podstawy 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ółowo

Grzegorz 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 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ółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : 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ółowo

5.4. Efekty specjalne

5.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ółowo

MJUP_Instrukcja obsługi aplikacji. wspomagającej

MJUP_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ółowo

Czym są właściwości. Poprawne projektowanie klas

Czym 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ółowo

Podręcznik użytkownika Obieg dokumentów

Podrę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ółowo

PWI Instrukcja użytkownika

PWI 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ółowo

Legislator 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 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ółowo

Typy, klasy typów, składnie w funkcji

Typy, 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ółowo

Laboratorium 8 ( Android -pierwsza aplikacja)

Laboratorium 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ółowo

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

Adobe 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ółowo

Język Java część 2 (przykładowa aplikacja)

Ję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ółowo

Praca z widokami i nawigacja w pokazie

Praca 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ółowo

Podręcznik użytkownika Publikujący aplikacji Wykaz2

Podrę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ółowo

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA.

INFORMATYKA 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ółowo

2.4 Planowanie i przydzielanie pracy

2.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ółowo

Microsoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych

Microsoft 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ółowo

Tworzenie szablonów użytkownika

Tworzenie 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ółowo

MVVM Light Toolkit. Julita Borkowska

MVVM 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ółowo

BIBLIOTEKA 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. 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ółowo

konspekt pojedynczy slajd sortowanie slajdów strona notatek 1. Widok normalny/konspekt 2. Widok sortowania slajdów 3.

konspekt 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ółowo

Zaawansowane programowanie obiektowe - wykład 5

Zaawansowane 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ółowo

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje 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ółowo

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Obiekt 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ółowo

Tworzenie bazy danych na przykładzie Access

Tworzenie 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ółowo

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Compas 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ółowo

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody.

Aplikacja (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ółowo

Zmiana 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.

Zmiana 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ółowo

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?

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? 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ółowo

PREZENTACJE MULTIMEDIALNE cz.2

PREZENTACJE 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ółowo

LEGISLATOR. Data dokumentu:24 maja 2013 Wersja: 1.3 Autor: Paweł Jankowski, Piotr Jegorow

LEGISLATOR. 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ółowo

W dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu.

W 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ółowo

SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS

SYSTEMY 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ółowo

Jak ustawić cele kampanii?

Jak 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ółowo

QUERY język zapytań do tworzenia raportów w AS/400

QUERY 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ółowo

NOWY SZABLON IMPORTU PLIKÓW

NOWY 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ółowo

Nowe funkcje w programie Forte Finanse i Księgowość

Nowe 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />

xmlns: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ółowo

Powiadomienia w systemie Android

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

Bardziej szczegółowo

Praca z wynikami w ALOORA

Praca 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ółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usł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ółowo

GENERATOR OFERTY PDF DOKUMENTACJA UŻYTKOWA 1/20

GENERATOR 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ółowo

Informatyka 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 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ółowo

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...

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... 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ółowo

Sieciowe Technologie Mobilne. Laboratorium 4

Sieciowe 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ółowo

Nowy szablon stron pracowników ZUT

Nowy 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ółowo

Podstawy 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 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ółowo

Backend Administratora

Backend 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ółowo

Część I Rozpoczęcie pracy z usługami Reporting Services

Część 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ółowo

PHP 5 język obiektowy

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

Bardziej szczegółowo

Dokumentacja projektu Makao karciana gra sieciowa

Dokumentacja 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ółowo

Wszystko na temat wzoru dokumentu elektronicznego

Wszystko 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ółowo

INTENSE BUSINESS INTELLIGENCE PLATFORM

INTENSE 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