J2ME MIDLET PELISOVELLUKSEN SUUNNITTELU JA TOTEUTUS NOKIAN 7210 PUHELIMEEN

Koko: px
Aloita esitys sivulta:

Download "J2ME MIDLET PELISOVELLUKSEN SUUNNITTELU JA TOTEUTUS NOKIAN 7210 PUHELIMEEN"

Transkriptio

1 T a m p e r e e n A m m a t t i k o r k e a k o u l u L i i k e t a l o u s Tutkintotyöraportti J2ME MIDLET PELISOVELLUKSEN SUUNNITTELU JA TOTEUTUS NOKIAN 7210 PUHELIMEEN Satu Pietarinen

2 2 Tekijä(t): Koulutusohjelma(t): Tutkintotyön nimi: Satu Pietarinen Tietojenkäsittely J2ME MIDlet pelisovelluksen suunnittelu ja toteutus Nokian 7210 puhelimeen Title in English: Designing and producing the J2ME MIDlet game application for the Nokia 7210 mobile phone Työn valmistumiskuukausi ja -vuosi: tammikuu 2004 Työn ohjaaja: Paula Hietala Sivumäärä: 56 TIIVISTELMÄ J2ME on alustariippumaton ohjelmistoympäristö matkapuhelinten ja kämmentietokoneiden sovellusten kehittämistä varten. Sen avulla on mahdollista tehdä Java-kielisiä MIDlet-sovelluksia, jotka toimivat useiden eri valmistajien laitteissa. Sovellukset ovat ladattavissa päätelaitteelle Internet-verkosta tai pöytätietokoneelta. Tutkintotyö on Nokian keväällä 2003 julkaiseman MIDlet-sovelluskilpailun määrittelyn mukaan tehty pelisovellus Nokian puhelimeen. Työn tavoitteena oli suunnitella ja toteuttaa päätelaitteella toimiva pelisovellus. Sovelluksen sisällön suunnittelussa noudatettiin pelisuunnittelun yleisiä ohjeita. Sovelluksen ulkoasun suunnittelun tavoitteena oli tehdä mobiililaitteen pienikokoiselle näytölle soveltuvaa grafiikkaa. Sovelluksesta tehtiin helppokäyttöinen ja sen käyttöliittymästä yhtenevä muiden päätelaitteen pelisovellusten kanssa. Työn toteutuksen aikana pelin toiminnallisuutta testattiin emulaattorissa ja päätelaitteella. Testaus osoittautui erittäin tärkeäksi osaksi työtä. Tutkintotyön kirjallisessa osuudessa käsitellään J2ME-arkkitehtuuria ja sen erityispiirteitä, MIDletsovelluksen sisältöä ja käytännön ohjelmointia. Kartoitusosio sisältää käyttäjän tarpeiden kartoittamisen sekä sovelluksen suunnittelulle ja toteutukselle asetettujen rajoitusten tarkastelua. Suunnitteluvaiheessa esitellään sovelluksen sisältöä, rakennetta, toiminnallisuutta, visuaalista ilmettä ja suunnittelun ongelmia. Sovelluksen toteutusosassa esitellään käytännön peliohjelmointia ja sovelluksen teossa esiintyneitä ongelmia. Pelisovellus on tutkintotyön liitteenä levykkeellä ja se on asennettavissa päätelaitteelle JAD-tiedostona. Avainsanat: J2ME MIDlet Java Ohjelmointi Pelisovellus

3 3 Sisällysluettelo 1 Johdanto J2ME (Java TM 2, Micro Edition) J2ME:n historia J2ME:n arkkitehtuuri Virtuaalikone KVM (KiloByte Virtual Machine) KVM:n rajoitukset KVM ja luokkien tarkistus Tietoturva J2ME konfiguraatiot Connected Device Configuration (CDC) Connected Limited Device Configuration (CLDC) CLDC kirjastot Kansainvälisyys Generic Connection Framework (GCF) Kuvio 4 Esimerkki Connector-luokan käytöstä (Kontio 2002: 44) Profiili Mobile Information Device Profile (MIDP) Record Management System ( RMS ) MIDP -käyttöliittymäluokat MIDlet MIDletin elinkaari ja metodit MIDletin luominen MIDlet ja Applet Kartoitus Käyttäjän tarpeet Tekniset rajoitteet suunnittelulle ja toteutukselle Pelisuunnittelu Pelin sisältö Pelin rakenne Sovelluksen visuaalinen ilme Suunnittelun ongelmat Sovelluksen toteutus Toiminnallisuuden kuvaus Sovelluksen käyttöliittymä Screen Display Form Menu -valikot ja käskyt Image Double Buffering Canvas Spritet Animointi PNG (Picture Network Graphic) Spriten piirto Törmäystarkistus Optimointi Monisäikeinen pelin ohjelmointi Thread-luokan metodit Runnable-rajapinta Säikeiden prioriteetit Säikeen tilat Synkronointi wait() ja notify() -metodit Timer Ongelmat sovellusta tehtäessä Testaus...51

4 6.8 Sovelluksen lataaminen päätelaitteelle Havaintoja Johtopäätöksiä...54 Liitteet...57 Liite 1: Sanasto...57 API (Application Programming Interface) kokoelma luokkia joita voidaan sovelluksessa käyttää. Yhdessä ne muodostavat kirjaston, jota kutsutaan API- rajapinnaksi...57 CLDC (Connected Limited Device Configuration) on J2ME-konfiguraatio. CLDC määrittelee Java-kielen, Java virtuaalikoneen (KVM), rajapinnat (API:t) syöttö- ja tulostustoimintojen suorittamiseen, perus verkkotuen (GCF) ja tietoturvan...57 J2ME (Java 2, Micro Edition) on kokoelma määrityksiä ja teknologioita jotka tukevat Java-kieltä. J2ME kattaa laajan valikoiman laitteita kämmentietokoneista auton navigaatio järjestelmiin. J2ME jaetaan konfiguraatioihin ja profiileihin, jotka määrittelevät Java ympäristön tietyn tyyppiselle laitteelle MIDlet on Java-kielinen MIDP-sovellus joka toimii päätelaitteella MIDlet Suite (eli JAR) sisältää useamman MIDlet-sovelluksen pakattuna yhteen JAR-tiedostoon. Päätelaitteella voi olla useita JAR-paketteja

5 5 1 Johdanto Tutkintotyö on Nokian keväällä 2003 julkaiseman sovelluskilpailun määrittelyjen mukaan tehty Java-kielinen (MIDlet) pelisovellus Nokian 7210 puhelimeen, joka tukee Java 2 Micro Edition (J2ME) -teknologiaa. Sovellus sai Nokian määritysten mukaan olla kooltaan enintään 64 kilotavua. Pelin grafiikan tuli soveltua käytettäväksi päätelaitteen 128x128 pikselin näytöllä ja päätelaite käyttää KVM-virtuaalikonetta, MIDP 1.0 -profiilia ja CLDC 1.0 -konfiguraatiota. Tutkintotyön tavoitteena oli tehdä päätelaitteessa toimiva MIDlet pelisovellus ja selvittää, miten MIDlet-ohjelmointi eroaa pöytäkoneelle tehdyn pelisovelluksen ohjelmoinnista. Työssä esitellään J2MEteknologiaa ja käytännön peliohjelmointia. Työn on tarkoitus olla käytännön apuna uusille MIDlet-ohjelmoijille ja tuoda esiin niitä asioita, joihin tulisi kiinnittää huomiota matkapuhelinten pelisovelluksia kehitettäessä. Tutkintotyö on tehty sovelluskehittäjän näkökulmasta. Tutkintotyönä tehty sovellus on toimintapeli nimeltä SpaceBall ja se on tehty laitesuuntautuneille käyttäjille, joille on tärkeää, että puhelimessa on mahdollisimman paljon erilaisia ominaisuuksia kuten esim. pelejä. Se soveltuu pelattavaksi kaiken ikäisille henkilöille ja molemmille sukupuolille. Pelin toteutus on tehty englannin kielellä. Sovelluksen peli-idea ja käyttöliittymä ovat yksinkertaiset ja helppokäyttöiset. Pelin toimintaidea perustuu puhelimen näppäimistöltä tapahtuvaan käsi - silmä koordinaatiokykyyn. Sovellus on testattu toimivaksi pöytäkoneella Nokian 6310i MIDP SDK Beta 0.9 -emulaattorissa ja Nokian 7210 puhelimessa. Tutkintoyö aloitettiin tutustumalla matkapuhelimissa pelattaviin peleihin, J2ME MIDlet ohjelmointia käsittelevään kirjallisuuteen ja Borlandin JBuilder-ohjelmaan, johon on liitetty Nokia Developer's Suite kehitysympäristö. Tutkintotyössä perehdytään ensin J2ME teknologiaan ja sen arkkitehtuuriin. Tämän jälkeen tutkintotyössä käsitellään tutkintotyönä tehdyn pelisovelluksen suunnittelun ja toteutuksen eri vaiheita, sekä ohjelmointitekniikoita.

