Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Samankaltaiset tiedostot
PLA Mobiiliohjelmointi. Mika Saari

PLA Mobiiliohjelmointi. Mika Saari

Android-sovelluksena toteutettu Anatomian tietopeli

Älypuhelimet. Sisällysluettelo

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Android ohjelmointi Tunti 2. Käyttöliittymät ja resurssit

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

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

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

Tekninen suunnitelma - StatbeatMOBILE

CUDA. Moniydinohjelmointi Mikko Honkonen

Office ohjelmiston asennusohje

Hannu Kyllönen HATTRICK-PELIN ASIAKASOHJELMAN EDELLEENKEHITTÄ- MINEN

Qt kaikkialla?

Maiju Mykkänen Susanna Sällinen

CTRL+F Android-sovellus

Karttaselain Paikannin J2ME

Webinaarin osallistujan ohje

Mobiilipalvelut kirjastoissa Juha Hälinen verkkopalvelusuunnittelija

Android jatkaa kasvua

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Tech Conference Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI

MARA-ALAN LIIKETOIMINNAN TIETOTURVALLISUUSUHAT

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

Visma Liikkuvan työn ratkaisut

Miikka Nordlund OSTOSLISTA ANDROID-SOVELLUKSEN KEHITTÄMINEN

E-AINEISTOJEN ESILLEPANO KIRJASTOSSA Asiakastablettien tekninen ratkaisu

Pilvi mitä, miksi ja miten

Tuunix Oy Jukka Hautakorpi

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

Tekninen suunnitelma - StatbeatMOBILE

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

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

PLAY. TP1 Mobiili musiikkikasvatusteknologia MEDIAT Kuvan ja äänen tallentaminen, muokkaaminen ja jakaminen (v1.1)

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Sense tiedostot Käyttöohje Opastinsilta 8 ae Helsinki

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Sanna Pensonen, suunnittelija. Saamelaisalueen koulutuskeskus Virtuaalikoulu

Hallintatyökaluja Fujitsu-työasemille

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

Simulaattorin asennus- ja käyttöohje

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

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Ohjelmointi 1 / syksy /20: IDE

Contact Mobile Poca käyttöohje Android puhelimeen

P e d a c o d e ohjelmointikoulutus verkossa

TermBase NET versio (Beta)

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Android-pohjaisen lintukirjasovelluksen suunnittelu

PARKKIPAIKKASOVELLUS ANDROID- KÄYTTÖJÄRJESTELMÄLLE

VMwaren keskitetty työasemaratkaisu

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri

Yhdistä kodinkoneesi tulevaisuuteen. Pikaopas

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / Ohjelmistotekniikka. Niina Puhakka TIETOKANTASOVELLUKSEN KEHITTÄMINEN ANDROIDILLE

ADOBE AIR FOR ANDROID SOVELLUSKEHITYS

mobile PhoneTools Käyttöopas

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Ensimmäisessä vaiheessa ladataan KGU tietokanta Hallitse tietokantoja toiminnon avulla.

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

.NET ajoympäristö. Juha Järvensivu 2007

Matti Rantapero PELIN KEHITYS ANDROID-ALUSTALLE

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

13/20: Kierrätys kannattaa koodaamisessakin

Valppaan asennus- ja käyttöohje

PLAY. TP1 Musiikkikasvatusteknologia Notaatio 2 ja yhteistoiminnallinen nuotinkirjoitus Jarmo Kivelä, projektikoordinaattori

Työpöytävirtualisointi

Yhdistä kodinkoneesi tulevaisuuteen. Pikaopas

Motorola Phone Tools. Pikaopas

LOPPURAPORTTI. Yhteyshenkilön nimi: Pekka Koponen Yhteystiedot (puhelinnumero ja sähköposti): ,

Maventa Connector Käyttöohje

Puuhailua Android-sovellus

Nero 7:n Windows Vista TM -tuki

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2013

KÄYTTÖLIITTYMÄ- SUUNNITTELU ANDROID- SOVELLUKSEEN

NÄIN OTAT F-SECURE SAFEN KÄYTTÖÖN

Järjestelmäarkkitehtuuri (TK081702)

TYÖNTEKIJÄN OHJEET EAZYBREAK-MOBIILISOVELLUKSET

ArcGIS. mobiililaitteille

Eclipse 3.2 pikku opas versio 1.0. Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä

AVerClassSendApp. Release department: EDU PMK AVer Information Inc

Dart. Ryhmä 38. Ville Tahvanainen. Juha Häkli

KYMENLAAKSON AMMATTIKORKEAKOULU. Ubuntu. Yukun Zhou

Tieto Edun käyttöönotto

Tietoja RICOH Smart Device Connectorin käyttäjille: Laitteen määritys

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Eclipse 3.1 Pikaopas versio 1.0

Pika-aloitusopas. Haku Voit etsiä sivustoja, henkilöitä tai tiedostoja. Sivuston tai uutisviestin luominen

Ohjelmistojen mallintaminen. Luento 11, 7.12.

UCOT-Sovellusprojekti. Asennusohje

Heikki Hautala Androidin fragmentaatio ongelmia ja ratkaisuja

Yhdistä liesituulettimesi tulevaisuuteen. Asennusohje

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Senioriliiton oma jäsenkorttiapplikaatio! Tehty

Transkriptio:

