Mobiilijärjestelmien ohjelmointi

Samankaltaiset tiedostot
Valppaan asennus- ja käyttöohje

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

TEHTÄVÄ 5: Microsoft Virtual PC asennus ja hallinta

Mobiilijärjestelmien ohjelmointi

5. HelloWorld-ohjelma 5.1

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB

BL40A1810 Mikroprosessorit, harjoitus 1

Jypelin käyttöohjeet» Ruutukentän luominen

1. NetBeans-ohjelman asennus ja käyttöönotto pva

S11-09 Control System for an. Autonomous Household Robot Platform

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

Kieliversiointityökalu Java-ohjelmistoon. Ohje

TTY TKT-1110 Mikroprosessorit TKT. HEW-ohjeet ver 1.0

PLA Mobiiliohjelmointi. Mika Saari

PLA Mobiiliohjelmointi. Mika Saari

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Web Services tietokantaohjelmoinnin perusteet

5. HelloWorld-ohjelma 5.1

Näin asennat MS-DOS käyttöjärjestelmän virtuaalikoneeseen

T&M Autori Versio Series 60 -puhelimiin

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

KYMENLAAKSON AMMATTIKORKEAKOULU

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Videon tallentaminen Virtual Mapista

VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Pedacode Pikaopas. Web-sovelluksen luominen

erasmartcardkortinlukijaohjelmiston

8. Näppäimistöltä lukeminen 8.1

OCAD KOULUTUS ALITTELIJOILLE OCAD PERUSTEET

Eclipse 3.1 Pikaopas versio 1.0

Henkilö- ja koulutusrekisterin asennusohje

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Visual C++ -ohjelman tekeminen ja suunnittelu

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

T harjoitustehtävät, syksy 2011

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Ohjelmoinnin perusteet Y Python

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Versiohallinta ja Subversion Maunu Tuomainen

P e d a c o d e ohjelmointikoulutus verkossa

OpenOffice toimisto-ohjelma

8. Näppäimistöltä lukeminen 8.1

Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript)

Varmuuskopiointi ja palauttaminen Käyttöopas

SYMBIANIN SERIES 60 JA PUHELIMEN PERUSTOIMINNOT

YH1b: Office365 II, verkko-opiskelu

Visma Avendon asennusohje

Ohjelmoinnin jatkokurssi, kurssikoe

Googlen palvelut synkronoinnin apuna. Kampin palvelukeskus Jukka Hanhinen, Urho Karjalainen, Rene Tigerstedt, Pirjo Salo

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

DXL Library ja DXL-kielen olemus. Pekka Mäkinen SoftQA Oy http/

58160 Ohjelmoinnin harjoitustyö

Qt kaikkialla?

Coolselector Asennusohje

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

UCOT-Sovellusprojekti. Asennusohje

Simulaattorin asennus- ja käyttöohje

Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia

Pakkauksen kokoaminen

QR-koodit INNOSTAVAA HAUSKAA PALJON KÄYTTÖTAPJA HELPPOA ILMAISTA MOTIVOIVAA

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

L models. Käyttöohje. Ryhmä Rajoitteiset

Julkaiseminen verkossa

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

Kuvan ottaminen ja siirtäminen

Kerro kuvin: InPrint 2.8 asennus Asennus järjestelmänvalvojan oikeuksin

YH2: Office365 II, verkko-opiskelu

Hellä ensikosketus. Tomi Kiviniemi

Climecon MagiCADliitosohjelma

Yksittäisasennus eli perusasennus

Asteri Ostoreskontra (Dos)

NetBeans asennus ja etäkäyttö C-kielen opiskeluun, Windows

Mathcad Flexnet lisenssipalvelimen asennus

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.

Luku 7 Uusien Mallien Tiedostot

Hakemistojen sisällöt säilötään linkitetyille listalle.

4. Luokan testaus ja käyttö olion kautta 4.1

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