6 6 2 J2ME (Java TM 2, Micro Edition) 2.1 J2ME:n historia Ensimmäisissä matkapuhelimissa oli mukana ohjelmisto, jota käyttäjä ei itse pystynyt muokkaamaan. Matkapuhelimien ohjelmat eivät olleet yhteensopivia muiden laitevalmistajien kanssa, eivätkä käyttäjän siirrettävissä tai päivitettävissä kuten tietokoneissa. Kun haluttiin käyttöön uusi sovellus, oli ostettava kokonaan uusi laite. Matkapuhelinten laitevalmistajat ja Sun Microsystems olivat samaa mieltä siitä, että alustasta riippumaton Java-ohjelmointikieli mahdollistaisi samojen ohjelmien käyttämisen eri valmistajien laitteissa. Matkapuhelimet asettivat kuitenkin vähäisten resurssiensa takia omat vaatimuksensa ja niihin täytyi suunnitella aivan uusi Java-ympäristö. Sunin ensimmäinen ratkaisu oli kehittää sen aikaisesta (1997) alustasta Java AE:sta (Java Application Environment) kolme uutta teknologiaa käytettäviksi erilaisissa laitteissa. Nämä teknologiat olivat Personal Java AE, Embedded Java AE sekä Java Card. Jokaiselle laitekategorialle tehtiin sopiva virtuaalikone ja rajoitettiin mukana tulevien luokkakirjastojen määrää. Näiden teknologioiden ongelmana kuitenkin oli, että ne eivät mainittavasti tukeneet ohjelmistojen siirrettävyyttä eri laitevalmistajien laitteiden välillä (Sun 1998). Vuonna 1998 Sun julkisti Java 2:n ja kehitysympäristöt jaettiin kuvan (Kuvio 1) mukaisesti kolmeen erilaiseen kokonaisuuteen niiden käyttötarkoituksen mukaan. Nämä Java alustat ovat: J2EE (Java 2 Enterprise Edition), J2SE (Java 2 Standard Edition) ja J2ME (Java 2 Platform, Micro Edition). (Muchow 2002.) Server Workstation, Laptop Communicator, Net TV Pager, SmartPhone Smartcard PDA J2EE J2SE CDC J2ME CLDC Java Language HotSpot JVM CVM KVM CardVM Kuvio 1 Java arkkitehtuuri ja kohde alustat (Kontio 2002: 4)

7 7 J2SE tunnettiin aiemmin pelkkänä Javana. Se on suunniteltu työasemien sovellusten kehittämiseen ja se sisältää kaikki perus Java-luokat. J2EE on näistä kolmesta kehitysympäristöstä laajin. Se on kehitetty palvelimille ja yritysten kokonaisvaltaisten palvelujen tietojenkäsittelyyn. Näitä palveluja ovat mm. online-kaupankäynti, asiakashallinta- ja kirjanpito-järjestelmät. J2EE sisältää myös sisäänrakennetun tuen servlet-, JSP- ja XML-ohjelmoinnille. J2ME on modulaarinen Java-ympäristö, joka on suunniteltu laitteille, joiden käytössä on vähän muistia, pieni prosessori ja pienikokoinen näyttö kuten esim. kämmentietokoneet ja matkapuhelimet (Muchow 2002). Kuviosta 1 näkyy myös, että J2EE:tä käytetään palvelimien toimintojen kehittämiseen, kun taas J2SE ja J2ME on suunniteltu kehittämään yksittäisiä sovelluksia tai ratkaisuja, jotka käyttävät J2EE-teknologialla tehtyjä palvelin-sovelluksia (Kontio 2002: 4). 2.2 J2ME:n arkkitehtuuri J2ME jakaa laitteet eri ryhmiin horisontaalisesti laitteistoresurssien mukaan, sekä vertikaalisesti niiden käyttötarkoitusten mukaan. Samassa vertikaalisessa ryhmässä olevilla laitteilla voi kuitenkin olla erikokoiset laitteistoresurssit, jolloin ne eivät kuulu samaan horisontaaliseen ryhmään. J2ME:n päämääränä on tukea jo markkinoilla olevia laitteita siten, että jokaisen laitteen Java-ympäristö sisältäisi vain ne ominaisuudet, joita kyseisellä laitteella tarvitaan. Tästä syystä J2ME:stä ei ole olemassa vain yhtä toteutusta. J2ME on Java-ympäristö, joka kootaan osista laitteen ominaisuuksien ja käyttötarkoituksen mukaan. Näitä osia ovat konfiguraatiot ja profiilit, jotka perustuvat edellä kuvattuun laitteiden luokitteluun. (Kontio 2002: 5.) J2ME-konfiguraatio määrittelee virtuaalikoneen, joka toimii kuvan (Kuvio 2) mukaisesti laitteiston varusohjelmakerroksen päällä. Konfiguraatio määrittää myös joukon luokkakirjastoja, jotka sisältävät vain kaikki tarpeelliset ja olennaiset luokat. J2ME-konfiguraatioita on kaksi (Sun 2000a): Connected Device Configuration (CDC) ja Connected Limited Device Configuration (CLDC).

8 8 Sama konfiguraatio voi kattaa käyttötarkoitukseltaan aivan erityyppisiä laitteita, kuten esim. matkapuhelimia ja pesukoneita. Ei ole tarkoituksenmukaista, että pesukoneen ohjelmia käytettäisiin matkapuhelimessa tai toisinpäin. Koska konfiguraatio ei huomioi erilaisten laitteiden erikoistarpeita, tätä tarkoitusta varten on kehitetty profiilit. Profiilit määritellään aina tietyn konfiguraation päälle ja ne laajentavat konfiguraation luomaa Java-ympäristöä. (Sun 2000a.) Sovelluskerros (Midlet) Profiilikerros (MIDP) Konfiguraatiokerros (CLDC) Virtuaalikonekerros (KVM) Laitteiston varusohjelmistokerros Kuvio 2 J2ME arkkitehtuuri (Mahmoud 2002: 4) Profiilit määritellään aina JCP:n (Java Community Process) kautta yhdessä Sun:in, sekä laitevalmistajien kanssa (Sun 2001a). Profiili määrittelee rajapinnat ja luokkakirjastot, joita tarvitaan hyödyntämään kaikki kyseisen laitteen tarjoamat ominaisuudet (Sun 2000b). Profiili mahdollistaa myös ohjelmien siirrettävyyden laitteesta toiseen. Ohjelma luodaan profiilin päälle ja se käyttää vain ja ainoastaan tämän profiilin tarjoamia rajapintoja. Ohjelma toimii kaikissa laitteissa joissa kyseinen profiili on toteutettu. Profiilien lisäksi laitevalmistajalla on mahdollisuus luoda omia rajapintoja. Niiden avulla ohjelmoija pääsee käsiksi laitteen ominaisuuksiin, joita yksikään konfiguraatio tai profiili ei tue. Tämänkaltaisten rajapintojen käyttö tosin vaikeuttaa ohjelman siirrettävyyttä toisiin laitteisiin. (Sun 2002a.) Matkapuhelinten käyttämälle CLDC-konfiguraatiolle on tällä hetkellä määritelty ainoastaan yksi profiili: MIDP (Mobile Information Device Profile). MIDP-määritys antaa laite- ja ohjelmistovalmistajille varsin vapaat kädet tehdä minimivaatimukset täyttävä toteutus. Päätelaitteelta täytyy löytyä vähintään: verkkoyhteys, tietueille perustuva tallennusjärjestelmä ja lcdui (liquid crystal display user interface) -määritystä noudattava käyttöliittymä (Muchow 2002).

