Ez a cikk postolásra került a Magyar Gentoo közösségi oldalra is.
Ennek a felfedezése szorosan egybefügg a Köpönyeg alkalmazás fejlesztésének kezdetével.
Amikor megtudtam xsakos twitter üzenetéből hogy van a köpönyeg.hu -nak mobilos oldala, úgy gondoltam, tökéletes alkalom ez arra, hogy megnézzem, mit tudok összeütni Androidra egy hobbiszintű Java programozó tudásával, nulla információval a platformról. Tekintve, hogy én már korábban megállapítottam az Eclipse-ről hogy az számomra kezelhetetlen, illetőleg hogy én megrögzött NetBeans felhasználó vagyok, adódott, hogy a fejlesztést itt kezdjem el. Némi Google után ki is alakult a fejlesztői környezet.
Először is, feltétlenül legyen feltelepítve a gépünkre az Android SDK illetve egy NetBeans. Ez utóbbiból én a platformfüggetlen verziót szoktam letölteni, mivel a gépen már általában van hadra fogható állapotú Java SDK, tekintve, hogy én bizonyos okokból ezt használom JRE-ként is (ez az ok egyébként az appletviewer, ami csak a JDK-ban van benne, de ez most messzire vezetne).
Az Android SDK menedzserben mindenképpen telepítsük fel a Platform Tools-t, illetve a kiszemelt célplatform csomagját (ízlés kérdése, hogy Google API-val kérjük-e, nekem elég a sima).
Tekintve, hogy a NetBeans alapból nem ismeri az Android platformot (ez elég szomorú), így kicsit okosítani kell rajta.
A NetBeans-ban nyissuk meg a Tools -> Plugins menüt, majd menjünk át rögtön a Settings fülre. Itt nyomjuk meg az Add gombot, hogy hozzáadhassuk a NetBeans Android plugin tárolóját. Névként írjunk be valami ráutalót (nálam ez NetBeans Android) az URL mezőbe pedig ez kerüljön: http://kenai.com/downloads/nbandroid/updates.xml . Okézzuk le, várjuk meg amíg a NetBeans beolvassa az új modulokat, majd menjünk az Available Plugins fülre, keressük meg az Android nevűt, pipa és Install. Pici szöszmötölés után el kell fogadjuk a licenszet, majd további csíkhúzás után jóvá kell hagynunk az aláírás nélküli plugin telepítését.
Restart IDE után válasszuk ki a Tools -> Java Platforms menüt, itt kattintsunk az Add Platform -ra, kérjük egy Google Android Open Handheld Platform hozzáadását, tallózzuk ki az Android SDK telepítési helyét, majd válasszuk ki, melyik platformot telepítjük. Sajnos, a NetBeans a kiválasztás után nem módosítja az új platform nevét, azt nekünk kell megtennünk, a megfelelő verziószámot bepötyögve.
Ezt a műveletet addig ismételjük, amíg az összes telepített platform ott nem sorakozik a fában. Ezután zárjuk be a platform kezelőt.
Indítsunk egy új projektet, az Android kategóriából kérjük az egyetlen elérhetőt, a többi menüt töltsük ki értelemszerűen. A Main Activity itt az alkalmazás első ablaka lesz, ezt tehát megfontoltan nevezzük el.
Szintén érdemes lehet odafigyelni a csomagnév választásra is, ennek valami domainnév-szerűnek kell lenni, csak a sorrendet kell felcserélni, például: hu.androidportal.newandroidapp . Ennek nem kell létező domainnévnek lennie, ez csak a csomagot fogja azonosítani a telefonon. Mindazonáltal íratlan szabály, hogy engedély nélkül nem használjuk más domainjét, például a google-ét vagy az android-ét. Egy hu.nickneved.projektneve szerkezet tökéletesen megfelel a célnak.
Nekem nem tetszett az Android plugin által létrehozott projekt, így egy külső szövegszerkesztővel megnyitottam a projekt gyökerében levő build.xml -t, és két sort szúrtam bele:
<target name="res-compile" depends="-res-compile" />
<target name="default" depends="test,jar" />
Az első az egyébként elérhetetlen -res-compile Ant célt teszi parancssorból meghívhatóvá, a másik a paraméter nélkül kiadott ant parancsnak mondja meg, hogy csak a teszteket és az alkalmazás fájlját készítse el, a java dokumentációt (amit az alap projekt megcsinál) ne.
A tesztelésre többféle módozatot kipróbáltam, a NetBeans zökkenőmentesen támogatja a breakpoint-os debuggolást, ám ahogy néztem, mind az Eclipse mind a NetBeans közös hibája, hogy nem mindig veszik észre a kivételeket, így nekem debuggolás közben mindig nyitva van a konzolon egy adb logcat is.
Összességében tekintve a NetBeans kiválóan alkalmas Androidos alkalmazások fejlesztésére. Fájó pont a GUI szerkesztő hiánya, ám túlélhető dolog.