1. ASIAKKAAN OHJEET Varauksen tekeminen Käyttäjätunnuksen luominen Varauksen peruminen... 4

Luento 4. Timo Savola. 21. huhtikuuta 2006

F-Secure KEY salasanojenhallintaohjelman käyttöönotto PC -laitteella

ROUTE 66 Navigaattoreiden yleisimmät ongelmat ja usein kysytyt kysymykset ( )

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen

Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon

VHOPE-sovelluksen ja VHOPE-kirjastotiedostojen asentaminen

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan


Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.

Office ohjelmiston asennusohje

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

Transkriptio:

Mobiilijärjestelmien ohjelmointi 11.03.2004 Sasu Tarkoma sasu.tarkoma@cs.helsinki.fi Sisällys Johdanto Tarvittavat ohjelmat Harjoitustyön esittely Vaatimukset Demo Arvostelu Esimerkkisovellus Visual Studio Debuggaus Laitteeseen siirto Yleistä Huomioita Työ tehdään Microsoft Visual Studio 6.0:lla sekä Nokia Series 60 SDK 1.2:lla Muita tarvittavia ohjelmia: ActivePerl 5.8 JRE 1.3.1 (AIFBuilder ja Sisar) Asennusohjeet on verkossa Harjoitustyön voi tehdä myös Borland C++ Mobile Editionilla, jonka saa Nokia Forumista Turvautuu vähemmän komentoriviin Ohjelmat on asennettu mikroluokkaan D325 Marjaniemi-koneet (12 konetta) Ohjeet ja nämä kalvot tulevat kotisivulle Symbian päivystys torstaisin 10-12 A217 Koneille ei saa jättää lähdekoodeja muiden luettavaksi Kannattaa pitää projektihakemistoa fs:llä kotihakemistossa ja siirtää tarvittaessa koneelle Visual Studio tallettaa käännetyt tiedostot eri paikkaan ja niitä ei tarvitse erikseen poistella ellette halua Käyttäkää ryhmänne numeroa projektin nimessä niin ei tule konflikteja.. Dokumentaatio Ympäristön asennus Series 60 SDK dokumentaatio API-dokumentaatio \Symbian\6.1\Series60\Series60Doc Getting started Symbian Developer Library Forum Nokia Ennen Visual Studion ja Nokian SDK:n käyttöä muistakaa ajaa vcvars32.bat C:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat Tämä skripti alustaa tarvittavat ympäristömuuttujat 1

Hakemistorakenne Hakemistorakenne II \epoc32\data\ - sisältää epoc.ini ja asetuksia \epoc32\release\ - julkaistava materiaali \epoc32\release\wins\ - emulaattori \epoc32\release\wins\udeb debug build emulaattorille \epoc32\release\wins\udeb\z\ - Symbian z: drive sisältää kaikki paitsi jaetut DLL:t, jotka ovat \system\libs \epoc32\wins\c\ - datatiedostot mutta ei ajettavaa koodia, emulaattorissa tallennetut tiedostot tulevat tänne Symbian tiedostojärjestelmä: c: RAM disk, full read/write file system..\epoc32\wins\c (emuloitu c:) z: ROM disk, read-only file system...\release\wins\udeb\z (emuloitu z:) Udeb = unicode debug hakemisto ohjelmille, urel = unicode release hakemisto ohjelmille Wins = Windows emulator, armi = ARM build \epoc32\ - sets apart all shared tools \epoc32\gcc\bin sisältää GNU compilerin \epoc32\tools - Työkaluja \System\ systeemitiedostot Emulaattorissa näkyvät (z: drive) \system\apps - applikaatiot \system\apps\appname\appname.app Prosessi Harjoitustyö Harjoitustyö Muistipeli Harjoitustyön aiheena on toteuttaa muistipelin logiikkakomponentti (engine) Symbian OS C++ - sovellukseen. Opiskelijat saavat valmiin käyttöliittymäkomponentin (.app -tiedosto, graafinen sovellus) lähdekoodeineen, johon tulee toteuttaa annetun rajapinnan mukainen logiikkakomponentti, engine (.dll -tiedosto). Muistipeliä pelataan yksin, tavoitteena löytää kaikki parit mahdollisimman nopeasti ja ilman virheitä. Nämä ohjeet löytyvät myös verkosta: http://www.tol.oulu.fi/~antti/mobo/index.html 2