9 9 2.3 Virtuaalikone KVM (KiloByte Virtual Machine) J2ME tarvitsee sovellusten suorittamiseen Java-alustan eli virtuaalikoneen. Matkapuhelimissa käytettävä virtuaalikone on nimeltään KVM (KiloByte Virtual Machine). Se on pienikokoinen ja helposti siirrettävä virtuaalikone (Kontio 2002: 29). Siitä on jätetty pois joitakin muiden virtuaalikoneiden ominaisuuksia, joiden ei ole katsottu olevan tarpeellisia kohdelaitteissa. Näin virtuaalikonetta tukevan luokkakirjaston joukkoa on saatu pienennettyä, joka puolestaan mahdollistaa virtuaalikoneen päälle sijoittuvan konfiguraation (CLDC) toimimisen pienemmässä tilassa (Sun 2000a). KVM on kirjoitettu C-kielellä, joten se on helposti siirrettävissä erilaisille alustoille, joille löytyy C-kielinen kääntäjä. KVM voi ladata luokkia luokka hakemistosta tai JAR (Java Archive) -tiedostoista (Mahmoud 2002: 22) KVM:n rajoitukset KVM-virtuaalikoneesta on olemassa useita eri versioita. Kun KVMvirtuaalikone toimii CLDC-konfiguraation kanssa on siitä poistettu ominaisuuksia, jotka ovat joko liian kalliita toteuttaa tai joiden olemassaolo toisi tietoturva-ongelmia (Mahmoud 2002: 21): CLDC:tä käyttävillä laitteistolla ei ole tukea liukuluvuille. CLDC perustaisissa sovelluksissa ei siis voida käyttää liukulukuja, kuten float tai double. CLDC ja MIDP sisältävät tuen säikeille, koska suurin osa MIDPsovelluksista perustuu säikeille. Ne eivät kuitenkaan tue säie ryhmiä tai ns. demoni säikeitä (daemon threads). CLDC rajapinta ei sisällä Object.finalize()-metodia, eli resursseja ei voida sulkea ennen kuin olio on kerätty roskiin. Ajonaikaisille virheille CLDC määrittelee vain kolme virheluokkaa: java.lang.error, java.lang.outofmemoryerror ja java.lang.virtualmachineerror. Ei-ajonaikaiset virheet käsitellään laitteesta riippuen joko sulkemalla sovellus, tai uudelleen käynnistämällä laite. KVM ei sisällä JNI:tä (Java Native Interface), koska se veisi liikaa muistia kohdelaitteessa ja toisi lisäksi tietoturva ongelmia. Tämä aiheuttaa sen, ettei sovelluksia ohjelmoitaessa voida käyttää mitään natiivirajapinnan kuvakkeita, tai esim. puhelimen soittoääniä. Java-virtuaalikoneessa, joka tukee CLDC:tä, täytyy olla sisäänrakennettu luokkalataaja, jota ei voi tietoturvan takia

10 ylikirjoittaa tai korvata käyttäjän toimesta. Sovellus ei voi vaikuttaa siihen kuinka luokat ladataan, koska luokkalataajan voi määritellä ja tuottaa vain ajonaikainen järjestelmä KVM ja luokkien tarkistus J2SE:n Java-virtuaalikoneessa on luokkatarkistaja, joka on vastuussa ajonaikana virheellisten luokkien hylkäämisestä. Tämä tarkistus on aikaa vievää ja siihen tarvitaan kilotavua ajonaikasta muistia. KVM:n muistin koko on kilotavua. Rajoitetun muistin takia KVM:n suunnittelijat päättivät siirtää suurimman osan tarkistuksesta päätelaitteen sijaan palvelin-koneelle, josta sovellus ladataan. Tätä toisella laitteella tapahtuvaa tarkistusta kutsutaan esitarkistukseksi (preverification). Esitarkistuksen tuloksena saadut luokka-tiedostot sisältävät ylimääräistä tietoa varmistamassa, että ajonaikainen tarkistaja voi suorittaa työnsä minimaalisella muistilla ja mahdollisimman nopeasti. (Mahmoud 2002: 22.) Tietoturva CLDC tietoturva on tiukempi kuin J2SE:ssä. Tämä tietoturvamalli on jakautunut kahteen alueeseen: virtuaalikonetason ja sovellustason tietoturvaan. Virtuaalikonetasolla edellisessä luvussa kuvattu esitarkistus varmistaa, ettei luokan tavukoodi sisällä viittauksia virheellisiin muistipaikkoihin, eikä sovellus pysty vahingoittamaan laitetta, jolla ne toimivat. Sovellustasolla KVM sisältää yksinkertaisen ns. hiekkalaatikko tietoturvamallin, jossa sovellus toimii suljetussa ympäristössä. Tällöin sovellus voi kutsua vain laitteen tukemia luokkia. (Mahmoud 2002: 23.) 2.4 J2ME konfiguraatiot Connected Device Configuration (CDC) CDC-konfiguraatio on tarkoitettu lähinnä seuraavan sukupolven laitteisiin, joissa on paljon laitteistoresursseja ja monipuoliset hallintalaitteet. Tällaisia laitteita ovat mm. television digitaalivastaanottimet, Internet televisiot, kehittyneemmät kommunikointivälineet sekä autojen viihde- ja navigointi-järjestelmät. (Sun 2001b.)

11 Connected Limited Device Configuration (CLDC) CLDC on konfiguraatio laitteille, joilla on rajoitetummat resurssit kuin CDC:tä käyttävillä. Tyypillisiä tämän kaltaisia laitteita ovat matkapuhelimet, PDA- ja hakulaitteet. Näille laitteille on ominaista, että niiden käyttömuistin koko on kilotavua, näyttö on kooltaan pieni ja tehonlähteenä käytetään akkua (Muchow 2002). Laitteita valmistetaan markkinoille suuria määriä ja laitteistoresurssit on pidettävä pieninä, jotta laitekustannukset pysyisivät mahdollisimman alhaisina (Sun 2000b). CLDC:n tarkoituksena oli luoda Java-ympäristö, joka toteuttaa suurimman osan Java standardista, mutta tarvitsee toimiakseen mahdollisimman vähän muistia. CLDC määrittelee tällä hetkellä sitä käyttäville laitteille seuraavat toiminnallisuudet: Java-kieli, virtuaalikone, ydinkirjastot, rajapinnat erilaisten syöttö- ja tulostustoimintojen suorittamiseen, perus verkkotuki ja tietoturva (Mahmoud 2002: 20). CLDC-konfiguraation tärkeimpinä ominaisuuksina on pidetty langattomien verkkoyhteyksien tukemista ja dynaamista Java-ohjelmien latausta laitteille. Lisäksi CLDC mahdollistaa laitteille usean tyyppisten siirrettävien sovellusten rakentamisen. Tällaisia sovelluksia ovat mm. hyötyohjelmat ja verkkosovellukset (esim. uutisten luku ja sähköposti sovellukset). Yksi merkittävin ryhmä J2ME:lle koodattavista ohjelmista ovat pelit (Kontio 2002: 6). CLDC ei määrittele käyttöliittymää, sitä miten ohjelmat asennetaan, käynnistetään tai poistetaan laitteilta (ohjelmistojen elämänkaari). Se ei anna tukea eri hallintalaitteille (kosketusnäytöt ym.), eikä tapahtuman käsittelylle. Nämä ovat ominaisuuksia, joita toteuttavat CLDC:n päälle sijoittuvat profiilit (Sun 2000b) CLDC kirjastot CLDC kirjaston ohjelmointirajapinnat (API) voidaan jaotella luokkiin, jotka ovat osajoukko J2SE API:sta ja luokkiin, jotka on kehitetty erityisesti CLDC:tä varten. J2SE rajapinnat vaativat noin 20 megatavua muistia, joka ylittää pienikokoisten laitteiden muistin kapasiteetin. Tästä syystä CLDC käyttää vain Taulukossa 1 lueteltuja luokkia, jotka periytyvät J2SE alustasta (Mahmoud 2002: 23). Matkapuhelinten virheenkäsittely ominaisuudet ovat rajoitetut ja ne reagoivat eri tavalla virhetilanteisiin: yksi laite antaa virheilmoituksen, kun taas toinen suorittaa automaattisen ohjelman keskeytyksen (Kontio 2002: 43). Kaikkien J2SE-alustasta perittyjen luokkien täytyy käyttää täsmälleen samoja poikkeuksia kuin alkuperäisten J2SE-luokkien, joten CLDC-konfiguraatiolle periytyvät myös Taulukossa 2 luetellut poikkeusja virheluokat.

