29. februarja, 2012

Programirajmo Android naprave z Basic programom (2)

Revija 195 195 30 - Programirajmo Android naprave z Basic programom (2)Slike LOGOTIPI Svet elektronike color 300x92 - Programirajmo Android naprave z Basic programom (2)Program, ki smo ga uspeli narediti v prvem nadaljevanju ima lepo lastnost, da je enostaven, bi si pa seveda želeli narediti malce bolj uporaben program. Tokrat je naš cilj nekoliko bolj ambiciozen. Program si želimo naložiti na svojo resnično napravo (telefon ali tablico) in ga tudi uporabljati. Pri tem se bomo naučili še nekaj koristnih trikov, ki nam bodo prišli prav kasneje, ter izvedeli, kako se absolutno ne smemo lotevati programiranja z Basic4Android.

Zasnova programa

Revija 195 195 30a - Programirajmo Android naprave z Basic programom (2)

Naš kalkulator bomo razširili z novo funkcionalnostjo. Dodali bomo nekaj matematičnih operacij, poskrbeli za pravilen izris kalkulatorja ob zasuku naprave, ter samodejno prilagoditev dimenzijam uporabljene naprave. Dodali bomo pet novih gumbkov. Vsi resni kalkulatorji imajo možnost spremembe predznaka števila. Dodali bomo tudi obratno vrednost, kvadrat števila, kvadratni koren ter gumb za izhod iz programa. Razpored gumbkov bo odvisen od orientacije naše naprave. Za lažje razmišljanje sem si narisal sliko v enem od grafičnih programov z obema razporedoma (slika 1). V prvem članku smo uporabniški vmesnik programa narisali v Designer-ju, tokrat pa bomo vse opravili kar v kodi, tako, da bomo vse elemente sami izrisali ob vsakem kreiranju aktivnosti.

Zgradimo ogrodje

Revija 195 195 30b - Programirajmo Android naprave z Basic programom (2)

Sedaj bomo videli, kako so trpeli starodavni programerji iz davnih časov, ko še niso imeli na razpolago orodij za grafično oblikovanje ekranov. V praksi bomo le redko programirali ekrane na ta način, še posebej v primeru, da bomo izdelali pripomoček za lastno rabo, se pravi za točno določeno napravo. Zamudnost tovrstnega načina se je pokazala v mojem primeru, saj sem moral preizkusiti kar pet (5) različnih variant, preden sem našel obliko programa, ki je dovolj enostavna in pregledna, da jo postavim pred oči javnosti. Sem se pa pri tem marsikaj naučil in upam, da se boste tudi vi, dragi bralci.

Program bomo razdelili v dva modula. V prvem bo koda povezana z aktivnostjo (se pravi s prikazom na ekranu), v drugem pa pomožna koda. V tako majhnem programu, kot je naš, bi jo z lahkoto odnesli z enim samim modulom in sem uporabil ta pristop samo za prikaz principa. Razbitje programa na več modulov je koristno zaradi večje preglednosti in enostavnejše ponovne uporabe kode. Če se nekoliko potrudimo, lahko podprograme v teh modulih zasnujemo kot črne škatle, ki delujejo neodvisno od programa v katerega jih vključimo.

Revija 195 195 30c - Programirajmo Android naprave z Basic programom (2)

Začnemo tako, da ustvarimo novo mapo z imenom KalkPro. Modul aktivnosti spravimo v datoteko z imenom Kalkulator.b4a. Ustvarimo tudi modul s kodo, ki ga bomo imenovali Koda.bas. V meniju izberemo Project->Add New Module->Code Module, s čimer se nam odpre okno, ki zahteva vnos imena modula. Vnesemo »Koda« in kliknemo gumb »OK«.

Kot lahko vodimo na sliki 2 imamo nad oknom s kodo (pod vrstico z gumbki) dva zavihka. Med moduli lahko prehajamo s klikom na zavihek. V modul „Koda“ bomo vtaknili kodo, ki bo definirala položaj in obliko posameznih kontrol, v „Main“ pa vse ostalo. Življenje si bomo poenostavili tako, da bomo vse elemente naredili enako visoke (zaslon in gumbke), poleg tega bodo tudi vsi gumbki enako široki. Med elementi bomo pustili razmik v velikosti 1/30 manjše dimenzije. Na ekranu bomo definirali mrežo (7 vrstic x 4 stolpce) za pokončno lego naprave in (6 vrstic x 5 stolpcev) za vodoravno postavitev. V prvi vrstici bo vedno zaslon, na preostale pa bomo razporedili gumbke.

Basic4Android potrebuje za svoje delo tri dodatna okolja oz. orodja, ki jih moramo posebej potegniti s spleta in instalirati: .net 2.0, Java JDK in Android SDK.

Ogled celotnega članka je možna le z nakupom letnika v PDF obliki.

Nakup knjige

Avtor: Ludvik Medvešek
2012_SE195_30

Tags: