Vmesniki za dodatke poenostavljajo razvoj vgnezdenih Android aplikacij, pojasnjuje David Flowers iz podjetja Microchip Technology Inc. Medtem, ko so mobilni telefoni in tablični računalniki svoj začetek zaživeli kot vgrajene platforme, pa danes delujejo z operacijskimi sistemi, ki so podobni tistim na standardnih osebnih računalnikih. Ob tem so postali večnitne in celo večjedrne naprave, na katerih lahko hkrati teče več aplikacij, podpirajo več različnih vrst povezovanja in zagotavljajo odličen uporabniški vmesnik. S strani potrošnika to prinaša vse večja pričakovanja, medtem ko za razvijalce aplikacij to pomeni nove priložnosti in izzive.

Razumevanje nitenja
Dobro poznavanje nitenja je zelo pomembno za vse razvijalce mobilnih aplikacij, saj je ključnega pomena za sposobnost mobilne naprave, da obdeluje več operacij hkrati. Nitenje je delitev izvajanja programa v okviru nekega procesa, pri tem pa se ustvarita, recimo, dve vrsti kode, ki se lahko izvajata istočasno. Medtem, ko en blok kode čaka, da se zgodi nek dogodek, preden spet lahko nadaljuje, se v drugem bloku program brez prekinitve normalno izvaja. Brez pravilnega nitenja bi se uporabniški vmesnik v neki aplikaciji preprosto zaklenil in postal neodziven, saj nekatera opravila, kot so povezovanje s spletom, prek Bluetooth® ali USB povezave, včasih blokirajo nit za nedoločen čas.
Nitenje prinaša tudi problem vzporednosti v razvoju nekega programa. Kadar se dve ali več niti izvaja hkrati, je možno, da postane reševanje dostopa do podatkov zelo zapleteno, posebno v primerih, ko se morajo podatki prenašati med dvema procesoma, ki se izvajata sočasno ali kadar lahko isti podatek bereta ali spreminjata dve niti nekega procesa. Ker čas izvajanja vsake posamezne niti ni znan, je čisto mogoče, da v nekem trenutku ena nit spremenljivko spreminja, druga nit pa jo poskuša prebrati. Java ponuja odgovor na to z uporabo sinhronizirane ključne besede: to omogoča razvijalcem, da ustvarijo odseke, ki zaklenejo skupni predmet. Tako nobena druga nit ne more vstopiti v odsek (če se znotraj takšnega sinhroniziranega odseka že izvaja neka nit), dokler ga predhodna nit ne zapusti.
Na sliki 1 so uporabljene sinhronizirane funkcije, s čimer zagotovimo, da sta spremenljivki „a“ in „b“, spremenjeni skupaj, zaradi česar imata enak seštevek. Brez sinhronizacije da bi bilo povsem mogoče, da bi ena nit s funkcijo updateVariables () poklicala spremenljivko „B“ v kodo ravno v trenutku, ko je bila spremenljivka „A“ povečana, vendar preden je bila spremenljivka „B“ zmanjšana, medtem pa bi druga nit poklicala rutino getSum (), ki bi izračunala vsoto, ki je za kratek trenutek drugačna od prave vsote.
Povezovanje dodatne opreme na Android™
2014_SE225_30

