Tworz�c nowy projekt dostajemy prosty program typu HelloWorld. Zobaczmy na pocz�tek jego kod.
package com.example.lukasz.helloworld;
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);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Om�wi� teraz jego poszczeg�lne cz�ci.
Pierwsz� linijk� zawsze jest nazwa naszej paczki programu.
package com.example.lukasz.helloworld;
Wszystkie pliki z danego projektu nale�� do jednej paczki. Taki system pozwala je grupowa� pod wzgl�dem projektu. Nazw� paczki podaje si� zawsze na pocz�tku tworzenia nowego projektu.
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
Nast�pnym krokiem jest zaimportowanie potrzebnych element�w naszej "biblioteki standardowej". Importowa� trzeba wszystkiego czego b�dziemy chcieli u�ywa�. Poprzez importowanie poszczeg�lnych klas otrzymujemy dost�p do ich metod, w tym mo�liwo�ci ich ewentualnego nadpisania poprzez prze�adowanie. To co najwa�niejsze to importujemy Activity, Bundle dla przechowywania informacji dla aplikacji oraz Menu i MenuItem dla obs�ugi menu programu.
public class MainActivity extends Activity
Teraz mo�emy ju� otworzy� klas� naszej aktywno�ci nazwanej zgodnie z tym jak nazywa�a si� aktywno�� podana na etapie tworzenia projektu. Nasza aktywno�� dziedziczy po Activity, wi�c dostajemy mo�liwo�� prze�adowania jej metod, w tym onCreate, onCreateOptionsMenu oraz onOptionsItemSelected.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Pierwsze co nam proponuje Android Studio czy Eclipse i co robimy to piszemy w�asn� metod� onCreate. Metoda ta pochodzi z Activity i obs�uguje wszystko to co powinno by� zrobione w trakcie uruchamiania aplikacji. Przekazywany parametr Bundle savedInstanceState przechowuje tutaj poprzedni stan aplikacji.
super.onCreate(savedInstanceState);
Wewn�trz wywo�ywana jest oryginalna metoda onCreate rodzica co fizycznie uruchomi aplikacj�.
setContentView(R.layout.activity_main);
Na koniec metoda ta wywo�uje setContentView, kt�ra ustawia graficzny interfejs u�ytkownika. Pokr�tce tworzy nasz interfejs, do kt�rego mamy odpowiedni kreator, a kt�ry opisuje go poprzez plik layoutu activity_main.xml (main.xml w Eclipse). To w�a�nie owe main w activity_main odnosi si� do nazwy pliku activity_main.xml. Przekazana klasa R jest tu generowana automatycznie. R pochodzi tutaj od s�owo Resource czyli zas�b. Zapewnia� ma ona identyfikatory dla plik�w zasobu.
Dalej mamy ju� metody tworzenia i zarz�dzania menu. Pierwsza z nich to onCreateOptionsMenu.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
Metoda onCreateOptionsMenu ma za zadanie utworzy� menu i doda� je do pisanej aplikacji. Samo menu podobnie jak layout generujemy odpowiednim narz�dziem wspomagaj�cym, a samo menu zdefiniowane jest w zasobach w R.menu.menu_main w pliku menu_main.xml. Na tym etapie mo�na te� doda� w�asne pozycje menu w kodzie programu o czym napisz� w nast�pnych cz�ciach kursu.
Na ko�cu mamy jeszcze obs�ug� menu reaguj�c� na klikni�cie, a zatem kolejne zdarzenie.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
Metoda onOptionsItemSelected pobiera pozycj� menu poprzez instrukcj�:
int id = item.getItemId();
Nast�pnie rozpoznawana jest pozycja po identyfikatorze:
if (id == R.id.action_settings) {
return true;
}
Dla danego identyfikatora wykonywane jest dane zadanie przewidziane jako reakcja na wybranie pozycji z menu.
Zabrania si� kopiowania tego kursu i udost�pniania poza portalem HotFix.pl
Nied�ugo nast�pne cz�ci kursu.