12 Erityisesti CLDC:tä varten suunnitellut rajapinnat ovat: javax.microedition.io, joka määrittelee GCF (Generic Connection FrameWork) -tietoliikenne toteutuksen ja javax.microedition.lcdui, joka sisältää korkean tason käyttöliittymäluokat (Kontio 2002: 40). Taulukko 1 CLDC-konfiguraation perityt J2SE luokat 12 Paketti java.lang java.io java.util Luokka Boolean, Byte, Character, Class, Integer, Long, Math, Object, Runnable, Runtime, String, StringBuffer, System, Thread, Throwable ByteArrayInputStream, ByteArrayOutputStream, DataInput, DataInputStream, DataOutput, DataOutputStream, InputStream, InputStreamReader, OutputStream, OutputStreamWriter, PrintStream, Reader, Writer Calendar, Date, Enumeration Hashtable, Random, Stack Time, Vector PACKAGE CLASS Taulukko 2 CLDC-konfiguraation perityt J2SE poikkeus- ja virheluokat Ta Paketti Luokka java.lang java.io java.util ArithmetricException, ArrayIndexOutOfBoundsException, ArrayStoreException, ClassCastException, ClassNotFoundException, Error, Exception, IllegalAccessException, IllegalArgumentException, IllegalMonitorStateException, IllegalThreadStateException, IndexOutOfBoundsException, InstantiationException, InterruptedException, OutOfMemoryException, NegativeArraySizeException. NumberFormatException, NullPointerException, RuntimeException, SecurityException, StringIndexOutOfBoundsException, VirtualMachineError EOFException, IOException, InterruptedIOException, UnsupprotedEncodingException, UTFDataFormatException EmptyStackException, NoSuchElementException

