Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi HashMap, Properties, Logger, etc Tuloksellinen Java-ohjelmointi.

Samankaltaiset esitykset


Esitys aiheesta: "© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi HashMap, Properties, Logger, etc Tuloksellinen Java-ohjelmointi."— Esityksen transkriptio:

1 © Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi HashMap, Properties, Logger, etc Tuloksellinen Java-ohjelmointi

2 © Jukka Harju, Jukka Juslin2 Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1.0 -lisenssillä. Lisäys edelliseen lisenssiin: Kalvojen muokkaaminen on sallittu vain opettajille, joiden kursseilla käytetään kurssikirjana Tuloksellinen Java-ohjelmointi -kirjaa.Creative Commons Attribution-ShareAlike 1.0 -lisenssillä

3 © Jukka Harju, Jukka Juslin3 Sisältö HashMap-luokka Properties-tiedostot Logger Emailin lähetys

4 © Jukka Harju, Jukka Juslin4 HashMap-luokka Kertaamme HashMap-luokan, sillä arvioitavassa tehtävässä saattaa olla siitä kysymys ja lisäksi se on seuraavaksi käsiteltävän Properties- tiedoston pohjana Katso oppikirjan sivuilta 160 ja 161 HashMapin käyttöesimerkki HashMapin idea on tallettaa avain->arvopareja, jolloin avain on esim. Kissan nimi ja arvo kissan paino – näinollen vältytään numeeriselta indeksiltä ja indeksi suoraan kertoo jo jotain

5 © Jukka Harju, Jukka Juslin5 Tiedostot ja properties-konfiguraatio Properties (tiedoston loppupääte.properties) tarkoittaa esim. konfiguraatiotietojen tallentamista tiedostoon Tallennusmuoto on seuraavanlaista (oppikirjan sivu 163): tmp = C:/TEMP server = norsu.firma.fi Tämänmuotoiset avain-arvoparit on kätevintä lukea HashMap (esim. PHP:ssä vain Hash) tietorakenteeseen ja siihen onkin Javassa valmis mekanismi Nimeä tiedostosi esimerkiksi asetukset.properties

6 © Jukka Harju, Jukka Juslin6 Properties alkuarvojen lukeminen Alkuarvojen lukeminen properties-tiedostosta menee seuraavaan tapaan (oppikirjan sivu 164): import java.util.Properties; import java.io.*; … // alkuarvojen lukeminen Properties alkuarvot = new Properties(); File propsiTiedosto = new File(”jukan.properties”); FileInputStream in = new FileInputStream(propsiTiedosto); alkuarvot.load(in); // alkuarvojen tulostaminen System.out.println(alkuarvot.get(”tmp”)); System.out.println(alkuarvot.get(”server”));

7 © Jukka Harju, Jukka Juslin7 Logger Logger tarkoittaa ns. lokittajaa eli kirjanpitoa (esim. merikapteenin tai lentokapteenin lokiin verrattavissa) siitä, mitä sovelluksessa on tapahtunut Loki on monessa suhteessa hyödyllinen: –Sattunut virhe ohjelmistossa voidaan paikantaa lokista –Loki on pysyvästi tallella –Lokissa on aikaleima, jolloin virhe on tapahtunut –Loki päivittyy dynaamisesti aina kun ohjelma on ajossa –Lokista voi seurata kuinka sovellusta käytetään

8 © Jukka Harju, Jukka Juslin8 Login käyttäminen Java-ohjelmasta Login käyttäminen on esimerkin avulla kerrottu kirjan sivuilla 74 ja 75 Loggeri-oliota ei tarvi instantioida kuin kerran ja se voi olla kaikille ohjelman olioille sama, näinollen tehdään attribuutti luokkaan, josta halutaan lokia tuottaa: –public static final Logger logger;

9 © Jukka Harju, Jukka Juslin9 Login käyttäminen Java-ohjelmasta Lokin alustamiseen tarvitaan staattinen alustuslohko: static { logger = Logger.getLogger(”log”); try { FileHandler logFileHandler = new FileHandler(”laskutus.log”, true); logger.addHandler(logFileHandler); } catch (IOException ex) { System.out.println( ”Lokikirjoitusta ei saatu käynnistettyä!”); }

10 © Jukka Harju, Jukka Juslin10 Login käyttäminen Java-ohjelmasta Itse lokin kirjoittaminen suoritetaan Java-ohjelmissa seuraavalla komennolla: logger.log(Level.INFO, ”Kirjoitettu tiedostoon: ” + tiedosto); Huomataan siis, että logittaminen overläppää jonkinverran sysoutprintln-debuggaamisen ja debuggerin kanssa. Lähinnä logittamalla on silti tarkoitus etsiä virheitä, ei jokakäänteessä tulostaa kaikkien näkyvyysalueella olevien muuttujien nimiä Lokitus voi heittää IOExceptionin ja se tulee metodeissa huomioida ja passata niiden käsittely staattiselle alustuslohkolle

11 © Jukka Harju, Jukka Juslin11 Email Java-ohjelmaan voi melko kätevästi integroida myös muita toiminnallisuuksia Viimeviikoilla tekemiimme Laskutus-ohjelmistoihin voisi esimerkiksi liittää toiminnon (feature), joka lähettäisi sähköpostia: http://myy.haaga- helia.fi/~jusju/AH/src/liiketoiminta/Email.javahttp://myy.haaga- helia.fi/~jusju/AH/src/liiketoiminta/Email.java Kyseinen luokka vaatii toimiakseen projektin propertieseihin build pathiin lisättyna actiovation.jar ja mail.jar tiedostot Demo…


Lataa ppt "© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi HashMap, Properties, Logger, etc Tuloksellinen Java-ohjelmointi."

Samankaltaiset esitykset


Iklan oleh Google