Koraci pri pravljenju Android aplikacija

 

Android aplikacije su kolekcija zadataka, gde svaki zadatak poziva neku aktivnost. Svaka aktivnost u aplikaciji ima jedinstvenu svrhu i korisnički interfejs. Kako bi bolje razumeli ceo koncept rada android aplikacija, vodićemo se primerom za pravljenje jedne igrice i razložićemo njeno pravljenje na nekoliko koraka.

Pravljenje Andorid aplikacija - Dizajniranje

Naša aplikacija će imati pet prikaza ekrana:

- splash – ovaj prikaz ekrana korisnik prvo ugleda kada se aplikacija upali. On treba da sadrži logo igrice i verziju, takođe može puštati neku muziku po izboru.

- menu – na ovom prikazu ekrana korisnik može da bira različite opcije pre samog startovanja igre.

- play – na ovom ekranu se prikazuje igrica koja je bila tema ove aplikacije.

- scores – na ovom prikazu ekrana korisnik se može informisati o najbolje postignutom rezultatu.

- help – ovaj ekran prikazuje instrukcije koje mogu biti korisne korisniku pri igranju igre.

 

Određivanje aplikacionih aktivnosti:

Potrebno je implementirati pet različitih klasa aktivnosti, za svaki već definisani prikaz ekrana po jednu:

 

- SplashActivity – Ova aktivnost će biti glavna aktivnost pri pokretanju aplikacije. Ona jednostavno prikazuje jedan layout sa malo grafike, pušta po neku muzičku melodiju i nakon nekog perioda pokreće MenuActivity.

- MenuActivity – Ova aktivnost pokreće layout sa nekoliko dugmića, svaki korespodentan sa osobinama aplikacije. onClick() hendleri za svako dugme prouzrokuju pozivanje drugih aktivnosti aplikacije.

- PlayActivity – Ovde je implementirana cela logika igrice. Ova aktivnost mora da prikazuje različite svari na ekranu, procesira stvari koje korisnik zada ili unese, čuva rezultate itd.

- ScoreActivity – Ova aktivnost je jednostavna skoro kao i SplashScreen. Ona samo učitava pojedine podatke o rezultatima igrice u TextView i prikazuje ih na ekranu.

- HelpActivity – skoro je identična kao ScoreActivity, osim što umesto da prikazuje rezultat, ona prikazuje help tekst. Ovoj aktivnosti je možda potrebno dodati scroll ukoliko je tekst duži od veličine ekrana.

 

** Tip: Za ScoreActivity i HelpActivity moguće je koristiti isti layout jer te dve aktivnosti usuštini obavljaju isti posao, tj prikazuju tekst, samo je dovoljno promeniti pozadinsku sliku.

 

 

Implementacija funkcionalnosti andorid aplikacija:

Spomenuli smo da svaka aktivnost ima različiti korisnički interfejs definisan sa različitim layout resurs fajlom. Stvari koje vas možda muče su :

- kako da kontrolišem stanja aktivnosti?

- kako da sačuvam podešavanja?

- kako da pokrenem određenu aktivnost?

Sa našim primerom aplikacije u vidu igrice vreme je da uđemo dublje u sam koncept implementacije. Počećemo sa aplication context.

 

Pravljenje android aplikacija - Korišćenje aplication context

Aplication context je centralna lokacija za sve top-level funkcionalnosti aplikacije. Koristimo aplication context da pristupimo svim podešavanjima i resursima deljenim kroz različite instance aktivnosti.

 

Možete povratiti resurse alication context za proces koji želite pozivajući metodu getApplicationContext() na sledeći način:

 

Context context = getApplicationContext();

 

Pošto je Activity class izvedena iz Context class, možemo ovo koristiti umesto da pozivamo aplication context eksplicitno.

 

Pozivanje resursa android aplikacija:

Možete pozivati resurse aplikacije korišćenjem metode getResources() iz application context. Najjednostavniji način za pozivanje resursa je korišćenjem jedinstvenog resurs identifikatora koji su automatski generiše u R.java klasi. Sledeći primer poziva instancu Stringa iz resursa aplikacije koristeći njegov resurs ID:

 

String greeting = getResources().getString(R.string.hello);

 

Pristup podešavanjima android aplikacija

 Možete pristupiti deljenim podešavanjima vaše aplikacije metodom getSharedPreferences(). Ovu metodu koristimo da sačuvamo jednostavne aplikacione podatke kao što su podešavanja konfiguracije. Primer:

 

