J2ME MIDLET PELISOVELLUKSEN SUUNNITTELU JA TOTEUTUS NOKIAN 7210 PUHELIMEEN
|
|
- Ari-Pekka Elstelä
- 8 vuotta sitten
- Katselukertoja:
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, 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ätiedotJAVA 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ätiedotJAVA-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ätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotTekninen 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ätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
LisätiedotOhjelmointitaito (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ätiedotJReleaser 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ätiedotBaseMidlet. 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ätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:
LisätiedotMobiilin 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ätiedotTaulukot. 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ätiedotTietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla
Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään
LisätiedotTEKNIIKAN 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ätiedotPieniä 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ätiedotTekninen 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ätiedotRinnakkaisohjelmointi 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ätiedotKarttaselain 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ätiedotFOTONETTI 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ätiedot2. 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ätiedotSisä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ätiedotOpintojakso 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ätiedot17. Javan omat luokat 17.1
17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotKieliversiointityö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ätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely Poikkeukset Poikkeuksella tarkoitetaan yllättävää ajonaikaista tilannetta, joka
LisätiedotAndroid 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ätiedotMainosankkuri.fi-palvelun käyttöohjeita
Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...
Lisätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
LisätiedotOlion 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ätiedotPedacode 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ätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotMatopeli 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ätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.
LisätiedotVaatimusmää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ätiedotArkkitehtuurikuvaus. 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ätiedot17. Javan omat luokat 17.1
17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotPoikkeustenkäsittely
1 Poikkeustenkäsittely Mitä poikkeustenkäsittely tarkoittaa? Poikkeuksen käsitteleminen Poikkeusluokkien hierarkia Poikkeuksen heittäminen 1 Mitä poikkeustenkäsittely tarkoittaa? Poikkeus (Exception) on
LisätiedotAS-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ätiedot20. Javan omat luokat 20.1
20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotSisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang
Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)
Lisätiedot16. Javan omat luokat 16.1
16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat
LisätiedotPIKAOPAS 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ätiedotCODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0
CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved
LisätiedotIntegrointi. 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ätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
Lisätiedot12. Näppäimistöltä lukeminen 12.1
12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.
LisätiedotLinux 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ätiedotOhjelmoinnin 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ätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
Lisätiedot4. 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ätiedotJavan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
LisätiedotSelkosanakirja sdfghjklöäzxcvbnmqwertyuiopåasdfghjklöäzxcvbnmq. Tietokoneet. wertyuiopåasdfghjklöäzxcvbnmqwertyuiopåasdfghjk 1.4.
qwertyuiopåasdfghjklöäzxcvbnmqwertyuiopåasdfghj klöäzxcvbnmqwertyuiopåasdfghjklöäzxcvbnmqwerty uiopåasdfghjklöäzxcvbnmqwertyuiopåasdfghjklöäzxc vbnmqwertyuiopåasdfghjklöäzxcvbnmqwertyuiopåa Selkosanakirja
Lisätiedot13/20: Kierrätys kannattaa koodaamisessakin
Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy
LisätiedotOhjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri
Ohjelmistoarkkitehtuuri Verkotettu multimedia Käyttöliittymä Middleware Tietoliikenne 1 2 Multimedian vaikutukset Mediavirtojen puskurointi 3 4 Ohjelmointi Selain-ohjelmistoarkkitehtuuri 5 6 WWW-arkkitehtuuri
LisätiedotCT50A2601 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ätiedotPong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi
Muilla kielillä: English Suomi Pong-peli, vaihe 7 Tässä vaiheessa lisäämme peliin pistelaskun. Pong-pelissä pelaaja saa pisteen kun pallo ohittaa toisen pelaajan mailan. 1. Aliohjelmakutsu laskureita varten
LisätiedotKÄYTTÖLIITTYMÄT. Visuaalinen suunnittelu
KÄYTTÖLIITTYMÄT Visuaalinen suunnittelu MUISTETTAVA Yksinkertaisuus Selkeys Johdonmukaisuus Sommittelutyyli on säilytettävä samankaltaisen koko sivustossa Sivustolle yhtenäinen ulkoasu Miellyttävä ulkonäkö
LisätiedotPIKAOPAS 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ätiedotJypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia?
Muilla kielillä: English Suomi Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia? Kun kaksi fysiikkaoliota törmää toisiinsa, syntyy törmäystapahtuma. Nämä tapahtumat voidaan ottaa kiinni
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen
Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka
LisätiedotRajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.
11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
Lisätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotProjektityö: 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ätiedotOlio-ohjelmointi Virhetilanteiden käsittely
Olio-ohjelmointi 2016 Virhetilanteiden käsittely Poikkeustilanteet n Java-järjestelmässä voidaan ottaa kiinni ohjelman suoritusaikana tapahtuvia virhetilanteita, joita ei saada kiinni tavanomaisilla ohjausrakenteilla
LisätiedotUlkoiset mediakortit Käyttöopas
Ulkoiset mediakortit Käyttöopas Copyright 2010 Hewlett-Packard Development Company, L.P. Java on Sun Microsystems, Inc:n tavaramerkki Yhdysvalloissa. SD-logo on omistajansa tavaramerkki. Tuotetta koskeva
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Standardi- ja tietorakenneluokkia
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Standardi- ja tietorakenneluokkia Standardi- ja tietorakenneluokkia Javan API, ArrayList Ohjelmointirajapinta (Application Programming Interface, API)
Lisätiedotsivu 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ätiedotPong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana
Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä
LisätiedotViva-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ätiedotJypelin käyttöohjeet» Miten saan peliin pistelaskurin?
Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Pistelaskurin saamiseksi tarvitaan kaksi osaa: Laskuri, joka laskee pisteitä Olio, joka näyttää pisteet ruudulla Laskuri voi olla esimerkiksi tyyppiä
LisätiedotDNA 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ätiedotSisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen
Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät
LisätiedotOhjeistus 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ätiedot1 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ätiedotKäyttöohjeet. Sovellussivusto
Käyttöohjeet Sovellussivusto SISÄLLYSLUETTELO Tietoja oppaasta...2 Oppaassa käytetyt symbolit...2 Vastuuvapauslauseke...3 Huomautuksia...3 Mitä sovellussivustolla voi tehdä... 4 Ennen sovellussivuston
Lisätiedot.NET ajoympäristö. Juha Järvensivu 2007
.NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET
LisätiedotJypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
LisätiedotBlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä
Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin
LisätiedotHarjoitus 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ätiedotTavallisen 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ätiedotOhjelmisto 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ätiedot1. Taustatietoa näppäimistönkuuntelusta
Muilla kielillä: English Suomi Pong-peli, vaihe 5 Tämä on Pong-pelin tutoriaalin osa 5/7. Tämän vaiheen aikana Lisäämme peliin näppäimet Laitetaan mailat liikkumaan pelaajien ohjaamina Näin ohjelmaamme
LisätiedotSYMBIANIN 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ätiedotEye 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ätiedotScratch ohjeita. Perusteet
Perusteet Scratch ohjeita Scratch on graafinen ohjelmointiympäristö koodauksen opetteluun. Se soveltuu hyvin alakouluista yläkouluunkin asti, sillä Scratchin käyttömahdollisuudet ovat monipuoliset. Scratch
Lisätiedot812341A Olio-ohjelmointi Peruskäsitteet jatkoa
812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää
LisätiedotOHJE Jos Kelaimeen kirjautuminen ei onnistu Mac-koneella Sisällys
Sisällys 1 Varmista, että DigiSign-kortinlukijaohjelmisto on käynnissä 2 1.1 DigiSign-kuvake 2 1.2 Sovelluksen käynnistäminen 2 1.3 Kortin toiminnan varmistaminen 4 2 Jos käytät selaimena Mozilla, Firefox
LisätiedotOlio-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ätiedot4.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ätiedotAction Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
LisätiedotDart. Ryhmä 38. Ville Tahvanainen. Juha Häkli
Dart Ryhmä 38 Ville Tahvanainen Juha Häkli 1.LYHYESTI Dart on luokkapohjainen, yksiperintäinen, puhdas olio-ohjelmointikieli. Dart on dynaamisesti tyypitetty. Sovellukset on organisoitu modulaarisiksi
LisätiedotSamsung 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ätiedotMetodit. 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ätiedotUseimmin 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