PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 [email protected]...

22
PLA-32820 Mobiiliohjelmointi Mika Saari [email protected] http://www.students.tut.fi/~saari5/PLA_32820_2015/

Transcript of PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 [email protected]...

Page 1: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

PLA-32820 Mobiiliohjelmointi

Mika [email protected]

http://www.students.tut.fi/~saari5/PLA_32820_2015/

Page 2: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

2

[email protected] 12.01.2015

1. Luento

• Suoritus vaatimukset• Kurssin sisältö• Kirjallisuus• Mobiiliohjelmointi• Mobiililaitteita...• Web-sivustoja, Lähteitä

Page 3: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

3

[email protected] 12.01.2015

Kurssin sisältö

1. Luento 13.1.2015 kello 8-11. Aihe: Johdantoa Mobiiliohjelmoinnin opiskeluun .

2. Luento 27.1.2015 kello 8-11. Aihe: Windows Phone ohjelmointia.

3. Luento 2.2.2015 kello 9-12. Aihe: Windows phone -ohjelmointia. Aiheet olioiden tallennus ja käyttö

4. Luento 10.2.2015 kello 8-11. Aihe: Windows phone -ohjelmointia.

5. Luento 17.2.2015 kello 8-11.Aiheet: Taskit ja chooserit

6. Luento 10.3.2015 kello 8-11. Aihe: kameran käyttö

7. Luento 17.3.2015 kello 8-11.Aihe: Android -ohjelmointia.

8. Luento 24.3.2015 kello 8-11. Aihe: Android -ohjelmointia. Aiheet: Android -ympäristö ja työvälineet.

9. Luento 31.3.2015 kello 8-11. Aihe: Android -ohjelmointia.

10. Luento 14.4.2015 kello 8-11. Aihe: Android -ohjelmointia. Android ja tietokanta

11. Luento 21.4.2015 kello 8-11. Aihe: Android -ohjelmointia

Muita aiheita: Azure pilvipalvelut.

Page 4: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

4

[email protected] 12.01.2015

Kurssin sisältö

Tavoitteita• Ohjelmointia Mobiililaitteisiin

• Tutustuminen• Koodaus• mahdollisuudet

• Työvälineet: niiden käyttö ja niillä ohjelmointi erilaisissa ympäristöissä.

• Mobiiliohjelmointia• Windows phone• Android• (Qt ja lisäpalikat)• (Qt for Maemo)• (MeeGo)• (Symbian)• (iPhone?)

Abstrakti luento• Luennoidaan teoriaa• Tutkitaan esimerkkiä• Koodataan esimerkin mukaan

tai jatkeeksi

Abstrakti harjoituskerta• Harjoitustehtävän esittely• Ratkaisutavasta keskustelu,

kysymykset• Itsenäinen toteutus• Palautus tai tuotoksen esittely

Page 5: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

5

[email protected] 12.01.2015

Kurssin suoritus

• Luennot 11 x 3h • Harjoitukset 11 x 2h • Laajuus 5 op. • Arvosana koostuu:

⁃Palautetuista harjoitustehtävistä (15p)

⁃ Lopuksi yksi pakollinen laajempi harjoitustehtävä, joka arvostellaan (15p).

Arvosana rajat:0-14 → 015-17 → 118-20 → 221-23 → 324-26 → 427-30 → 5

Page 6: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

6

[email protected] 12.01.2015

Harjoitukset

• Harjoitustehtävät ohjelmointitehtäviä.• Kurssin webbisivulta

http://www.students.tut.fi/~saari5/PLA_32820_2015/ löytyy tehtäväkuvaukset.

• Harjoitukset palautetaan harjoitusten vetäjälle (Tai osoitetaan muutoin tehdyiksi).

• Palautuspäivät tehtävänantojen yhteydessä• Tehtäviä on noin 20, joista voi saada 15 pistettä.• Harjoituksia voi tehdä harjoitustunneilla tai itsenäisesti.

(Ohjaus harjoitustuntien aikana, tai sovittuna aikana, Ei mielellään sähköpostilla)

Page 7: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

7

[email protected] 12.01.2015

Laajaharjoitustyö max. 15 pistettä.

• Laajan harjoitustyön tavoitteena suunnitella ja toteuttaa itsenäisesti sovellus mobiililaitteeseen ja saada se toimimaan mobiililaitteessa.(max. 10 pistettä)

• Ohjelmointi ympäristöt: Windows phone tai Android• Laajan harjoitustyön aihe ilmoitettava ja hyväksytettävä 1.3

mennessä.• Laajasta harjoitustyöstä tutoriaalin kaltainen ohjeistus

sovelluksen rakenteesta (max. 4 pistettä)• Jokainen esittelee lyhyesti(30min) oman aiheensa, (valmiin

sovelluksen?). Esittelyt viikoilla 16 ja 17.(1 piste)• Laajan harjoitustyön palautus 1.6 mennessä.• Laajan harjoitustyön max. 15 pistettä.

Page 8: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

8

[email protected] 12.01.2015

Esimerkkejä aikaisemmista:

• Kryptomemo -Android sovellus• GymLog -Android sovellus• PalloPeli -Android sovellus• Pakkoruotsi -Android sovellus• Kalastus -Windows phone

Page 9: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

9

[email protected] 12.01.2015