Säännöt Säännöt II Muistipelin säännöt ovat tutut. Pelilaudalla on parillinen määrä peitettyjä symboleita. Pelaaja paljastaa aina kaksi pelimerkkiä kerrallaan. Jos merkit ovat samat, ne saa jättää näkyville. Jos merkit ovat erit, molemmat merkit peitetään, ja käyttäjä jatkaa parien etsintää. Kun kaikki parit on löydetty, peli päättyy. Symboleiden lukumääräksi rajataan tässä harjoitustyössä 30 kappaleeseen (15 paria), eli peliruudukon kooksi tulee 6 x 5 (valmiina annettu koodi piirtää kuusi ruutua per rivi). Rajaus on tehty Series 60 -puhelimen näytön koko huomioonottaen. Optionaalisena laajennuksena voi tehdä pelin jonka symbolien lukumäärä on järkevissä rajoissa (näytön koko) muuttuva. Pelin pisteytys Jokainen peli pisteytetään. Mitä nopeammin peli ratkaistaan ja mitä vähemmän virheellisiä pareja pelaaja kääntää, sitä paremman pistemäärän pelaaja saa. Matalampi pistemäärä on siis parempi. Pistemäärän laskenta tapahtuu siten, että jokaisesta pelatusta sekunnista saa pisteen, ja jokaisesta väärin käännetystä parista saa viisi pistettä. Pelin tallennus Pelisovellus tallentaa sekä pelitilanteen että kymmenen parasta pelitulosta. Jokaisesta pelistä joka mahtuu kymmenen parhaan joukkoon, tallennetaan pelaajan nimi, pelin päivämäärä sekä pistemäärä. Peliohjelmassa voi tarkastella kymmentä parasta pelitulosta paremmuusjärjestyksessä. Pelaajan nimi kysytään käyttäjältä vain jos pelaajan tulos pääsee kymmenen parhaan listalle. Peliä on pystyttävä jatkamaan edellisestä pelitilanteesta, vaikka ohjelma olisi lopetettu.. 3

Ohjelman demo Käynnistä Engine I Engine II Logiikkakomponentin eli enginen vastuulla on pelisääntöjen toteutus, pelin tilan hallinta ja tietojen tallentaminen tiedostoon ja lukeminen tiedostosta engine pitää yllä tilatietoa käännetyistä pareista ja vielä kääntämättömistä pareista engine huolehtii siitä, että käyttäjä voi kääntää aina vain 1 tai 2 pelimerkkiä kerrallaan kun 1. merkki käännetään, on käännettävä joku toinen merkki. 1. merkkiä ei saa kääntää piiloon sen esiin kääntämisen jälkeen. jos yritetään kääntää jo käännettyä merkkiä, ei tehdä mitään. engine huolehtii siitä, että jos pelaaja kääntää samanlaiset parit, ne merkitään pysyvästi käännetyksi engine huolehtii siitä, että erilaisten merkkien kääntämisen jälkeen ne käännetään takaisin piiloon engine huolehtii siitä että jo löydettyjä pareja ei voi kääntää (takaisin piiloon) ilmoittaa käyttöliittymälle annetun ohjelmointirajapinnan kautta parien löytymisestä ja toisaalta siitä että pareja ei löydetty Engine III Vaatimuksia huolehtia pistelaskun oikeellisuudesta. engine huolehtii siitä, peliä ei voi jatkaa sen päättymisen jälkeen. pelitilanteen tallentamisesta ja muistiin lataamisesta, käyttäen hyväksi Symbianin tiedostojärjestelmän ohjelmointirajapintoja. Pelitilanteesta tallennetaan nykyinen pelilaudan tilanne, nykyinen pelin pistemäärä ja kesto, sekä kymmenen parasta (tai vähemmän, jos kymmentä ei vielä ole) pelitulosta Peliohjelma ei saa vuotaa muistia tai muita järjestelmän resursseja, ei edes virhetilanteissa (kun tapahtuu poikkeus, ns leave). Sovelluksen tiedosto, jonne pelitilanne tallennetaan, ei sekään saa korruptoitua jos tiedostoa kirjoitettaessa tapahtuu poikkeus. Tiedosto (virhetilannetta edeltävä sisältö) on voitava lukea muistiin, vaikka viimeksi tehty kirjoitus epäonnistuisi. 4