Android ohjelmointi Mobiiliohjelmointi 2-3T5245

Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille Puhelimille uusin versio Gingerbread (v.2.3.5) ja taulutietokoneille Honeycomb (v 3.2) Alun perin tarkoitettu puhelimiin Google osti Android Inc.:n vuonna 2005 joka kehitteli käyttöjärjestelmää Sovellusohjelmointi Javalla Myös C ohjelmointi mahdollista, mutta vain osittain Räätälöity Java virtuaalikone Dalvik Virtuaalikone poistaa tarpeen muokata sovellusta eri laitteille sopiviksi

Miksi Java? Automaattinen muistinhallinta Ei muistivarauksia Automaattinen garbage collection tuhoaa käyttämättömät oliot Ei muistivuotoja Virtuaalikone mahdollistaa saman sovelluksen ajamisen eri laitteilla Tosin API tasot rajoittavat sovelluksen eteenpäin yhteensopivuutta eri Android versioiden välillä Uudella API tasolla saattaa olla uudempia ominaisuuksia joita aiemmat tasot eivät sisällä Sovelluskehittäminen helpottuu huomattavasti Ilmaisia Java kehitysympäristöjä saatavilla Esim. Netbeans, Eclipse, IntelliJ (Community Edition)

Android versiot Alustaversio Koodinimi API - taso Android (3.0.x, 3.1.x, 3.2) Honeycomb 11-13 Android 2.3-2.3.x Gingerbread 9-10 Android 2.2 Froyo 8 Android 2.0.x 2.1.x Eclair 7-5 Android 1.6 Donut 4 Android 1.5 Cupcake 3 Android 1.0-1.1 Base 1-2 API taso tarkoittaa julkaisun tukemia uusia paketteja kuten esim. API 9 tason, eli Gingerbreadin jälkeen Android on tukenut NFC:tä (Near Field Communication), mutta aiemmat API tasot ei tätä tue

Android SDK vs muut SDK Natiivi ohjelmointikieli Hinta Android Java (ja C) Ilmainen ios Objective-C 99$/vuosi (Apple Dev jäsenyys) Symbian C/C++ Ilmainen Windows Mobile/Phone C/C++/C# SDK ilmainen, mutta vaatii Visual Studion

Android arkkitehtuuri Sovellus Ohjelmistokehys Kirjastot Android Runtime Linux Kernel

Sovellus Taso jolla kaikki sovellukset ajetaan Vakiona Androidissa tulee mukana muun muassa seuraavat sovellukset: Sähköposti Tekstiviesti Kalenteri Web-selain

Ohjelmistokehys Tarjoaa rajapinnan sovelluskehittäjille Sisältää muun muassa Activity -managerin Ikkunamanagerin Paikannusmanagerin Puhelinmanagerin Kehyksen tarjoaman rajapinnan kautta kehittäjällä on mahdollisuus esimerkiksi käsitellä tilapalkkia ja lukea GPS paikannustietoihin jne.

Kirjastot C/C++ -kirjastot Perus järjestelmä C-kirjasto (libc) säädetty sulautetuille järjestelmille Mediakirjasto PacketVideon OpenCOREen pohjautuva kirjasto videoille, audiolle ja kuville SQLite Kompakti tietokanta LibWebCore Web-selainmoottori Sisältää Android selaimen ja sovellukseen liitettävän web-näkymän FreeType Tekstin mallinnus SGL 2D grafiikkamoottori 3D kirjastot OpenGL ES:ään (OpenGL:n sulautetuille järjestelmille implementoitu versio) perustuva kirjasto 3D grafiikan renderöimiseen joko raudalla tai softalla

Android runtime Sisältää Dalvik virtuaalikoneen Jokaiselle sovellukselle käynnistetään oma Dalvik instanssi Java ydinkirjasto joka sisältää kaikki Javan tärkeimmät kirjastot

Linux kernel Räätälöity Android ja sulautettuja järjestelmiä varten Käyttää Linux kernelin versiota 2.6 Sisältää: Ajurit (ääni, verkko, kamera, näppäimistö, näyttö jne.) Virranhallinnat Käyttäjäoikeudet Tietoturva Muistinhallinta Prosessihallinta Verkkopino

Sovelluskehitysympäristö Android SDK Asennettavissa mm. Eclipse IntelliJ NetBeans Virtuaalikone/emulaattori AVD (Android Virtual Device) Mahdollista tehdä useita eri Android versioilla Debugaus Adb (Android Debug Bridge) komentorivityökalu DDMS ja ADT työkaluja jotka hyödyntävät adb:tä DDMS (Dalvik Debug Monitor Server) ADT (Android Debug Tool)

Sovelluksen komponentit Activity Yksi sovelluksen käyttäjälle näkyvästä näkymistä Sovelluksessa voi olla useita aktiviteetteja Service Taustapalvelu jolla ei ole käyttöliittymää Esimerkiksi tiedonhaku, musiikintoisto tai paikannus Content Provider Sisällön tarjoaja esimerkiksi hakee, muokkaa tai tallettaa tietoja SQLite tietokannasta sovellukselle Broadcast Receiver Lähetyksen vastaanotin reagoi järjestelmälaajuisiin lähetyksiin, esim. tekstiviestin saapumiseen, alhaiseen akkuvaroitukseen

Sovelluksen perusrakenne Projektikansiot Src lähdekoodi Gen automaattisesti generoidut javatiedostot (R.java) Android x.x Android jar javakirjastopaketti Assets resurssikansio jossa voi säilyttää tiedostoja (haetaan AssetManager luokalla) Res resurssikansio sisältää esim. ikonit, ulkoasun määrittelevät layout xml tiedostot ja string muuttujien arvoja sisältävät xml tiedostot AndroidManifest.xml