13 Kansainvälisyys Laitteissa, jotka käyttävät CLDC:tä tulisi huomioida kansainvälisyys. Sovelluksen tulee varautua eri kieliversioille, fonteille jne. Käytännössä tämä tarkoittaa sitä, että sovelluksen ohjelmakoodiin ei tulisi kirjoittaa suoraan esim. käyttäjälle ohjelman aikana ilmestyviä ilmoituksia koskien käytettävää kieltä. Kielivalintojen tulisi tapahtua käyttäjän toimesta ikonien tai valikon kautta. CLDC:lle kansainvälistäminen tarkoittaa, että järjestelmän tulee tukea Unicode-merkkijärjestelmää, johon on olemassa tuki InputStreamReader ja OutputStreamWriter luokissa. (Kontio 2002: 43-44) Generic Connection Framework (GCF) CLDC:n verkkoyhteyksien muodostaminen perustuu Generic Connection Framework (GCF) -kehykseen. Tässä kehyksessä kaikki verkkoyhteydet muodostetaan Connector-luokan open(string)-metodin avulla (Kontio 2002: 44). Verkkoyhteyden tieto siirretään yksinkertaisena merkkijonona ja yhteyden tyyppiä on helppo vaihtaa tarvittaessa. Näin sovelluksen koodi pysyy samana, riippumatta siitä mitä protokollaa käytetään (Mahmoud 2002: 27). Metodia open(string) käytetään kuvan (Kuvio 3) esimerkkien mukaisesti seuraavalla syntaksilla: Connector.open("protokolla:osoite;parametrit"); Connector.open( ); Connector.open( socket:// :8080 ); Connector.open( datagram:// :8090 ); Connector.open( comm.:0;baudrate=9600 ); Connector.open( file://j2me.doc ); //HTTP //socket //datagrammi //sarjaportti //tiedosto Kuvio 3 Esimerkkejä protokollien käytöstä (Kontio 2002: 44) Connector-luokkaa käytetään kuvan (Kuvio 4) mukaisesti. Metodin open(string) epäonnistuminen laukaisee IOException-poikkeuksen ja avatut yhteydet suljetaan finally-lohkossa.

14 14 Connection c = null; try{ c = Connector.open( ); } catch (IOException io{} //yhteys suljetaan finally{ try{ if (c!=null) c.close(); } catch (IOException io){} } Kuvio 4 Esimerkki Connector-luokan käytöstä (Kontio 2002: 44) Connector-luokan lisäksi GCF sisältää kuvassa (Kuvio 5) näkyvät erikoistuneet rajapinnat. Connection rajapinta sisältää vain kaksi metodia: open() ja close(). Rajapinnat perivät niiden yläpuolella olevien rajapintojen metodit. Connection StreamConnectionNotifier InputConnection OutputConnection DatagramConnection StreamConnection ContentConnection Kuvio5 Generic Connection Framework -rajapinnat (Kontio 2002: 45) InputConnection-rajapinnan metodeilla avataan tietoa lukemista varten, OutputConnection-metodeilla tietoa kirjoitetaan ja StreamConnectionmetodi käyttää edellä mainittuja metodeja perimällä ne. StreamConnectionNotifier-rajapinnan metodit odottavat ensin yhteyden saamista, jonka jälkeen ne palauttavat StreamConnection-rajapinnan. ContentConnection-rajapinta käsittelee yhteyden metatietoja ja DataGramConnection-rajapinta lähettää, tai vastaanottaa datagrammeja. (Kontio 2002: 45.)

15 15 CLDC ei sisällä tapaa toteuttaa mitään verkkoyhteyteen tarvittavaa protokollaa, vaan se on jätetty profiilin tehtäväksi. MIDP-profiili lisää HttpConnection-rajapinnan, joka mahdollistaa HTTP-yhteyden. MIDPprofiili voi myös tukea socket-kantoja tai datagrammeja (Internet verkon paketti). Näitä käytettäessä on kuitenkin muistettava, että sovellus ei välttämättä toimi kaikissa päätelaitteissa, tai kaikissa verkoissa. (Kontio 2002: 44.) 2.5 Profiili Mobile Information Device Profile (MIDP) J2ME:tä varten on kehitetty Mobile Information Device -profiili (MIDP), jonka ensisijaisena tehtävänä on määritellä rajapinta ohjelmistokehittäjiä varten. MIDP sijoittuu päätelaitteelle kuvan (Kuvio 6) mukaisesti. MIDP-sovellusta kutsutaan nimellä MIDlet. Sovellukset voivat olla yksittäisiä MIDlettejä tai ns. MIDlet Suite, joka sisältää useamman MIDlet-sovelluksen pakattuna yhteen JAR-tiedostoon. Päätelaitteella voi olla useita JAR-paketteja, mutta tietyn sovelluksen kaikkien luokkien on oltava samassa paketissa (Kontio 2002: 47). Kuvio 6 MIDP arkkitehtuuri (Mahmoud 2003) MIDP:tä käyttävien laitteiden resursseja rajoittavat: laskentateho, muistin määrä, verkkoyhteyden nopeus ja laatu, sekä näytön koko. MIDP Specification 1.0 -määrityksessä on sitä käyttäville laitteille asetettu minimirajat. Laitteiden näyttöjen tulee täyttää seuraavat vaatimukset: näytön koon on oltava vähintään 96x54 pikseliä, värimäärän kuvauksen tulee olla vähintään 1-bittinen (musta-valkoinen), pikselin muodon on oltava 1:1 ja lisäksi laitteessa tulee olla yhden/kahden käden näppäimistö, tai kosketusnäyttö. Laitteissa tulee olla 128 kilotavua pysyvää muistia MIDP-komponenteille, 8 kilotavua pysyvää muistia ohjelmien

16 16 tallentamaa tietoa varten ja 32 kilotavua muistia Javan ajonaikaiseen käyttöön. Lisäksi laitteissa tulee olla langaton kaksisuuntainen verkkoyhteys ja rajoitettu kaistanleveys. (Fox & Verhovsek 2002: ) MIDP sisältää kaikki CLDC:n käyttämät luokat ja lisäksi MIDP-profiilia varten määriteltyjä kirjastoja. Yksi tärkeimmistä kirjastoista on javax.microedition.midlet. Se sisältää MIDlet luokan, joka on kaikkien MIDlettien perusta. Muita tärkeitä kirjastoja ovat: javax.microedition.lcdui, jossa ovat käyttöliittymäluokat, javax.microedition.rms, joka sisältää tietueille perustuvan tallennusjärjestelmän (RMS eli Record Management System) ja javax.microedition.io, jota tarvitaan verkkoliikennettä varten (Kontio 2002: 55). MIDP ei määrittele sovelluksen liitäntää laitteeseen, päästä päähän tietosuojamallia, systeemitason tai laitteen alkuperäisen valmistajan (OEM, Original Equipment Manufacturer) määrittelemiä tarpeita sovellukselle, eikä mitään tiettyä toteutusta Record Management System ( RMS ) MIDP-profiilissa on huomioitu sovellukset, jotka tarvitsevat tiedoille katoamatonta muistia. MIDP määrittelee yksinkertaisen tietueille perustuvan RMS (Record Management System) -tallennusjärjestelmän. Sen luokat ja rajapinnat sijaitsevat javax.microedition.rms-paketissa. Käytännössä RMS-tietokanta on tiedosto, joka koostuu tietueista. Pääsy tietokantaan on vain samaan JAR-pakkaukseen kuuluvilla MIDleteillä. (Kontio 2002: 137.) RMS:n tieto on tavutaulukko, jonka koko voi vaihdella tietueittain. RMS ei rajoita sitä, millaista tietoa tietueisiin tallennetaan. Jokaiselle tietueelle määritellään yksilöllinen tunniste (recordid), joka on voimassa koko tietovaraston elinajan. Tietueita lisättäessä samaa tunnistetta ei käytetä uudelleen, joten yksittäisiä tietueita on helppo jäljittää. Tunnisteen avulla tietueita voidaan muuttaa ja poistaa. Tunnisteiden tietotyyppi on Integer ja ensimmäisen luotavan tietueen arvo on yksi. Tietueita lisättäessä, tunnisteen arvoa kasvatetaan ykkösellä (Mahmoud 2000). Tietovarasto luodaan, suljetaan ja poistetaan RecordStore-luokan metodeilla. Uuden tietovaraston luonti ja jo olemassa olevan tietovaraston avaus tehdään kuvan (Kuvio 7) mukaisesti openrecorstore()-metodilla, jolle välitetään kaksi parametria (String, boolean) (Kontio 2002:138). Ensimmäinen parametri kertoo luotavan, tai avattavan tietovaraston nimen. Nimi saa sisältää enintään 32 merkkiä. Toisen parametrin true-arvolla pyydetään metodia luomaan uusi tietovarasto, jos sitä ei ensimmäisen parametrin nimellä ole olemassa.

17 17 Avattaessa jo olemassa olevaa tietovarastoa, parametrin arvoksi asetetaan false. Tällöin on käytettävissä myös poikkeusten käsittely -luokka RecordStoreNotFoundExeption (Kontio 2002: 143). Tietovarasto suljetaan metodilla closerecordstore(). Tätä metodia käytettäessä on huomattava, että sitä on kutsuttava yhtä monta kertaa kuin metodia jolla tietovarasto avattiin. Muutoin tietovarasto jää avoimeksi (Mahmoud 2000). RecordStore rs = RecordStore.openRecordStore("nimi", false); byte[] tietue; //tallennettava tieto tavukoodeina int recordid; try { //tallennetaan tietue tietovarastoon recordid = rs.addrecord(tietue, 0, tietue.length); //haetaan tietue esille tietovarastosta tietue = rs.getrecord(recordid); //muutetaan tietuetta //kirjoitetaan tietue takaisin tietovarastoon rs.setrecord(recordid, tietue, 0, tietue.length), } catch (Exception e) { //käsitellään mahdolliset poikkeukset } Kuvio 7 Tietueiden käsittely RMS-tietovarastossa Tietuejoukon käsittelyä varten määritellään RecordStore-luokassa neljä perusmetodia: addrecord(), getrecord(), setrecord() ja deleterecord(). Tallentaminen suoritetaan koko tietue kerrallaan tavukoodina addrecord()-metodilla. Metodi palauttaa luodun tietueen tunnisteen. Tieto haetaan esille tallennusjärjestelmästä getrecord()-metodilla, jolle välitetään parametrina halutun tietueen tunniste. Metodilla setrecord() voidaan korvata jo olemassa oleva tietue uudella. (Kontio 2002: 137.) RMS-tallennusjärjestelmässä ei ole mahdollista muuttaa vain tietueen tiettyä osaa (Mahmoud 2000). Tietuetta muutetaan lukemalla ensin koko tietue tietovarastosta, jonka jälkeen tehdään muutokset ja lopuksi tietue kirjoitetaan tallennusjärjestelmään vanhan tietueen päälle setrecord()-

18 18 metodilla kuvan (Kuvio 7) mukaisesti MIDP -käyttöliittymäluokat MIDP-sovellusten käyttöliittymävaatimukset poikkeavat pöytätietokoneista, koska matkapuhelimilla ei ole vastaavia syöttölaitteita ja niiden näyttöjen koko on pienempi. MIDP ei käytä AWT:tä (Abstract Windowing Toolkit) graafisten käyttöliittymien luonnissa, koska se on liian raskas. Lisäksi AWT on suunniteltu käytettäväksi osoitinlaitteen kanssa ja sellainen on vain harvoilla MIDP-päätelaitteilla (Kontio 2002: 47). MIDP:n mukana tulee oma grafiikkarajapinta, joka on jaettu korkean tason (high-level) ja matalan tason (low-level) rajapintoihin. Korkean tason rajapinta on suunniteltu liike-elämän sovelluksia varten, joiden asiakasohjelmia ajetaan MID (Mobile Information Device) -laitteissa. Sovelluksen logiikka, tietokannat ja palvelut sijaitsevat palvelimilla ja MIDP-laitteella on vain kevyt asiakas-sovellus (Kontio 2002: 47). Näissä sovelluksissa tärkeintä on siirrettävyys. Korkean tason komponenttien ulkonäkö on kiinteä, eikä ohjelmoija voi siihen vaikuttaa. Ohjelmalla ei myöskään ole tarkkaa tietämystä laitteen hallinta- tai syöttölaitteista. Korkean tason käyttöliittymä-komponentteja toteuttavat luokat periytyvät luokasta javax.microedition.lcdui.screen. Matalan tason (low-level) grafiikkarajapinta on tarkoitettu sovelluksille, joissa tarvitaan graafisten elementtien tarkkaa sijoittelua ja ohjausta näytöllä. Pelit ovat tyypillisiä sovelluksia, jotka käyttävät matalan tason käyttöliittymäkomponentteja (Riggs, Taivalsaari ja VandenBrink 2001). Pienen näytön koon vuoksi puhelinlaitteilta puuttuvat myös pöytäkoneille ominaiset ikkunointijärjestelmät. MIDP-profiilin käyttöliittymärajapinnan keskeisin luokka on Screen, joka kapseloi 1 ja järjestää graafiset komponentit, sekä kohdistaa käyttäjän syötteet laitteiston avulla. Screen-luokan ilmentymästä käytetään nimitystä näkymä. MIDP-sovellus voi koostua useista näkymistä, mutta vain yksi näkymä voi olla kerrallaan aktiivisena päätelaitteen näytöllä. Näkymät tulisi toteuttaa siten, että näkymä on mahdollisimman yksinkertainen ja sisältää graafisia komponentteja vain sen verran kuin tehtävän suorittaminen vaatii (Mahmoud 2001). MIDP-käyttöliittymä API määrittelee neljä erilaista näkymätyyppiä: tekstiruutu-, lista, -viesti- ja valikkonäkymät. Nämä luokat totutetaan kuvan (Kuvio 8) mukaisesti Screen-luokasta perityistä luokissa: TextBox, List, Alert ja Form. 1 Oliotekniikan tukema tietojen määrittelytapa, jossa osaa tiedoista pääsee käyttämään vain olioiden avulla.

19 19 Kuvio 8 MIDP käyttöliittymäluokat (Kontio 2002: 58) 3 MIDlet 3.1 MIDletin elinkaari ja metodit MIDlet on Java-kielellä tehty MIDP-sovellus. MIDlet suoritetaan Javavirtuaalikoneen alaisuudessa päätelaitteella. Kannettavilla päätelaitteilla ei ole komentokuorta, jolla käyttäjä voi ohjata ohjelman suoritusta kuten pöytätietokoneissa. MIDlet-sovellusten ohjaus tapahtuu päätelaitteelle sijoitetun AMS (Application Management Software) -ohjelmiston avulla. Se ohjaa koko MIDletin elinkaaren toiminnot. AMS toimii samalla tasolla kuin laitteen muutkin varusohjelmistot ja se tekee yhteistyötä Java-virtuaalikoneen kanssa. (Kontio 2002: 157.) Kaikki MIDletit periytyvät kantaluokasta MIDlet, joka sijaitsee javax.microedition.midlet-paketissa. MIDlettien kantaluokka määrittelee kolme metodia, joiden avulla toteutetaan MIDletin elinkaaren aikaiset tilasiirtymiset. Nämä metodit ovat: startapp(), pauseapp() ja destroyapp(boolean), jotka täytyy ylikirjoittaa jokaisessa MIDletissä (Kontio 2002: 48). MIDlet voi itse pyytää tilasiirtymistä seuraavien metodien avulla: resumerequest(), notifypaused() tai notifydestroyed(). Kuvassa (Kuvio 9) näkyvät MIDletin mahdolliset tilat ja tilasiirtymiset.

20 20 Constructor Paused ResumeRequest() startapp() pauseapp() notifypaused() Active DestroyApp() notifydestroyed() DestroyApp() Destroyed Kuvio 9 MIDletin tilat ja sallitut tilasiirtymiset (Kontio 2002: 48) 3.2 MIDletin luominen MIDletin luominen sisältää viisi vaihetta (Kontio 2002: 51): MIDletin ohjelmakoodin kirjoitus, kääntäminen, esitarkistus, pakkaus JAR- ja JAD-tiedostoiksi. Tutkintotyössä käytetty Nokian Developers Suite antaa ohjelmointia varten kuvan (Kuvio10) mukaisen MIDlet rungon. Jokaisen MIDletin täytyy periytyä MIDlet luokasta. Valmiiseen runkoon on lisätty myös javax.microedition.lcdui-paketti, joka sisältää MIDP:n käyttämät käyttöliittymäluokat (Kontio 2002: 50). Kuvan (Kuvio 10) esimerkin SpaceBall-luokka toteuttaa CommandListener-rajapinnan, joka seuraa korkean tason käyttöliittymäluokkien tapahtumia. CommandListener rajapinta määrittää vain commandaction(command, Displayable) metodin (Kontio 2002: 50).

Java-API, rajapinnat, poikkeukset, UML,...

Java-API, rajapinnat, poikkeukset, UML,... Java-API, rajapinnat, r poikkeukset, UML,... Janne Käki 12.10.2006 Keskeisimmät Java-API:n pakkaukset API = Application Programming Interface eli sovellusohjelmointirajapinta (!) pakkaus (engl. package)

Lisätiedot

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

TEKNIIKAN JA LIIKENTEEN TOIMIALA. Tietotekniikka. Ohjelmistotekniikka INSINÖÖRITYÖ

TEKNIIKAN JA LIIKENTEEN TOIMIALA. Tietotekniikka. Ohjelmistotekniikka INSINÖÖRITYÖ TEKNIIKAN JA LIIKENTEEN TOIMIALA Tietotekniikka Ohjelmistotekniikka INSINÖÖRITYÖ SOVELLUSKEHYS VETOBOX-SOVELLUSPALVELIMEN MOBIILEILLE KÄYTTÖLIITTYMÄSOVELLUKSILLE Työn tekijä: Marko Heiskanen Työn valvoja:

Lisätiedot

Pieniä sovelluksia pienissä laitteissa. J2ME-SOVELLUKSET Motorola V66i Motorola T720 Nokia 3410 Nokia 6310i Nokia 7650 Siemens M50

Pieniä sovelluksia pienissä laitteissa. J2ME-SOVELLUKSET Motorola V66i Motorola T720 Nokia 3410 Nokia 6310i Nokia 7650 Siemens M50 MPC-TESTI MOBIILILAITTEET TEKSTI JA TESTIT: JULIAN IIZUKA VALOKUVAT JA KUVANKÄSITTELY: MATTI SULANTO J2ME-SOVELLUKSET Motorola V66i Motorola T720 Nokia 3410 Nokia 6310i Nokia 7650 Siemens M50 Pieniä sovelluksia

Lisätiedot

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002 JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä

Lisätiedot

Mobiilin MIDP-sovelluksen toteutus ja suorituskyky XML-pohjaisilla yhteyskäytännöillä

Mobiilin MIDP-sovelluksen toteutus ja suorituskyky XML-pohjaisilla yhteyskäytännöillä Mobiilin MIDP-sovelluksen toteutus ja suorituskyky XML-pohjaisilla yhteyskäytännöillä Heikki Holopainen 6.5.05 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma TIIVISTELMÄ Ohjelmistojen kehitys

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi

Lisätiedot

BaseMidlet. KÄYTTÖOHJE v. 1.00

BaseMidlet. KÄYTTÖOHJE v. 1.00 KÄYTTÖOHJE v. 1.00 KUVAUS BaseMidlet on matkapuhelimessa toimiva sovellus jolla voi etäkäyttää Tiimi 7000 sarjan säätimiä. Copyright Team-Control Oy, oikeudet muutoksiin pidätetään. TiiMi on Team-Control

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245 Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

Karttaselain Paikannin J2ME

Karttaselain Paikannin J2ME Karttaselain Paikannin J2ME Käyttöohje Päivitetty 8.9.2014 Sisältö Tervetuloa...3 Tuetut laitteet...3 Sovelluksen lataaminen...3 Päänäyttö...4 Sovelluksen valikko...5 Laitetunniste (IMEI-koodi)...5 Sovelluksen

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut

Lisätiedot

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

4. 10.2010 ACCELBIT KARTTASELAIN TRACKER. Karttaselaimen Tracker- sovelluksen käyttöohje versio 1.0 AccelBit Oy

4. 10.2010 ACCELBIT KARTTASELAIN TRACKER. Karttaselaimen Tracker- sovelluksen käyttöohje versio 1.0 AccelBit Oy 4. 10.2010 ACCELBIT OY KARTTASELAIN TRACKER Karttaselaimen Tracker- sovelluksen käyttöohje versio 1.0 AccelBit Oy Sisältö Laitteistovaatimukset...3 Yleisesittely...3 Versiohistoria...3 Karttaselain Tracker

Lisätiedot

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö 0349955 Pekka Hyvärinen 0342194 Joonas Heikelä 0327708 Miro Temonen 0350122 Sami Tuominen Yleistä Seminaarityö osa kurssia Käyttöjärjestelmät

Lisätiedot

FOTONETTI BOOK CREATOR

FOTONETTI BOOK CREATOR F O T O N E T T I O Y FOTONETTI BOOK CREATOR 6 2012 Kemintie 6 95420 Tornio puhelin: 050-555 6500 pro/kirja: 050-555 6580 www.fotonetti.fi Ohjelman asentaminen 1 Hae ohjelma koneellesi osoitteesta http://www.fotonetti.fi/kuvakirjatilaa

Lisätiedot

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen Projektityö: Mobiiliajopäiväkirja Mikko Suomalainen 1. Määritelmä Mobiiliajopäiväkirja on kännyköille suunnattu ajopäiväkirja-sovellus. Sovelluksen pääperiaate on toimia automaattisena ajopäiväkirjana.

Lisätiedot

Enemmän voitonriemua. Vähemmän tylsiä hetkiä. Pelien ja sovellusten jakaminen Sonera Viihde -palvelussa

Enemmän voitonriemua. Vähemmän tylsiä hetkiä. Pelien ja sovellusten jakaminen Sonera Viihde -palvelussa Enemmän voitonriemua. Vähemmän tylsiä hetkiä. Pelien ja sovellusten jakaminen Sonera Viihde -palvelussa Sisällysluettelo 1. Game & Application Sharing -toiminto (pelien ja sovellusten jakaminen)... 3 2.

Lisätiedot

Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja.

Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja. RUUTU DYNAAMINEN SPOTTI TEKNISET OHJEET Versio 1.0 Yleistä Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja. Dynaamiset spotit ovat flash mainoksia, jotka mahdollistavat

Lisätiedot

PIKAOPAS NOKIA PC SUITE 4.3. Nokia 8310 -puhelimelle. Copyright Nokia Mobile Phones 2001. Kaikki oikeudet pidätetään Issue 6

PIKAOPAS NOKIA PC SUITE 4.3. Nokia 8310 -puhelimelle. Copyright Nokia Mobile Phones 2001. Kaikki oikeudet pidätetään Issue 6 PIKAOPAS NOKIA PC SUITE 4.3 Nokia 8310 -puhelimelle Copyright Nokia Mobile Phones 2001. Kaikki oikeudet pidätetään Issue 6 Sisällysluettelo 1. JOHDANTO...1 2. JÄRJESTELMÄVAATIMUKSET...1 3. PC SUITE -OHJELMISTON

Lisätiedot

Viva-16. Käyttöohje. 1.4.2009 Veikko Nokkala Suomen Videovalvonta.com

Viva-16. Käyttöohje. 1.4.2009 Veikko Nokkala Suomen Videovalvonta.com Viva-16 Käyttöohje 1.4.2009 Veikko Nokkala Sisällysluettelo Sisällysluettelo... 2 Ohjelmisto käyttöliittymä... 3 Asentaminen... 3 Käyttöönotto... 3 Katselu... 6 Tallennus... 8 Toistaminen... 9 Selain käyttöliittymä...

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1 Oliot ja luokat Javaohjelmoinnissa Vesa Laakso 22.9.2012 Sisällysluettelo Sisällysluettelo... 1 Johdanto... 2 1. Luokka... 2 2. Olio... 2 3. Luokan

Lisätiedot

Java ja grafiikka. Ville Sundberg 12.12.2007

Java ja grafiikka. Ville Sundberg 12.12.2007 Java ja grafiikka Ville Sundberg 12.12.2007 What happen Viritetty JPanel Graphics ja Graphics2D ImageIO ja BufferedImage Animaatio ja ajastus Optimoinnista Kehykset import javax.swing.jframe; public class

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

PIKAOPAS NOKIA PC SUITE 4.88. Copyright Nokia Oyj 2003. Kaikki oikeudet pidätetään

PIKAOPAS NOKIA PC SUITE 4.88. Copyright Nokia Oyj 2003. Kaikki oikeudet pidätetään PIKAOPAS NOKIA PC SUITE 4.88 Copyright Nokia Oyj 2003. Kaikki oikeudet pidätetään Sisällysluettelo 1. JOHDANTO...1 2. JÄRJESTELMÄVAATIMUKSET...1 3. PC SUITE -OHJELMISTON ASENTAMINEN...2 4. KÄYTÖN ALOITTAMINEN...3

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Harjoitustyö (TKO_2023)

Harjoitustyö (TKO_2023) Harjoitustyö (TKO_2023) Jyri Lehtonen (72039) (alkuperäinen 29.1.2008) päivitetty: 8.2.2008 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee Java-appletti, joka kysyy käyttäjältä asioita Java-kielestä.

Lisätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

PIKAOPAS. Nokia Connectivity Cable Drivers -ohjainten asentaminen

PIKAOPAS. Nokia Connectivity Cable Drivers -ohjainten asentaminen PIKAOPAS Nokia Connectivity Cable Drivers -ohjainten asentaminen Sisällysluettelo 1. Johdanto...1 2. Mitä tarvitaan...1 3. Nokia Connectivity Cable Drivers -ohjainten asentaminen...2 3.1 Ennen asennusta...2

Lisätiedot

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin Zyxel Prestige 645 ISP Zyxel Prestige 645 WEB Zyxel Prestige 645R Zyxel Prestige 645 Ennen aloitusta tarkista,

Lisätiedot

DNA MOBIILI TV - YLEISET KÄYTTÖOHJEET

DNA MOBIILI TV - YLEISET KÄYTTÖOHJEET DNA MOBIILI TV - YLEISET KÄYTTÖOHJEET Mobiili-tv-palvelua käytetään puhelimen mobiili-tv-sovelluksella. Tässä dokumentissa kuvatut toiminnallisuudet ovat esimerkkejä tiettyjen puhelinmallien toiminnallisuuksista.

Lisätiedot

HAKUKONEMARKKINOINTI KOTISIVUJEN PÄIVITYSOHJE

HAKUKONEMARKKINOINTI KOTISIVUJEN PÄIVITYSOHJE KOTISIVUJEN PÄIVITYSOHJE 1 SISÄLLYSLUETTELO KIRJAUDU PALVELUUN...3 KÄVIJÄSEURANTA...4 SIVUJEN PÄIVITYS...5 Sisältö...6 Sisältö / Työkalut...8 Sisältö / Taulukko...9 Sisältö / Kuvien tuominen...10 Sisältö

Lisätiedot

Eye Pal Solo. Käyttöohje

Eye Pal Solo. Käyttöohje Eye Pal Solo Käyttöohje 1 Eye Pal Solon käyttöönotto Eye Pal Solon pakkauksessa tulee kolme osaa: 1. Peruslaite, joka toimii varsinaisena lukijana ja jonka etureunassa on laitteen ohjainpainikkeet. 2.

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Otus- projektinhallintatyökalu Käyttöohje Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Mari Tampere 9. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja,

Lisätiedot

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne Kotisivuohjeet Tässä ohjeessa käydään läpi kotisivujen tekemisen perusteet keskittyen html-koodiin ja sen ominaisuuksiin. Sivupohjissa ulkoasu ja rakenne on pääasiassa jaettu erilliseen css-tyylitiedostoon,

Lisätiedot

Visma Approval Center. Versiosaate 1.3

Visma Approval Center. Versiosaate 1.3 Visma Approval Center Versiosaate 1.3 Visma Approval Center - Versiosaate 1.3 Kaikkia koskettavat kehitykset Muutokset käyttöliittymän välilehdissä Tarkastajat ja hyväksyjät näkevät ylävalikon jatkossa

Lisätiedot

SYMBIANIN SERIES 60 JA PUHELIMEN PERUSTOIMINNOT

SYMBIANIN SERIES 60 JA PUHELIMEN PERUSTOIMINNOT T-121.200 KÄYTTÖLIITTYMÄPSYKOLOGIA SYMBIANIN SERIES 60 JA PUHELIMEN PERUSTOIMINNOT Kirsi Männistö kmannist@cc.hut.fi T-121.200 Käyttöliittymäpsykologia 1 (7) Kirsi Männistö Sisällysluettelo 1 JOHDANTO...

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

Lisätiedot

WEIKKA. Asennus opas. Hannu-Matti Lemettinen HML Productions 2009-2011

WEIKKA. Asennus opas. Hannu-Matti Lemettinen HML Productions 2009-2011 WEIKKA Asennus opas Hannu-Matti Lemettinen WEIKKA OHJELMAN ASENNUS Weikka ohjelman asennuksessa tarvitaan kaksi tiedostoa. Setup.exe sekä Weikka.msi tiedostot. Asennus käynnistetään suorittamalla (kaksoisnapsautus)

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,

Lisätiedot

TiiMiMobile. KÄYTTÖOHJE v. 1.01

TiiMiMobile. KÄYTTÖOHJE v. 1.01 KÄYTTÖOHJE v. 1.01 KUVAUS TiiMiMobile on matkapuhelimessa toimiva Java -sovellus, jolla voi luoda etäyhteyden TiiMi-sarjan säätimeen. Yhteyden luonti voi tapahtua joko suoraan säätimeen tai palvelimen

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

Sport In The Box Käyttöohje

Sport In The Box Käyttöohje Sport In The Box Käyttöohje Esivalmistelut: Kytke käytössä oleva pelikello/konsoli kiinni USBkaapelilla tietokoneeseen ennen virran kytkemistä pelikelloon/konsoliin. Odota että laite on asennettu käyttövalmiiksi,

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

ZENworks Application Virtualization 11

ZENworks Application Virtualization 11 ZENworks Application Virtualization 11 ZENworks / perinteinen asennus ZENworks virtualisointi Ei erillistä asennusta Ei vaadita erilisiä oikeuksia Oletusasetukset mukana Eri versiot samanaikaisesti Sama

Lisätiedot

Kontrollilaitteet. Arsenaali

Kontrollilaitteet. Arsenaali Arsenaali Kontrollilaitteet Tietokonepeleissä käytettäviä kontrollilaitteita on valtava määrä Kaikilla alustoilla, joilla pelejä pelataan on jokin vakio kontrolleri PC: Hiiri ja näppäimistö Konsolit: Controller

Lisätiedot

Useimmin kysytyt kysymykset

Useimmin kysytyt kysymykset Useimmin kysytyt kysymykset Versio 1.1 1 1. Mikä mobiilikortti on? Mobiilikortti on matkapuhelimessa toimiva sovellus ja www.mobiilikortti.com osoitteessa oleva palvelu. Sovelluksen avulla voit siirtää

Lisätiedot

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat Microsoft Office 2010 löytyy tietokoneen käynnistävalikosta aivan kuin kaikki muutkin tietokoneelle asennetut ohjelmat. Microsoft kansion sisältä löytyy toimisto-ohjelmistopakettiin kuuluvat eri ohjelmat,

Lisätiedot

Käyttöopas. Confienta Piccolo

Käyttöopas. Confienta Piccolo Käyttöopas Confienta Piccolo Sisällysluettelo 1. Confienta Piccolo... 3 1.1. Piccolon painikkeet... 4 1.2. Piccolon käyttöönotto... 6 2. Karttasovellus... 7 2.1. Sovellukseen kirjautuminen... 7 2.2. Karttanäkymä...

Lisätiedot

UML Luokkakaavio 14:41

UML Luokkakaavio 14:41 UML Luokkakaavio UML Olio-ohjelman luokkien pääpiirteet voidaan kätevähkösti esittää ns. UML-luokkakaaviona. Näin usein tehdäänkin esim. suunniteltaessa, millaisia luokkia ohjelmaan on tarkoitus laatia,

Lisätiedot

TermBase NET versio 1.0.1. (Beta)

TermBase NET versio 1.0.1. (Beta) TermBase NET versio 1.0.1. (Beta) Sulautettu sanasto- ja termikanta OHJEET TÄRKEÄÄ: Copyright M. Tuittu, 2005 Kaikki oikeudet pidätetään. TermBase NET on toteutettu java -tekniikalla. Java and all Java-based

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Kun olet valmis tekemään tilauksen, rekisteröidy sovellukseen seuraavasti:

Kun olet valmis tekemään tilauksen, rekisteröidy sovellukseen seuraavasti: HENKILÖKORTTIEN SUUNNITTELUSOVELLUS SOVELLUKSEN KÄYTTÖOHJE Voit kokeilla korttien suunnittelemista valmiiden korttipohjien avulla ilman rekisteröitymistä. Rekisteröityminen vaaditaan vasta, kun olet valmis

Lisätiedot

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

Sähköposti ja uutisryhmät 4.5.2005

Sähköposti ja uutisryhmät 4.5.2005 Outlook Express Käyttöliittymä Outlook Express on windows käyttöön tarkoitettu sähköpostin ja uutisryhmien luku- ja kirjoitussovellus. Se käynnistyy joko omasta kuvakkeestaan työpöydältä tai Internet Explorer

Lisätiedot

ALCOVISOR. Käyttöohjeet FIN

ALCOVISOR. Käyttöohjeet FIN ALCOVISOR Alkometri Käyttöohjeet FIN BAC 200 Alcovisor BAC 200 on luotettava ja huipputarkka todistuskelpoisen mittaustuloksen antava alkometri ammatti ja viranomaiskäyttöön. BAC 200 on täysin automaattinen.

Lisätiedot

Ohjeistus Auditorion laitteiden käyttämiseksi.

Ohjeistus Auditorion laitteiden käyttämiseksi. Ohjeistus Auditorion laitteiden käyttämiseksi. Jatkuu seuraavalla sivulla Huomioi ensimmäiseksi nämä asiat: Kuvassa näkyvissä liitinlaatikoissa tulisi olla kaikki johdot paikallaan. Mikäli jokin kuvassa

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Muutamia peruskäsitteitä

Muutamia peruskäsitteitä Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin. TIETOKANTA MERIKOTKIEN SEURANTAAN Käyttöohje Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 1.0 11.12.2007 Ensimmäinen luonnos Janne Piippo 2.0 13.12.2007 Virallinen verio Janne Piippo HELSINGIN YLIOPISTO

Lisätiedot

Motorola Phone Tools. Pikaopas

Motorola Phone Tools. Pikaopas Motorola Phone Tools Pikaopas Sisältö Vähimmäisvaatimukset... 2 Ennen asennusta Motorola Phone Tools... 3 Asentaminen Motorola Phone Tools... 4 Matkapuhelimen asennus ja määritys... 5 Online-rekisteröinti...

Lisätiedot

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi 4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

Lisätiedot

Nero 7:n Windows Vista TM -tuki

Nero 7:n Windows Vista TM -tuki Nero 7:n Windows Vista TM -tuki Nero AG Sivu 1 Tietoja tekijänoikeudesta ja tavaramerkistä Tämä opaskirjanen ja sen sisältö on Nero AG:n omaisuutta ja suojattu tekijänoikeudella. Kaikki oikeudet pidätetään.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Konsolin näytössä näkyy käytettäessä ohjaavia viestejä, joita kannattaa tämän ohjeen lisäksi seurata.

Konsolin näytössä näkyy käytettäessä ohjaavia viestejä, joita kannattaa tämän ohjeen lisäksi seurata. 1 Tulostaulun käyttöohje 1. Yleistä Konsolin näytössä näkyy käytettäessä ohjaavia viestejä, joita kannattaa tämän ohjeen lisäksi seurata. Näytön alapuolella olevilla A, B, C jne. painikkeilla voi valita

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

OHJELMISTOKEHITYS -suuntautumisvaihtoehto OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä

Lisätiedot

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

Selvitysraportti. MySQL serverin asennus Windows ympäristöön Selvitysraportti MySQL serverin asennus Windows ympäristöön IIO30200 / Jouni Huotari Arto Sorsa / F3900 CREATIVE COMMONS LISENSOITU http://creativecommons.org/licenses/by-nc-sa/1.0/fi/ 26.4.2010 1 SISÄLTÖ

Lisätiedot

Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla

Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla Avaa Paint.NET tuplaklikkaamalla sen pikakuvaketta. Paint.NET avautuu tämän näköisenä. Edessä on tyhjä paperi. Saadaksesi auki kuvan, jota aiot pienentää

Lisätiedot

Office 2013 - ohjelmiston asennusohje

Office 2013 - ohjelmiston asennusohje Office 2013 - ohjelmiston asennusohje Tämän ohjeen kuvakaappaukset on otettu asentaessa ohjelmistoa Windows 7 käyttöjärjestelmää käyttävään koneeseen. Näkymät voivat hieman poiketa, jos sinulla on Windows

Lisätiedot

Samsung Galaxy Tab tietokoneen käyttöohje

Samsung Galaxy Tab tietokoneen käyttöohje Tervetuloa käyttämään Samsungin Galaxy Tab tietokonetta Laitteen keskeinen ominaisuus on 7 tuuman kosketusnäyttö, jonka alapuolella ole neljä (4) taustavalaistua ohjausnäppäintä, ja yläpuolella 1.3 pixelin

Lisätiedot

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013 Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi

Lisätiedot

Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla

Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla 02/2016, ed. 5 KÄYTTÖOHJE Gree Smart -sovelluksen (WiFi) asennus- ja käyttöohje: Hansol-sarjan ilmalämpöpumput WiFi-ominaisuuksilla Maahantuoja: Tiilenlyöjänkuja 9 A 01720 Vantaa www.scanvarm.fi Kiitos

Lisätiedot