#Android

Hashtag

webprogramiranje.org

LiveData & MVVM

LiveData klase LiveData

public abstract class LiveData extends Object

1

public abstract class LiveData extends Object

LiveData je apstraktna klasa tzv. observable data holder zadužen da čuva informacije o podacima i da obavesti sve zainteresovane posmatrače ako dodje do promena. LiveData is actually just an Abstract Class. So it can’t be used as itself. Najvažnija karakteristika LiveData je ta što je svestan životnog ciklusa drugih komponenti aplikacije …

webprogramiranje.org

Uvod u MVVM arhitekturu

MVVM pattern MVVM (Model-View-ViewModel) je patern koji razdvaja aplikaciju na više komponenti tako da svaka komponenta ima svoje specifične odgovornosti. Pri korišćenju MVVM paterna “kod” aplikacije je razdvojen na tri dela: View, ViewModel i Model, ova arhitektura je preporučena od strane Google-a kao jedan od najboljih načina strukture koda Android aplikacija. Osnovne karakteristike ovog pristupa …

webprogramiranje.org

Popunjavanje ViewPager-a koristeći PagerAdapter

Šta je ViewPager? ViewPager je Layout Manager koji omogućava korisniku da se kreće kroz stranice podataka pokretima na levo ili desno, dok se pri promeni stranica izvršava i ugradjena animacija. Najčešće su te strane sa podacima su fragmenti, mada mogu da budu i nešto drugo kao npr. slike koje se slajduju… ViewPager se popunjava podacima …

webprogramiranje.org

Adapter za RecyclerView

Uvod Adapter je most između izvora podataka (Array objekat, List objekat…) i korisničkog interfejsa. Uloga adapter objekta (implementira Adapter interfejs) je da čita podatke iz različitih izvora podataka, i na osnovu njih popunjava View objekte članove nekog ViewGroup-a. Do sada smo koristili ListView ali preporuka je da se umesto listView-a koristi RecyclerView, a naručito kada …

webprogramiranje.org

Custom ArrayAdapter u Androidu

Uvod U osnovnoj verziji adaptera se koristi samo jedan String podatak koji se smešta u neki od predefinisanih android layouta sa jednim TextView-om. Custom adapter se razlikuje od “običnog” po tome što je kod njega jedan element liste predstavljen sa više podataka te je potrebno definisati “složeniji layout” koji bi prihvatio i prikazao te podatke. …

webprogramiranje.org

ArrayAdapter (osnovni android adapter)

Uvod Adapter je most između izvora podataka (Array objekat, List objekat…) i korisničkog interfejsa. Uloga adapter objekta (implementira Adapter interfejs) je da čita podatke iz različitih izvora podataka, i na osnovu njih popunjava View objekte članove nekog ViewGroup-a. ViewGroup: ListView, RecyclerView, GridView, Spinner, Gallery čiji sadržaj se popunjava korišćenjem adaptera se nazivaju zajedničkim imenom “AdapterView”. …

webprogramiranje.org

Konvertovanje XML resursa u View objekat (“Layout Inflating”)

Uvod “Layout inflation” je termin koji označava postupak sa kojim se XML resurs parsira i konvertuje u View objekat. Aktivnost ima svoju metodu setContentView() sa kojom inflate-uje svoj root view: Primer

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.neki_view);
}

12345

@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.neki_view);}

Ali konvertovanje drugih layout-a u View objekt (čime omogućavamo da elementi layout-a budu dostupni u kodu aktivnosti) možemo da uradimo na sledeće načine: …

webprogramiranje.org

Fragment u okviru androida

Uvod Fragment je modularni deo aktivnosti, koji ima svoj životni ciklus, prima sopstvene ulazne događaje, možete ga dodati ili ukloniti dok se aktivnost pokreće. Fragment objedinje View i logiku tako da se može jednostavno višekratno koristiti unutar jedne ili više različitih aktivnosti. U aktivnostima može biti više od jednog fragmenta tako da svaki fragment može …

webprogramiranje.org

Kreiranje custom listenera u Androidu (listener pattern)

Uvod “Listener pattern” je jedan od najčešće korišćenih paterna koji se koriste pri razvoju aplikacijja. Princip rada se zasniva na tome da u jednoj klasi definišemo dogadjaj i trenutak kada se započinje izvršavanje dogadjaja (“okida dogadjaj”), dok u drugoj klasi definišemo objekat (tzv. listener objekat) koji osluškuje taj dogadjaj i reaguje na njega. Postoji priličan …

webprogramiranje.org

Uvod u asinhrone operacije i multithreading Androida

Šta je Thread i multithreading? Thread (srp. nit) je niz uputstava u okviru programa koji se može izvršiti nezavisno od drugog koda. Ako kompjuter ima više procesora i operativni sistem koji podržava tzv. multithreading, to omogućava programerima da dizajniraju programe čiji se thread-ovi mogu izvršavati istovremeno. Thread mehanizmi “Looper” i “MessageQueue” su mehanizmi koje koristi …

webprogramiranje.org

Kreiranje menija kod android aplikacija

Kreiranje sadržaja menija Ovaj specifični meni se prikazuje u sklopu Gde se nalaze meniji? Za svaki meni je potrebno definisati stavke koje se nalaze u njemu. To se definiše u XML formatu u fajlu koje se nalazi u specifičnom folderu pod nazivom “menu” (nalazi se u sklopu “res” foldera). Ovaj fajl generišemo desnim klikom na …