Mitä puhelimella voi tehdä?

• Peruskäyttäjä?•••••

• Koodari?••••

Page 10: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

10

[email protected] 12.01.2015

Mobiiliohjelmointi

Windows Phone 8C#

XAML.Net

Silverligth(VB, C++)

AndroidJava

Qt(Symbian / 

MeeGo)Qt C++

Qt QuickQML

IPhoneIOS 6

Nokia AshaJava MEWeb app

Page 11: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

11

[email protected] 12.01.2015

Mobiiliohjelmoinnin ansaintamallit(eli Miten kerään tolkuttoman määrän rahaa mobiiliohjelmoinnilla?)

• Kehitän KillerApp-sovelluksen ja alan myydä sitä markkinapaikalla

• Kehitän hyvän sovelluksen – jaan sovellusta ilmaiseksi mainoksilla – kerään mainostuloja

• Kehitän hyvän sovelluksen – jaan sovellusta ilmaiseksi – sovelluksen lisäominaisuuksia(kenttiä, hahmoja, jne..) voi ostaa sovelluksen sisällä.

• (Edellisten kombinaatiot)• Menen töihin ohjelmointifirmaan tekemään yrityssovelluksia

mobiiliympäristöön

Eriympäristöt toteuttavat nämä suunnilleen samalla tavalla.• Näitä käsitellään tarkemmin...

Page 12: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

12

[email protected] 12.01.2015

Kirjallisuus

● Kirjoja ohjelmointiin● http://library.books24x7.com

● Windows Phone ohjelmointi● http://create.msdn.com• http://msdn.microsoft.com

● Nokian laitteiden ohjelmointi● http://www.developer.nokia.com/

● Android ohjelmointi● http://developer.android.com/index.html

● Qt -ohjelmointi● http://developer.qt.nokia.com/

● IOS -ohjelmointi• https://developer.apple.com/technologies/tools/

● Foorumit kysymyksille:• http://stackoverflow.com/

Page 13: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

13

[email protected] 12.01.2015

Mobiiliohjelmointi - Yleisesti

• Laite• Ohjelmointikieli• Ohjelmointityökalut• Testausympäristö• Tietoturva / Julkaisu / Jakelu

Page 14: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

14

[email protected] 12.01.2015

Laite-esittelyä

Vanhimmasta nuorimpaan?- Muita: Communicator, N-Gage, 6600...MeeGo- N810- N95- 5800 ExpressMusic- N900- Samsung Google Nexus S- Lumia 800- Lenovo A1000- Lumia 1520- Lumia 520- Nexus 7- Nexus 9

Page 15: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

15

[email protected] 12.01.2015

Ohjelmointikieliä mobiiliympäristöön

• C# , C++ VisualBasic ja XAML (Windows phone 8 )• Qt C++, QML / Qt quick(Meego, Symbian)• Java (Android)• Symbian C++ (Versioita runsaasti)• Java ME (Aikaisemmin J2ME)• Objective-C, C, C++ tai JavaScript• HTML5• Muita?

Page 16: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

16

[email protected] 12.01.2015

Ohjelmointityökaluja mobiiliohjelmointiin

• Visual studio Express• Eclipse (lisäpaketeilla)• Qt Creator• Carbide C++• Blend• Xcode (Iphone)• Unity

Lisäksi tarvitaan aina sopiva SDK

Page 17: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

17

[email protected] 12.01.2015

SDK – Software Development Kit

• Erilaisia vaihtoehtoja

Page 18: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

18

[email protected] 12.01.2015

Testaus ympäristö

• Perus PC, jossa sopiva käyttöjärjestelmä(huom.versio)• Windows• Linux• iOS

• Emulaattori tai vastaava testiympäristö• Debuggaus• Toimintojen emulointi(Liikeanturin liikkeen emulointi, GPS -paikka...)

• Sovelluksen testaus / debuggaus laitteessa• Tukeeko ohjelmointiympäristö tätä?

• ...

Page 19: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

19

[email protected] 12.01.2015

Tietoturva / Julkaisu / Jakelu

• Sovelluksien asennusta laitteeseen on rajoitettu• Eri ympäristöt toimivat eritavalla

• Android helpoin?• Symbian haastavin?

• Sovelluskehittäjä saa kehittäjäoikeudet(Rahalla?)• Sovellukselle markkinapaikka:

• play.google.com/store/apps• www.windowsphone.com/fi-fi/store/featured-apps• http://www.amazon.com/mobile-apps/b?node=2350149011•

Page 20: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

20

[email protected] 12.01.2015

Virransäästö ja ohjelmointiLähde: 3T, NRO 13, 12.4.2013

Page 21: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

21

[email protected] 12.01.2015

Virransäästö ja ohjelmointiLähde: 3T, NRO 13, 12.4.2013

Page 22: PLA-32820 Mobiiliohjelmointisaari5/PLA_32820_2015/luennot/Luennot.pdf · 7 mika.saari@tut.fi 12.01.2015 Laajaharjoitustyö max. 15 pistettä. • Laajan harjoitustyön tavoitteena

22

[email protected] 12.01.2015

Yhteenveto

• Mobiiliohjelmointi on haastavaa• Ensiviikolla Windows Phone ympäristö ja sen ohjelmointi• Ensimmäinen harjoitustehtävä