SharedPreferences settings = getSharedPreferences("GamePrefs", MODE_PRIVATE);
SharedPreferences.Editor prefEditor = settings.edit();
prefEditor.putString("UserName", "Spunky");
prefEditor.putBoolean("HasCredits", true);
prefEditor.commit();

 

Pravljenje android aplikacija - Pokretanje aktivnosti

Postoje razni načini za pokretanje aktivnosti:

-  imenovanje launc aktivnosti u manifest fajlu

-  pokretanje aktivnosti korišćenjem application context

-  pokretanjem dete aktivnosti iz roditelj aktivnosti kao rezultat

 

Imenovanje launch aktivnosti u manifest fajlu:

Svaka Android aplikacija mora imenovati default aktivnost u Android manifest fajlu. Ostale klase aktivnosti se mogu imenovati da se pokreću pri specifičnim okolnostima. Ovo se postiže tako što se u manifest fajlu koriste custom filteri. U našem primeru logično je da SplashActivity bude launch aktivnost po default-u.

 

Pokretanje aktivnosti korišćenjem application context:

Najčešći način za pokretanje aktivnosti je korišćenjem metode startActivity() iz application context-a.

 

startActivity(new Intent(getApplicationContext(), MenuActivity.class));

 

Pokretanje aktivnosti kao rezultat:

Ponekad aktivnost želi da pokrene aktivnost koja je takoreći u srodstvu sa njom uzimajući rezultat od nje koristeći metodu Activity.startActivityForResult(). Ovaj rezultat se može vratiti pomoću Intent parametra pozivanjem metode onActivityResult().

 

Upravljanje stanjima aktivnosti:

Aplikacija može biti prekinuta kada razni događaji sa većim prioritetom, kao što su telefonski pozivi, dobiju prednost. Može postojati samo jedna aktivnost uključena u jednom trenutku.

 

Korišćenje activity callback metoda:

Activity klasa poseduje brojne callback metode koje daju mogućnost aktivnosti da odgovori na suspend i resume događaje.

- onCreate()

- onResume()

- onPause()

- onDestroy()

 

 

Rad sa intentima:

Tri ključne komponente svake aplikacije – aktivnosti, servisi i broadcast risiveri se aktiviraju preko poruka – intents. Razmena poruka preko intenta omogućava kasno povezivanje tokom izvršavanja između između komponenata u okviru iste ili različitih aplikacija. Objekat Intent je pasivna struktura podataka koja drži apstraktan opis operacija koje treba da se izvrše, ili u slučaju broadcast risivera, opis nečega što se dogodilo ili se objavljuje.

 

 

Prenošenje podataka uz pomoć intenta:

Intenti se mogu koristiti za prenošenje podataka između aktivnosti. Možete koristiti intente tako što ćete uključiti dodatne podatke, takozvane extras unutar intenta.

 

ubacivanje podataka u intent:

 

Intent intent = new Intent(getApplicationContext(), HelpActivity.class);
intent.putExtra("vrednost_1", 23);
startActivity(intent);

 

izvlačenje podataka iz intenta:

Intent callingIntent = getIntent();
int helpLevel = callingIntent.getIntExtra("vrednost_1", 1);

 

Korišćenje intenta za pokretanje drugih aplikacija:

Sa određenim dozvolama koje se unose u android manifest fajl moguće je pozivati externe klase aktivnosti drugih aplikacija. Moguće je pozivati sledeće aktivnosti uz pomoć intenta:

- web browser uz pomoć URL adrese koja se daje kao parametar

- web browser uz pomoć search stringa kao parametra

- Dialer aplikaciju uz pomoć broja telefona kao parametra

- google maps aplikaciju uz pomoć lokacije kao parametra

- Camera aplikaciju

 

primer pokretanja web browser-a:

 

Uri address = Uri.parse("http://www.perlgurl.org");
Intent surf = new Intent(Intent.ACTION_VIEW, address);
startActivity(surf);

 

Logging application informacije:

 

Log.e() – Logs greške

Log.w() – Logs upozorenja

Log.i() – Logs informacione poruke

Log.d() – Logs debug poruke

Log.v() – Logs verbose poruke

Pročitajte još i:

Izrada Android aplikacija ;  Programiranje Android aplikacija ;  Brzina rada Android aplikacija ;  Funkcionalnosti Android aplikacija

Pošaljite Besplatan Upit