Programátorská příručka



Podobné dokumenty
GUI. Systémová integrace pro desktopové aplikace

Automatický rezervační systém. Bc. Jan Búda

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Uživatelská příručka Autor: Martin Fiala

MATURITNÍ PRÁCE dokumentace

KAPITOLA 10. Implementace mezinárodní podpory a lokalizace. V této kapitole:

Návod pro řešení typických problémů se stabilitou AMČR

Simulátor programované gramatiky

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií

TÉMATICKÝ OKRUH Softwarové inženýrství

Nápověda aplikace Patron-Pro

První kapitola úvod do problematiky

Úvod do programovacích jazyků (Java)

Modul Outlook2Money.

Modul IRZ návod k použití

Základní popis Toolboxu MPSV nástroje

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Seznámení se s administrací WordPressu

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Instalace souborů VHOPE a souborů knihovny VHOPE

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Nápověda k aplikaci EA Script Engine

Vazba ESO9 na MS Outlook a MS Exchange

Bible Quote 6.5 Okno programu

SWT & MigLayout. Alternativy Java GUI v praxi. Pavel Janečka & Tomáš Chlouba. červen 2011

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

DLS V v1.2. Nové funkce. Používání programu DLS V

Konvertor diakritiky 3. Instalace

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze

Jak vložit položku do GDSN

České vysoké učení technické v Praze. Fakulta Elektrotechniky XD39NUR. Semestrální práce. Ovládání videokonferencí pomocí mobilního telefonu

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Úvod do počítačových sítí

Návod k použití OOCorr (rošíření OpenOffice.org)

Agentura ochrany přírody a krajiny ČR Odbor vývoje a správy aplikací

PowerPoint Kurz 1. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/

Na vod k nastavenı u

WNC::WebNucleatCreator

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop

LMS Moodle příručka učitele

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Choose a building block. Znalostní báze Kleos. Kleos 6.5 (březen 2019)

Synchronizace kontaktů z ESO9 do MS Outlook

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Bezdrátové routery LTE & UMTS datové a hlasové brány

X10 Uživatelský manuál na webové rozhraní (ver0.9)

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Fre Prahy 10. Do svého u se můžete přihlásit odkudkoliv na webové adrese

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

Popis programu: Popis přípon důležitých souborů: *.qpf projektový soubor Quartusu

Vaše jistota na trhu IT. Balíčky. Rudolf Pecinovský

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Systém INFOwin a práce s em.

1 Uživatelská dokumentace

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

ver. E.134 Manuál Skladové hospodářství - inventura

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Versiondog Lukáš Rejfek, Pantek (CS) s.r.o. 4/2014

Doporučené nastavení prohlížeče MS Internet Explorer 7 a vyšší pro Max Homebanking PS s využitím čipové karty

Základní popis Toolboxu MPSV nástroje

Návod k ovládání aplikace

Objektově orientované programování v PHP 5. Martin Klíma

Návod na synchronizaci ekasy s ekonomickými systémy. Pohoda idoklad/money Helios Orange

Hydroprojekt CZ a.s. WINPLAN systém programů pro projektování vodohospodářských liniových staveb. HYDRONet 3. Modul TERÉN

Postup práce v KDS 1

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Instalační příručka. Vlastnoruční digitální podpis. Ovladače a plugin do webového prohlížeče

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

Soukromá střední odborná škola Frýdek-Místek, s.r.o.

36 Elektronické knihy

Geometrické algoritmy pro počítačovou grafiku

MASARYKOVA UNIVERZITA V BRNĚ FAKULTA INFORMATIKY

2017 CARAT "New design"

MIDAM Simulátor Verze 1.5

Formátování pomocí stylů

Svolávací systém Uživatelský manuál

Dealer Extranet 3. Správa objednávek

Využití aplikace SketchUp pro tvorbu jednoduchého informačního systému

Free and open source v geoinformatice. Příloha 3 - Praktické cvičení R Studio

Manuál k programu KaraokeEditor

IMAporter Mobile Key Aplikace Mobile Key pro čtečky RSW.04 vybavené technologií NFC a BLE

Práce v návrhovém prostředí Xilinx ISE WebPack 12 BDOM UMEL FEKT Šteffan Pavel

KMI / TMA Tvorba mobilních aplikací. 2. seminář ZS 2016/2017 Středa 13:15-15:45

Versiondog Lukáš Rejfek, Pantek (CS) s.r.o. 7/2014

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