Optionaaliset ominaisuudet Mitä annetaan Pelitilanne keskeytetään kun peliohjelma lopetetaan tai peliohjelma siirtyy taustalle, ts. ei ole enää aktiivinen sovellus. Kun sovellus ei ole aktiivinen, peliaikaa ei lasketa. Pelilaudan koko voidaan määrätä pelikohtaisesti. Erilaiset pelilaudan koot olisi syytä ottaa huomioon myös pistelaskennassa... Oma käyttöliittymä tai annetun käyttöliittymän parantaminen esimerkiksi grafiikkaominaisuuksia parantamalla Valmis käyttöliittymän referenssitoteutus lähdekoodina. Logiikkapuolen rajapintaluokka ja muita aputiedostoja. Harjoitustyössä tätä rajapintaa ei saa muuttaa tai laajentaa millään tavalla. Logiikkaosa on toteutettava omaksi DLL:ksi, johon sovellus (käyttöliittymä) linkitetään. Sovellusosa on kytköksissä logiikkaosaan ainoastaan annetun rajapinnan kautta. Toimivan ohjelman binäärit, jolloin malliratkaisun toiminnallisuuteen voi tutustua sekä emulaattorissa että oikealla Series 60 -laitteella. virtual ~MMoboMemGameEngine () virtual void StartGameL (TInt apaircount)=0 virtual void OpenSymbolL (TInt asymbolindex)=0 virtual void SetObserver (MMoboMemGameEngineObserver *aobserver)=0 virtual TTimeIntervalSeconds PlayTime () const=0 virtual TTimeIntervalSeconds PenaltyTime () const=0 virtual void SaveGameStateL ()=0 virtual void RestoreGameStateL ()=0 virtual TInt NumberOfPairs () const=0 virtual TBool IsSymbolShown (TInt asymbolindex) const=0 engineä virtual TInt SymbolID (TInt asymbolindex) const=0 virtual void HideRevealedSymbolsIfTwo ()=0 virtual MDesCArray * HallOfFameDesCArrayLC (.)=0 virtual void ClearListL ()=0 Luokat ja rajapinnat CHelloWorldPlusApplication CHelloWorldPlusAppView Sisältää CMoboViewRendererin ja käyttää CHelloWorldPlusDocument Omistaa Enginen (create/destroy) Tämä tulee CMoboViewRenderer toteuttaa Piirtää pelilaudan MMoboMemGameEngine Enginen rajapinta Luokat ja rajapinnat MMoboMemGameEngineObserver Observer-rajapinta jolla engine tiedottaa käyttöliittymäkomponentteja pelin tapahtumista Start/end game Query name Invalid pair / Symbol pair was found CHelloWorldPLusAppUi Toteuttaa Observerin ja saa tapahtumia engineltä Sisältää näkymän ja käyttää engineä MoboMemEngineFactory EXPORT_C MMoboMemGameEngine Factory * MoboMemEngineFactory::CreateEngineL jolla luodaan sopiva engine ( ) [static] Tämä metodi tulee toteuttaa Ohjelman vaiheet I Ohjelmat vaiheet II Engine luodaan sovelluksen document - objektissa Sovelluksen Ui -objekti asettaa itsensä enginen tarkkailijaksi omassa konstruktiovaiheessaan StartGameL:ää kutsutaan Ui -objektista käsin kun käyttäjä haluaa aloittaa uuden pelin (valikosta) engine kutsuu tarkkailijan GameStartedNotifyL -funktiota Käyttöliittymän päivityksen yhteydessä kutsutaan enginen funktioita NumberOfPairs, IsSymbolShown, SymbolID Tämän jälkeen kutsutaan toistuvasti OpenSymbolL -funktiota, kun näppäimistötapahtumia käsitellään (sovelluksen View -objekti) availlen symboleita ja toivottavasti löytäen niitä etsittäviä pareja. Engine kutsuu tarkkailijan function PairsFoundNotifyL, InvalidPairsOpenedNotifyL ja GameEndedNotifyL, sekä mahdollisesti function GetPlayerNameL. tässä yhteydessä UI kutsuu myös enginen funktiota HideRevealedSymbolsIfTwo, jotta engine piilottaisi sellaiset juuri paljastetut kaksi symbolia, jotka eivät ole pareja 5

