Programujeme pro Android – díl 3.

V dnešním díle se budeme věnovat aplikaci, se kterou jsme minule začali. Rozkliněte si napřed složku s kódem (NazevActivity, podložka složky src), a složku resource, kde jsou strings a layout.

Pokud si rozkliknete vygenerovaný kód aplikace (NazevActivity.java), mělo by to vypadat nějak podobně:

package cz.fort.petr;
 
import android.app.Activity;
import android.os.Bundle;
 
public class NazevActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

Také si můžete rozkliknout layout. V Layoutu si můžete vybrat, jestli chcete zobrazit grafický návrh (Graphical layout) nebo popis vzhledu v XML formátu (main.xml). Úpravy se provádějí v XML často mnohem lépe. Ale už jsem se také setkal s tím, že i tento editor začal v jednu chvíli nesmyslně zlobit. Změny z jednoho druhu návrhu do druhého se provedou až po uložení, ukončení a novém načtění v daném stylu návrhu. U základní aplikace byste měli získat něco podobného tomuto:

 

A nakonec res/strings. Jedná se o různé nápisy, konstanty, ale i barvy. Nedokážu si představit, jak by sem někdo chtěl klikat několik set barev, jednu po druhé, ale budiž. I zde si můžete vybrat mezi editorem nebo ruční úpravou XML. Zde si ale asi většina lidí vybere většinou XML. Ve vygenerovaném souboru byste měli mít něco takového:

<!--?xml version="1.0" encoding="utf-8"?-->
 
    Hello World, NazevActivity!
    Nazev

Také si povšimněte, že ve složce res jsou podložky drawable-hdpi, drawable-mdpi, drawable-ldpi. Ty slouží pro přidávání „kreslitelných“ objektů. Nejčastěji tedy obrázky, ať už vektorové nebo bitmapy. HDPI, MDPI, LDPI odlišuje rozlišení, pro které jsou obrázky určeny. Ještě bych se také mohl zmít o složce bin/res, kam se ukládají externí knihovny, které může některý naprogramovaný program vyžadovat. Ovšem k používání cizích knihoven se v tomto jednoduchém kurzu zřejmě nedostaneme.

Nyní se dostáváme k jednoduchému rozšíření aplikace. Pokud se v Layoutu přenete na grfický návrh, můžete z levého menu přetahovat komponenty. Ovšem pozor – často se umisťují tam, kde nechcete, nebo nemají správnou velikost. Řešení layoutu v Androidu nemusí být vždy úplně jednoduché a občas se může stát i zajímavým oříškem. Je dobré si zvyknout na to, že standardně mohou být prvky zarovnány v bloku horizontálně nebo veritkálně (Vertical a Horizontal Layout). Také je dobré zmínit se, že fill_parent znamená roztáhnout na celou šířku rodičovského prvku. Musím říct, že mě v Androidu 2.2 docela dost omezuje při programování paleta, na kterou nejsem z vývojových prostředí programů pro standardní počítače zvyklý.

A nyní slíbené vylepšení aplikace. Začneme tedy psát vlastní kód. Kód aplikace změňte podobně jako v následujícím příkladu:

package cz.fort.petr;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
 
public class NazevActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Toast.makeText(this, "Co se to tu zobrazilo?", Toast.LENGTH_LONG).show();
    }
 
}

Můžete zkusit spustit projekt a uvidíte, co to udělá. K funkci jsme si museli načíst (interní androiďáckou) knihovnu, nezapomeňte na ní. Když se ní zapomenete, program se bude zlobit, ohlásí chybu. Naštěstí, když si jí rozkliknete, tak okamžitě zde máte nápovědu, pomocí které jedním klepnutím můžete chybějící import přidat. A také bych se rád zmínil o automatickém doplňování a našeptávači. Pokud začnete psát vlastnosti objektu (oddělovat tečkou), automaticky si můžete vybrat hodnotu ze zobrazeného seznamu. A dále pak je dobré zapamatovat si klávesovou zkratku CTRL+mezerník, pomocí které si doplníte spoustu dalších věcí (nebo opět vyvoláte omylem zavřený našeptávač).

Až si program po provedení úpravy odzkoušíte, můžete se těšit na další díl.

O Petr Fořt

Student ČVUT FJFI KSE ASI (Softwarové inženýrství v ekonomii). Zajímám se o počítače (programování, diagnostika chyb hw), hudbu. Mám rád grilování, táboráky, hraní na kytaru a srandu v dobré společnosti.