99
Alkalmazásfejlesztés Google Android rendszerre
-
#19 Közben lefrissült, egy nap kimaradt, érdekes :) -
#18 Tapasztalt valaki olyat, hogy a Developer Consoleon nem frissül a statisztika? Elvileg naponta kellene, de már két napja semmi, még mindig júl 25 (26-27 nincs, tehát 27 óta nem frissül) az utolsó. -
YMan #17 Kipróbálom a BlueStacks-t mert nem ismertem még. -
#16 Külön gépen semennyire nem lehet variálni a felbontást, a virtualboxot is egy órát tweakeltem, hogy legyen portrait mód, amikor még használtam.
A BlueStacks eleve béta még, az ICS-t nem tudom. Én egyelőre örülök, hogy GB, mert az a legelterjedtebb és a telefonomon ICS van. -
nIsTv4n #15 Ráadásul ha valami megfelelően gyors virtuális gépen, érezhetően nem fog gyorsulni egy különálló gépen sem. Sőt - bár nem próbáltam - nem tudom egy külön telepített gépnél mennyire tudok variálni a felbontásokkal. Virtuális gépnél olyan felbontást választok boot előtt, amilyen akarok, a megfelelő DPI-vel. Most egy sima 4:3-as monitor, de főleg egy szélesvásznú hogy jelenítene meg 720x1280-as felbontást?
Bluestacks nagyon pöpec, de hiányzik belőle az a fránya ICS. Nem találtam infót neten, nem tervezik megcsinálni az ICS verziót is? Külső okok miatt a projektem csak ICS-t támogathat.. -
#14 Minek futtassak egy butább OS-t, ami nem erre a platformra való?
BlueStacks gyorsabb az összesnél, kb 10x gyorsabb az emulátornál. És minden működik vele. -
YMan #13 Arra nem gondoltatok hogy futtassátok egy gépen az x86os androidot? Egy sima Atom chippes netbookon nekem teljesen jól futott, az alkalmazást pedig dropbox-al pakoltam kényelmesen fel rá. Gyorsabb volt jóval mint a VirtualBoxos emuláció -
nIsTv4n #12 VMWare-ben használom, virtualizáció nélkül, 2 giga rammal, egy processzor maggal. Össze sem lehet hasonlítani a sebességét az emulátoréval, sokkal gyorsabb, viszont egyelőre se WiFi se kamera nem működik nálam.
Ráadásul pont a napokban érkezett belőle az ICS RC2. -
Dodo55 #11 Milyen virtualizációs software-el futtatod az x86 emut?
Nekem ha jól emlékszem VirtualBox-al kicsit gyorsabb amúgy, ja és ráadásul Prescott-2M P4-em van VT támogatás nélkül. -
#10 JAVAban nincs unit, minden osztály, én általánosságban beszéltem.
Nem gyorsabb semmivel nálam se. -
nIsTv4n #9 JAVA-ban még sosem használtam unit-okat, valahogy kézenfekvőbb számomra az osztály, de ez lényegtelen is.
Nektek egyébként gyorsabb az Intel-es emulátor, mint az ARM-es? Én sok különbséget nem veszek észre, se betöltésnél, se runtime.. -
#8 "Attól még az osztályoknak, objektumoknak lehet értelme, de inkább csak szintaktikailag, kód olvashatóságot javítja."
Unitokhoz nem kell osztály.
Bluestacks az GB, nincs ICS. -
nIsTv4n #7 Attól még az osztályoknak, objektumoknak lehet értelme, de inkább csak szintaktikailag, kód olvashatóságot javítja.
Másik topikban írtad, hogy BlueStacks-et használsz. Létezik már belőle ICS verzió? Mikor utoljára használtam, még nem létezett, most viszont 4.0-ra kell fejlesztenem, így egyelőre csak a gyári emulátort tudom nyúzni. Távoli gépen fut az emulátor, nálam meg a fejlesztőkörnyezet, de így bukom a DDMS lehetőségét.. -
#6 Én getter/settert használok több okból is:
- Később ha ellenőrizni kell valamit pl. a getterben (vagy sokkal gyakoribb a setterben), egyszerű példával élve mondjuk 0-t nem lehet átadni értékül, akkor sokkal egyszerűbb ott megcsinálni, mint akkor bohóckodni mint a 86 osztályban ahol már használtam a paramétert. Persze az IDE megcsinálja, de akkor is átláthatóbb
- Legalapabb OOP elv az enkapszuláció. Ha minden public akkor mi a fenének OOP? -
nIsTv4n #5 A topik jó ötlet. Fel is dobnék egy érdekes kérdést. JAVA esetén mindenki számára egyértelmű az egységbe zárás, setter/getter használat. Ezzel szemben megnézzük a developer.android.com oldalt, ahol az egyik performancia javító tanács az, hogy hagyjuk a setter/getter-t. Jobban belementem a témába, és úgy néz ki, az újabb JIT verziók (Ginger felettiek) esetén ez már nem helytálló, ugyanis végre inline függvényként kezeli a setter/getter-t. Ti melyiket használjátok a kódotokban, ha egyáltalán használtok objektumokat (feltételezem:) ). Én setter/getter párti vagyok, nem éreztem teljesítménybeli különbséget, bár fontos megjegyezni, próbálom az objektumaimat kordában tartani, kímélni a GC-t :) -
Dodo55 #4 Ja amúgy IntelliJ IDEA-val kapcsolatban meg nagy faszságot csináltam és írtam, most nézem és van Community Edition is az EAP programban :)
Leszedem azt megnézem az is időkorlátos -e. Meg az Ultimate amúgy is lassú picit indulás után (valószínűleg a kövérsége miatt), a 11-es CE-vel nem volt ilyen amikor azt próbáltam. -
Dodo55 #3 Igen azt írtam is hogy valószínűleg sebesség szempontjából meg vannak lőve, de nem próbáltam még őket csak körülnéztem mik a lehetőségek. -
#2 "A másik kezdeti akadály előttem az Eclipse nevű szörnyeteg volt. Ez a hivatalosan támogatott IDE, tudásra jó is, de rettentően bugos, nehezen konfigurálható és átláthatatlan"
Ez nem igaz, időt kell szánni a configurálásra.
"agyrészt JavaScript-el programozható frameworkök vannak, illetve hallottam olyanról is még régebben amivel egy komplett PHP-s webalkalmazás csomagolható be Android alkalmazásként. Ezeknek van még annyi előnyük, hogy sok közűlük az Androidon kívül más mobilplatformokkal is kompatibilis."
És borzalmasan lassú. -
Dodo55 #1 Nemrég lett Androidos mobilom, 12 éves korom óta programozgatok így természetesen szeretnék nagyon gyorsan élni a lehetőséggel, hogy végre egy olyan telóm van, amire lehet normálisan fejleszteni.
A Java eddig elég távol állt tőlem, bár nemrég tanultam C#-ot, de azért a kettő nem teljesen ugyanaz.
Sajnos minden oktató jellegű anyag amit először találtam meglévő Java tudásra alapoz, főleg az API használatára koncentrál. Szerencsére azóta találtam egy tömör kis leírást, pont a magam fajták számára, akiknek már volt dolga sok más nyelvvel, de Java-val még nem, nagyjából összefoglalja az alapokat, amikkel már neki lehet állni Android fejlesztést tanulni: http://mobile.tutsplus.com/tutorials/android/java-tutorial/
A másik kezdeti akadály előttem az Eclipse nevű szörnyeteg volt. Ez a hivatalosan támogatott IDE, tudásra jó is, de rettentően bugos, nehezen konfigurálható és átláthatatlan. Ez először annyira eltántorított, hogy alternatív megoldások után kezdtem nézni. Találtam is egy pár érdekest, de ezekről majd a vége felé.
A megoldást végül az IntelliJ IDEA jelentette, mivel a 12-es verziója már ennek is rendelkezik WYSIWYG XML Layout szerkesztővel. Itt fontos megjegyeznem két dolgot:
-A program Community Edition-je ugyan ingyenes, de a 12-es verziónak még csak az egyébként fizetős Ultimate verziója érhető el az Early Access Program keretein belül, Augusztus 2.-ig érvényes licensszel.
-Ha fent van az Android SDK-n belül a 4.1 API16 SDK Platform, akkor a layout szerkesztő nem működik
Link: http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP
Mint mondtam, utánanéztem alternatív lehetőségeknek is. Annyi van belőlük mint az állat, igazából a bőség zavara miatt egyiket sem próbáltam igazán ki. Nagyrészt JavaScript-el programozható frameworkök vannak, illetve hallottam olyanról is még régebben amivel egy komplett PHP-s webalkalmazás csomagolható be Android alkalmazásként. Ezeknek van még annyi előnyük, hogy sok közűlük az Androidon kívül más mobilplatformokkal is kompatibilis. Mindenesetre azzal bizonyára számolni kell ilyen keretrendszerek esetében, hogy az ezekkel készített alkalmazások lassabbak lesznek a natívakhoz képest, ezért is fordultam inkább vissza még kutakodni a neten leírások és megfelelő IDE után.
Nem sorolom fel őket egyenként itt egy lista(táblázat) a Wikipediaról: http://en.wikipedia.org/wiki/Multiple_phone_web-based_application_framework
Amit még itt megemlítenék, az a Xamarin MonoDroid, Visual Studioval vagy MonoDevelop-al lehet vele C# nyelven Androidra fejleszteni, elvileg natív kódot generál, az egyetlen baj vele csak az hogy fizetős. Más C#-os megoldást eddig nem találtam, de ha valaki tud valami ingyenesről plz szóljon.
A sima Android topicban már feldobtam amúgy a topic ötletét, pár fejlesztő fel is bukkant, így értelmét láttam megnyitni, valószínűleg az alapvető dolgok megtanulása után lesznek majd kérdéseim, a későbbiekben pedig valószínűleg én is tudok majd másoknak segíteni, úgyhogy bízom benne lesz neki létjogosultsága.