Huomioita Päivämäärät Annettuun lähdekoodiin ei saa tehdä harjoitustyötä toteutettaessa muutoksia lukuunottamatta MoboMemEngineFactory -luokkaa. Tähän luokkaan lisätään oman engine - objektin luominen. Tätä lisäystä lukuun ottamatta, työskentelet ainoastaan engine -projektin parissa 1-vaiheen palautus : palauta suunnitelma ja osatoteutus assistentille viikolla 14. 2-vaiheen palautus : palauta lopullinen ohjelma assistentille viikolla 17(deadline 23.4 klo 16.00) Vaihe 1: Suunnitelma Vaihe 2: lopullinen ohjelma Ensimmäisessä vaiheessa palautetaan suunnitelma, josta selviävät ohjelman logiikka, luokat ja käytettävät toteutusratkaisut. Suunnitelma on muodoltaan vapaa, mutta esimerkiksi luokkakaavion ja sekvenssikaavion käyttöä suositellaan. Suunnitelma esitellään harjoituksissa assistentille. Myös toteutuksen on oltava vauhdissa, ja enginen tulee toteuttaa joitakin sille asetettuja vaatimuksia, jotka esitetään assistentille. Vaiheessa 2 palautetaan lopullinen kaikki vaatimukset täyttävä ohjelma. Ohjelma dokumentaatioineen toimitetaan zipattuna harjoitustyön tarkastajalle. Toimituksessa on ajettavan ohjelman lisäksi myös lähdekoodi ja mahdolliset muut kääntämisen kannalta tarpeelliset tiedostot. Lisäksi tulee toimittaa käännös, asennus ja ajo ohjeet readme.txt -tiedostossa, mukaanlukien ryhmän jäsenten henkilötiedot. Ohjelma on voitava kääntää komentorivikomennoilla bldmake bldfiles ja abld build wins udeb, jonka jälkeen ohjelman testaaminen emulaattoriympäristössä on oltava mahdollista. Arvostelu Esimerkkisovellus Harjoitustyöstä ei jaeta pisteitä, vaan se arvostellaan asteikolla hyväksytty/hylätty. Hyväksyminen edellyttää, että kaikki vaiheet on suoritettu hyväksytysti. Kurssin suoritus edellyttää hyväksytysti suoritettua harjoitustyötä. 6

