S_1124_Flexcam Advertisement S_1124_Flexcam S_1124_Flexcam Advertisement

Vývoj aplikácií pre Android, 2. časť

Archív NXT
0

 

V úvodnej časti seriálu sme sa venovali inštalácii a konfigurácii vývojového prostredia aemulátorov. Pokračujeme vytvorením jednoduchej aplikácie, na ktorej budeme demonštrovať základné princípy vývoja. Zároveň po prvom spustení projektu budete mať istotu, že vývojové prostredie, SDK aj emulátory máte správne nakonfigurované. Námetom aplikácie bude výpočet indexu telesnej hmotnosti BMI na základe zadanej výšky a hmotnosti osoby podľa vzorca:

BMI = hmotnosť v kg / (výška v m)2

Vytvorenie projektu

Projekt vo vývojovom prostredí Eclipse s nainštalovaným a správne nakonfigurovaným Android SDK vytvoríte pomocou menu File -> New -> Android Application Project. Vprvom dialógu na vytvorenie projektu zadávate názov aplikácie, ktorý sa bude zobrazovať pri spúšťaní aplikácie, názov projektu anázov balíčka. Názov balíčka je zároveň menný priestor balíčka pre vašu aplikáciu. Ak plánujete aplikáciu publikovať na Google Play, nemôžete použiť implicitnú hodnotu "com.example", určenú na cvičné príklady.

 

 

Vytvorenie nového projektu zadanie názvu

Dôležitý je výber maximálnej aminimálnej verzie SDK, čiže na akej škále verzií operačného systému Android bude možné vašu aplikáciu spustiť. Implicitne je ako aktuálna verzia nastavená najvyššia dostupná verzia. Ako najnižšia verzia je implicitne nastavený Android 2.2 (Froyo) – verzia API 8. Treba si uvedomiť, že doba životnosti mobilného telefónu je dva až tri roky, takže prístrojov so staršími verziami rapídne ubúda. Vsúčasnosti verziu 2.2 už pre nové aplikácie nemá veľmi zmysel podporovať. Nové aplikácie preto okrem niektorých výnimiek smerujte na verziu 4.0 (Ice Cream Sandwich) a vyššie. Môžete tak bez obmedzenia používať nové prvky používateľského rozhrania. Vpoli Theme si môžete vybrať farebnú schéma aplikácie. Implicitne je nastavená Holo Light with Dark Action Bar, teda svetlé pozadie pre aplikáciu atmavé pozadie pre aplikačnú lištu.

Vytváranie projektu pokračuje dialógom, v ktorom môžete zmeniť ikony pre aplikáciu. Pokiaľ vytvárate cvičnú aplikáciu na výučbu či na overenie niektorého technologického princípu, môžete ponechať implicitne nastavenú ikonu androidovej figúrky. Pri reálnej aplikácii, samozrejme, musíte navrhnúť vhodné aatraktívne ikony. Od atraktívnosti ikony totiž často závisí, či si používateľ vašu aplikáciu zGoogle Play stiahne, prípadne kúpi. Po nainštalovaní aplikácie môže atraktívna ikona asociovať dobrú aplikáciu amotivovať používateľa, aby si ju spustil.

prva5.png

 

Ikony pre novovytvorený projekt

Výber typu hlavnej aktivity

Na rozdiel od aplikácií pre desktopové operačné systémy (Windows, Linux...) v kóde aplikácie pre Android nie je žiadny exaktný vstupný bod, ktorým pri klasických aplikáciách býva statická metóda main(). Aplikácie pre Android sa skladajú z viacerých navzájom nezávislých komponentov – aktivít a služieb. Operačný systém sám určuje, kedy budú vytvorené inštancie aktivít, kedy budú odsunuté do pozadia či zničené.

Aktivita je vizuálna reprezentácia – prezentačná vrstva androidovej aplikácie. Aplikácia môže mať niekoľko aktivít.

Na vytvorenie hlavnej aktivity aplikácie sú kdispozícii štyri typy aktivít:

· Empty Activity – prázdny formulár bez navigačných prvkov
· Blank Activity – ako voliteľný prvok navigácie sa používa navigačná lišta ActionBar sovládacími prvkami
· Fullscreen Activity – využíva celú veľkosť obrazovky
· Master-Detail Follow – hodí sa pre zoznamy objektov typu master – detail. Zobrazovacia plocha je rozdelená na dva stĺpce. Vľavom stĺpci je zoznam objektov avpravom stĺpci sú zobrazené detaily viažuce sa na vybraný objekt.

prva3.png

Typ používateľského prostredia ešte názornejšie než názov vysvetľuje obrázok v dialógovom okne

Pre túto jednoduchú aplikáciu označte voľbu Empty Activity. Ponechajte implicitne nastavené názvy. Po spustení aplikácie bude zobrazená aktivita snázvom MainActivity. Po vytvorení projektu si všimnite, že vznikli dva súbory