1. Podmínky chodu aplikace

Příloha č. I: Schéma zapojení vývojové desky PVK-PRO

Postup získání licence programu DesignBuilder v4

Export tabulky výsledků

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

Návrhový vzor Factory v JAVA API

EPLAN Electric P8 2.7 s databázemi na SQL serveru

Nástrojová lišta v editačním poli

Trosečník v džungli, adventura

OSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

ČSOB Business Connector

Transkript:

KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA Kapitola 1 Programátorská příručka 1.1 Úvod 1.1.1 Technologie Program je psaný v jazyce Java 1.7. GUI je vytvářeno pomocí knihovny SWT. (http://eclipse.org/swt/) Pro layout GUI byl použit MigLayout (http://www.miglayout.com/). Celé tělo pluginu je ale vykreslováno na SWT widget Composite, kterému lze nastavit libovolný vnitřní layout manager. Není tedy nutné omezovat se na MigLayout (nicméně ho vřele doporučuji). Jsoup (http://jsoup.org/) je skvělý HTML parser, který byl použit u pluginu SA Notify a je tedy již součásti aplikace. Jeho využití taktéž doporučuji, umožňuje velmi jednoduché extrahování informací z HTML stránky, ale i posílání HTML requestů včetně cookies. 1.1.2 Knihovny Zde je seznam knihoven, které program používá (a které je tedy nutné přidat do projektu, aby ho bylo možné zkompilovat). Knihovny jsou přibaleny ke zdrojovým kódům. SWT je potřeba správná verze podle platformy! Viz eclipse.org/swt/. MigLayout JShortcut_my upravená verze JShortcut (https://github.com/jimmc/jshortcut), která načte správnou verzi jshortcut.dll z adresáře lib/. Jsoup Apache.commons.lang.StringEscapeUtils Apache.commons.codec.binary 1

1.1. ÚVOD A dále tyto knihovny z IDE Eclipse (v případě importu projektu do Eclipse je tedy není nutné manuálně přidávat ): org.eclipse.ui.forms org.eclipse.core.databinding org.eclipse.core.databinding.beans org.eclipse.core.databinding.observable org.eclipse.core.databinding.property org.eclipse.core.equinox.common org.eclipse.core.runtime org.eclipse.core.runtime.compatibility org.eclipse.jface.databinding org.eclipse.jface.util pouze třída Geometry.class, 1.1.3 Pojmy plugin menu záložka pluginu na horní liště, na které lze přepínat mezi pluginy. plugin active-menu menu aktivní pluginu, může obsahovat tlačítka (viz obr. 1.1). Tvoří ho programátor pluginu. plugin idle-menu menu neaktivního pluginu, je vytvořeno automaticky. tělo pluginu samotný plugin, tedy to, co se zobrazí v hlavním okně při kliknutí na plugin menu. pluginbody SWT Composite pluginbody je fieldem třídy Plugin.java. Na tomto Compositu je celé tělo pluginu. Obrázek 1.1: Vlevo active-menu pluginu SA Notify, vpravo idle-menu pluginu Divadlo J.C. 2

KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA 1.2 Struktura aplikace Zdrojové kódy obsahují 3 základní Java Package: sanotify package obsahující kódy rodičovské aplikace plugins package obsahující (abstraktní) třídy a interfacy související s pluginy sandbox slouží pouze k testování, není součástí distribučního balíčku Na obrázku 1.2 je struktura tříd typického pluginu. Každý plugin musí obsahovat tyto třídy (respektive implementovat jejich nadtřídy): NewPlugin třída reprezentující daný plugin, implementuje metody interfacu PluginInterface. Klíčová je její metoda setpluginbody(), která vytvoří celé tělo pluginu. Parent všech komponentů těla pluginu je Composite pluginbody, NewPluginMenu obsahuje implementaci active-menu pluginu. Celé menu je na Composite menubg, který je fieldem abstraktní nadtřídy PluginMenu.java. NewPluginTableItem reprezentuje jednu hledanou položku (např. jeden autobus Student Agency). Implementace této třídy (podtřídy PluginTableItem) povinná není, umožňuje ale využití metody safe() pro ukládání probíhajících hledání, implementované ve třídě Plugin, a také metod třídy PluginHistory pro práci s historií hledání. Dále plugin navržený na obrázku 1.2 obsahuje třídy: NewPluginPreferences otevře dialog Nastavení pluginu. NewPluginHistory zobrazí historii hledání. NewPluginChecker samostatné vlákno, které provádí cyklické hledání volných míst. Abstraktní třídy PluginPreferences.java, PluginHistory.java a CheckerThread.java obsahují podpůrné metody, které se mohou hodit při vytváření dialogu Nastavení (PluginPreferences) dialogu Historie (PluginHistory) nebo vlákna, které se cyklicky připojuje na server a kontroluje volná místa (CheckerThread). Tyto třídy tedy není nutné implementovat, ale mohou ušetřit hodně práce. PluginLoader.java: V této třídě probíhá načítání pluginů. V současnosti je nutné každý nový plugin ručně přidat v metodě loadplugins(): p l u g i n s. add ( new NewPlugin ( display, s h e l l, p r o p e r t i e s, messenger ) ) ; 3

1.3. JAK ZAČÍT Obrázek 1.2: Třídní diagram pluginu 1.3 Jak začít Všechny třídy nového pluginu by měly být v balíku plugins.newplugin. Tedy např. ve složce src/plugins/newplugin/. Soubory pluginu (tzn. obrázky, konfigurační soubory apod.) zase ve složce /plugins/newplugin/. Ve zdrojových kódech je již k dispozici adresář src/plugins/newplugin/, který obsahuje základní strukturu nového pluginu, přesně takovou, jako je na obr. 1.2. Stačí tedy doplnit těla metod především metody NewPlugin.setPluginBody(). Všechny metody, které je třeba implementovat, mají javadoc dokumentaci, popisující, co mají dělat. Stačí tedy nahlédnout do dokumentace nebo do kódu příslušné nadtřídy. Není nutné použít všechny připravené třídy (viz výše povinné jsou jen třídy NewPlugin a NewPluginMenu). 4

KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA 1.4 Univerzální třídy Package sanotify obsahuje některé univerzální třídy, které je vhodné použít: ImageHandler.java statická třída, určená k načítání všech obrázků. Všechny obrázky (SWT Image) je nutné ručně disposovat při ukončení aplikace (image.dispose()), hodí se tedy mít je všechny na jednom místě. Pro nový plugin doporučuji použít podtřídu NewPluginImageHandler. CommentedProperties.java podtřída java.util.properties, která nevymaže komentáře z properties souboru při přidávání nových položek. Messenger.java zajišťuje zobrazování zpráv uživateli a to jak chybových, tak informačních. Pro zobrazení popup zprávy uživateli stačí zavolat např.: new Messenger ( ). message_warning ( " Hello world " ) ; Buttons.java zjednodušuje vytváření tlačítek. Má několik metod pro vytvoření často používaných tlačítek. Sounds.java přehrává zvuky metoda public Clip playsound(string filename). Commons.java obsahuje zejména metody pro snadné získání hodnot uložených v CommentedProperties. Např. metoda boolean getboolproperty() se pokusí nalézt zadaný klíč v CommentedProperties a převést jeho hodnotu na boolean. ImageCodeGen.java jednoduchá třída pro vygenerování kódu pro nový obrázek. Vygeneruje kód pro příslušné fieldy, getter a setter, který stačí zkopírovat do NewPluginImageHandler.java 1.5 Logování chyb Pro logování chyb je určena metoda MainClass.logException(), která uloží výjimku do.log souboru ve složce /bin/log/. Doporučený postup odchytávání chyb: try {... } catch ( Exception e ) { S t r i n g msg="zpráva co se u l o ž í s chybou. " ; MainClass. logexception ( e, NewPlugin. c l a s s. getname ( ), msg ) ; } 5

1.6. JAZYKOVÉ VERZE 1.6 Jazykové verze Různé jazykové verze pluginu jsou uloženy v souborech Bundle.properties. V balíku NewPlugin jsou připraveny 2 soubory: Bundle.properties obsahuje českou jazykovou verzi Bundle_en.properties anglickou verzi Všechny Stringy, jejichž hodnota se má měnit podle jazykové verze, stačí nahradit touto konstrukcí: ResourceBundle. getbundle ( " p l u g i n s /NewPlugin/Bundle " ). g e t S t r i n g ( " Klic1 " ) ; A následně klíč a hodnotu doplnit do souborů např. do Bundle.properties doplnit řádek Klic1=český t e x t A do Bundle_en.properties doplnit Klic1=English t e x t Programovací IDE má většinou nástroje pro rychlé nahrazení všech Stringů a přidání klíčů do Bundle souborů. V NetBeans je to Tools Internationalization Internationalization Wizard. 6