Esimerkkisovellus Käännösympäristö 1. Asenna kysymys/vastaus-ohjelma hakemistoon (c:\qanda) 2. Hakemistorakenne 3. Tiedostot group\qanda.mmp group\qaeng.mmp group\bld.inf group\qanda.rss inc\qanda.hrh inc\qanda.pan src\*.cpp engine\qaeng.cpp sis\qanda.pkg 1. Luo abld.bat-tiedosto group-hakemistoon ajamalla siellä komento: bldmake bldfiles 2. Luo Visual Studion projekti komennoilla: abld build wins abld build vc6 3. Projektille luotu hakemisto: \Symbian\6.1\Series60\Epoc32\BUIL D\QANDA Kääntäminen Visual Studiossa Ajaminen emulaattorissa 1. Avaa projekti. Projekti sijaitsee hakemistossa: \Symbian\6.1\Series60\Epoc32\BUIL D\QANDA\GROUP\QANDA\ 2. Käännetty ja linkattu ohjelma asennettiin: \Symbian\6.1\Series60\Epoc32\Rele ase\wins\udeb\z\system\apps\qanda 3. Kopioi vielä qfile.txt ja afile.txt asennushakemistoon. Käynnistä sovellus Visual Studiosta ja anna emulaattori suoritettavaksi ohjelmaksi. Emulaattori löytyy seuraavasta hakemistosta: \Symbian\6.1\Series60\Epoc32\Rele ase\wins\udeb\epoc.exe Debuggaus Debug tulostus Avainten käyttö (projekti): ctrl+alt+shift+a (paljonko ohjelmasäie on varannut muistia keosta) ctrl+alt+shift+b (montako tiedostokahvaa sovelluksella on auki) ctrl+alt+shift+p (aseta systemaattisia tai randomaattisia muistin varauksien ja/tai tiedoston avauksien epäonnistumisia) Tulostus Visual Studion Debugkonsoliin Käytetään kysymys-vastaus-ohjelmaa. Lisää seuraava rivi HandleCommandL-funktion loppuun CQAApUi-luokan toteutuksessa: RDebug::Print(_L("Käyttäjä valitsi komennon %i"), acommand); Aja ohjelma debug-tilassa (F5). Käyttäjän valitsemaa komentoa vastaava numero tulostetaan Visual Studion Debug-konsoliin. 7

Debug breakpoint Uuden sovelluksen luominen Breakpointin käyttö Visual Studiossa Kuten normaalisti Visual Studiossa kanssa Insert/Remove breakpoint Go/Step into/run to cursor Application Wizard -työkalulla pystyy luomaan minimaalisen Symbiansovelluksen Visual Studion kautta, jota pystyy sitten kehittämään eteenpäin. Application Wizardin asennus: Kopioi AvkonAppWiz.awx and AvkonAppWiz.hlp tiedostot \Program Files\Microsoft Visual Studio\Common\MsDev98\Template - hakemistoon Tämä ei toistaiseksi toimi mikroluokassa Uuden projektin luominen Asentaminen puhelimeen 1.Käynnistä Visual Studio 2. Valitse File->New Projects: Series 60 AppWizard Location: Esim. c:\mobo\ Project name: HelloWorld 3. Sovelluksen asetukset Application title: HelloWorld 4. Tiedostot 5. Rakenna ohjelma/aja ohjelma Tämän voi tehdä esimerkiksi Bluetooth yhteyden tai infrapunan yli. Tässä käytetty Bluetooth-yhteyttä. Joudut todennäköisesti muokkaamaan qanda.pkg-tiedoston hakemistopolkuja ennen makesis-komennon ajamista. Käännä kysymys-vastaus-ohjelma laitteelle group-hakemistossa: abld build armi urel Asentaminen II Asentaminen III Näytä mihin hakemistoon käännös sijoitettiin: \Symbian\6.1\Series60\Epoc32\R elease\armi\urel Luo sis-paketti makesis-ohjelmalla sishakemistossa. Joudut todennäköisesti muokkaamaan qanda.pkg-tiedoston (lähde)hakemistopolkuja ennen makesiskomennon ajamista: makesis qanda.pkg Luo Bluetooth-yhteys kännykkään PC:ltä Käynnistä "PC Suite for Nokia 1234" - ohjelma Asenna sovellus PC Suite -ohjelman Tools-valikosta löytyvän "Install device software"-toiminnon kautta Aja ohjelma puhelimessa 8