· MainActivity.java – kód triedy aktivity vprogramovacom jazyku Java
· activity_main.xml – definícia používateľského rozhrania vo formáte XML

Kliknutím na zelenú šípku môžete aplikáciu po vytvorení spustiť v emulátore mobilného zariadenia. Zatiaľ len vypíše oznam „Hello World“. Vdialógu Run As vyberte možnosť Android Application.

aplikacia7.png

Spustenie aplikácie

Ak ste vytvorili viac emulátorov, napríklad vnašom prípade emulátor zariadenia typu smartfón aemulátor zariadenia typu tablet, pomocou položky Run Configuration zobrazíte dialóg na výber emulátora, na ktorom chcete aplikáciu spustiť.

aplikacia8.png

 

Konfigurácia spustenia aplikácie

Po nábehu emulátora a jeho odomknutí sa vaša aplikácia automaticky spustí.

Po vytvorení prvého projektu odporúčame hlavne začiatočníkom avývojárom migrujúcim ziných platforiem, aby sa oboznámili sumiestnením avýznamom kľúčových súborov, ktoré tvoria projekt.

Súčasti projektu, sktorými prídete najviac do kontaktu, sú vzložkách

· src – v zložke sa nachádzajú súbory skódom tried vprogramovacom jazyku Java
· res – v zložke sa nachádzajú súbory XML sdefiníciou používateľského rozhrania
· assets – zložka obsahuje súbory pribalené kaplikácii, napríklad textové či databázové súbory
· android-support-v4 – zložka obsahuje knižnice umožňujúce využívať funkcionalitu, ktoré priniesli nové verzie Androidu (typicky od verzie Android 4), aj vstarších verziách

Definičný súbor používateľského rozhrania

Po vytvorení projektu sa vhlavnom okne používateľského rozhrania vývojového prostredia Eclipse zobrazí definícia návrhu používateľského rozhrania vsúbore activity_main.xml. Súbor je v zložke /res/layout/.

Dokument XML má jeden koreňový element RelativeLayout, do ktorého sa postupne vnárajú prvky voriginálnej terminológii views, tvoriace používateľské rozhranie aplikácie.

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${packageName}.${activityClass}" >
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />

Význam tohto kódu najlepšie pochopíte, ak prepnete vývojové prostredie na záložku Graphical Layout do režimu zobrazenia grafického návrhu.

prva7.png

 

Vývojové prostredie po vytvorení projektu

Pri návrhu používateľského rozhrania môžete pristupovať buď deklaratívne pomocou vizuálneho návrhu, alebo imperatívne – písaním kódu XML definície používateľského rozhrania. Záleží len na vás, pre ktorý spôsob sa vktorej konkrétnej situácii rozhodnete.

Aplikačný kód

Vhornej časti hlavného okna – vľavo od záložky súboru fragment_main.xml – je záložka súboru MainActivity.java. Keby ste ho zatvorili achceli znovu otvoriť, nájdete ho cez odkaz vľavom okne Package Explorer v zložke PrvaAplikacia> src > com.example.prvaaplikacia. Vsúbore nájdete kód hlavnej aktivity.

package com.example.prvaaplikacia;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends
Activity
{

@Override
protected void onCreate(Bundle savedInstanceState)
{

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

Metóda OnCreate () je volaná operačným systémom pri vstupe do akcie, takže v tejto metóde sa spravidla vykonáva inicializácia používateľského rozhrania.

Metóda setContentView preberá identifikátor layoutu alebo objekt typu View. Vnašom novo vytvorenom projekte sa preberá identifikátor hlavnej aktivity R.layout.activity_main.

Definovanie objektov vzdrojoch (resources)

Vaplikáciách sa využíva množstvo definícií objektov. Typický príklad sú textové reťazce, definície farieb, tvarov apodobne. Na ukladanie definícií slúži adresár zdrojov /res.

Odporúčanie: Dôrazne odporúčame vytvárať definície objektov vzdrojoch. Neskôr zmenou hodnoty vdefiničnom súbore sa automaticky zmení daný objekt vo všetkých layoutoch, ktoré ho využívajú.

Vprvom pokusnom zásahu do aplikácie Hello World môžete zmeniť text oznamu velemente TextView. Tu je len odkaz na definíciu textového reťazca. Definície reťazcov sú uložené v súbore res/values/string.xml.


MojaPrvaAplikacia
Hello world!

Vzložke res sú vsamostatných zložkách definície rôznych objektov vzávislosti od charakteru aplikácie. Najčastejšie vtejto zložke nájdete vnorené podzložky:

· Layout – definícia rozmiestnenia prvkov používateľského rozhrania
· Menu – definícia štruktúry menu
· Strings – definície textových reťazcov
· Colors – definície farieb použitých vaplikácii
· Dimens – rozmery vjednotkách dip (density independent pixel)
· Drawable – definícia obrázkov (.png, .jpg, .gif) a tvarov na vykresľovanie

Ľuboslav Lacko, pokračujeme omesiac

 

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať