Android kehitysalustan asennus

Tässä tehtävässä aion asentaa phonegap rajapinnan toimimaan eclipsessä. Eclipse on ohjelmointia helpottava työkalu ja phonegapilla pystyt luomaan pelkällä html:llä ja javascriptillä mobiiliohjelmia. Asennuksessa seurasin Tero Karvisen laatimia ohjeita(Teron ohjeet).

Eclipsen asennus

Asennan eclipsen terminaalista komennolla:
$sudo apt-get update && sudo apt-get -y install ia32-libs eclipse

Latauksen jälkeen käynnistän eclipsen terminaalista komennolla $eclipse.
Eclipse kysyy paikkaa mihin tallennetaan projektien tiedostot, pidän sen oletuksena /home/iiro/workspace.

Android pluginin asennus
Klikkaan eclipsesta Help->Install New Software…
Work with kohtaan laitan:
https://dl-ssl.google.com/android/eclipse/ ja painan add nappulaa -> ok. Valitsen Developer Toolsin -> next -> next. Hyväksyn lisenssin ja klikkaan finish. Eclipseen latautuu ja asentuu tiedostot. Xubuntu huomauttaa, että tiedostoja asentuu epävarmoista lähteistä. Minua ei kiinnosta, klikkaan ok. Tämän jälkeen Eclipse pitää käynnistää uudelleen -> Restart Now.
Eclipse kysyy, saako Google tietoja SDK:n käytöstä, klikkaan valinnan pois.
Seuraavaksi minulla ei löytynyt android SDK:ta tai en ainakaan löytänyt sitä, joten latasin sen osoitteesta http://developer.android.com/sdk/index.html sivun alalaidasta (SSDK Tools Only android-sdk_r22.0.5-linux.tgz).

Latauksen jälkeen purin tiedoston workspace kansiooni. Valitsin android sdk:n sijainnin nyt samaksi mihin olin purkanut paketin. Eclipse valitteli puuttuvista palasista kuten platform toolsin puuttumisesta ja kehotti käyttämään SDK manageria -> Open SDK manager. SDK managerista valitsen tarvitsemani, hyväksyn lisenssit ja lopputulos näyttää tältä:

android2

Suljin ikkunan, valitsin install android 2.2, sillä toimii suurimmassa osassa androideja. Google halusi taas urkkia tietojani, valitsit NO ja sitten finish! Andoird lisenssi piti hyväksyä.

Android Hei maailma!

Asennuksen jälkeen loin uuden android projektin File->New->Android Application Project. Aplikaatiolle piti täyttää tiedot kuten nimi ->next next… Blank Activity. Sitten piti vielä päivittää support libary Install/Upgrade->… Finish.

Seuraavaksi avautui perusnäkymä android sovellukselle. Menin sivuvalikosta src->com.example..->MainActivity.java.
Kuten luokkaympäristössä kokeillessani koodi ei suostunut toimimaan. Ratkaisu löyty asentamattomasta sdk toolsista. Terminaalista:
$ ./android-sdks/tools/android
SDK managerin käynnistyessä valitse Android SDK Build-tools ja klikkaa install package (hyväksy lisenssit).
Asennuksen jälkeen käynnistän Eclipsen uudelleen. Koodi näyttää punaista, mutta päivityksen jälkeen kaikki näyttää toimivan (päivitän nappulalla F5).

Käynnistys Emulaattorissa

MainActivity ollessa aktiivisena ikkunassa klikkaan Run -> Android Application. Valitsen Launch New Android Virtual Device -> Manager -> New ja valitsen emuloitavan puhelimen / tabletin Start->Launch. Käynnistämisessä kestää muutama minuutti, jonka jälkeen aloitusruut pompsahtaa emulaattoriin.

android3

PhoneGapin asennus

Seurasin tässä asennuksessa PhoneGap Apin virallisia ohjeita: Gettings Started with Android sekä Teron ohjeita.

Aloitetaan Terminaalista:
$ mkdir iirocordova
$cd iirocordova
$ mkdir assets/www/
$ mkdir libs

$ wget https://github.com/phonegap/phonegap/zipball/2.1.0
$ unzip 2.1.0
$ rm 2.1.0
$ cp -i phonegap*/lib/android/cordova*.jar libs/
$ cp -i phonegap*/lib/android/cordova*.js assets/www/
$ cp -ri phonegap*/lib/android/xml/ res/
$ rm -r phonegap-phonegap*/

Seuraavaksi teen uuden projektin (new project-> Android Application Project). Valitsen projektin workspaceksi juuri luomani kansion eli iirocordova. Klikkaan vasemmasta reunasta oikealla hiirellä libs -> build path -> cofigure build path. Jos cordova jar ei näy build pathina lisään sen painikkeesta add. Sitten päivitän projektin (F5).
Seuraavaksi muokataan javakoodia, joka löytyy projektin alta src… MainActicity.java. Muokkaan koodia niin, että se näyttää tältä:

Kuva suoraan phonegapin omilta sivuilta

Seuraavaksi muokkaan oikeuksiani ja teen itsestäni puhelimen ylijumalan. Klikkaan oikealla AndroidManifest.xml:lää ja avaan sen tekstieditorilla (open with-> text editor)
Xml pitäisi lopuksi näyttää tältä:

Nämä oikeudet on muistettava vaihtaa ennen sovelluksen julkaisua.

Luon tiedoston index.html assets/www kansioon ja laitan sisällöksi vanhan tutun hötömölö hei maailman.

Tämän jälkeen kaiken pitäisi toimia ja sovelluksen voi nyt ajaa Run As-> Android Application.
ERROR:
Itselläni Eclipse ei suostunut ajamaan koodia, sillä projektini sisälsi vielä virheitä. Näytti siltä, että koodi oli oikein, mutta jostain syystä res kansiossa oleva config.xml hälytti punaista. Virheessä luki: invalid resource directory name.

SOLUTION!
Xml tiedosto (config.xml) ei saanut velloa yksin res kansiossa, vaan se piti laittaa xml kansioon. Tein siis uuden kansion:
$mkdir xml
Kopioin config.xml tiedoston:
$cp config.xml xml
Poistin jääneen configin:
$rm config.xml

Päivitin Eclipsen (F5), ajoin ohjelman Run As-> Android Application. Olin valmiiksi valinnut emulaattorin ja halleluuja, suloisimmat sanat pompsahtivat pieneen android emulaattoriini!

androihelloworld

Lähteet:
Tero Karvisen asennusohjeet
PhoneGap Api Documentation
Foorumi mistä sain ratkaisun virheeseen

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html
Pohjana Tero Karvisen kurssi Mobiilituotekehitys, http://terokarvinen.com/2013/aikataulu-%E2%80%93-mobiilituotekehitys-bus4tn008-3-syksylla-2013

Mobiilituotekehitys

Seuraavaksi bloggaan mobiilituotekehitys-kurssin ihmeellisestä maailmasta. Luultavasti kaikki tulevat postaukset tulevat liittymään tähän kurssiin, eli etätehtäväpalautuksia ja muita kuulumisia tulossa! Mobiilituotekehityksessä aiomme kehittää oman android sovelluksen. Sovellus pystytään myös tekemään muille alustoille, mutta luultavasti aloitan androidista. Teemme sovelluksen Html:llä ja javascriptillä.