Android programozás #2 | Android Studio

Android alkalmazás készítéséhez szükségünk van az Android Studio-ra, amiben írhatjuk az alkalmazásunkat. Ezt ingyenesen le lehet tölteni innen. Szükség lesz még hozzá a JDK-ra is. Érdemes először a JDK-t telepíteni, majd az Android Studio-t.

A telepítések után elindítva az Android Studio-t az alábbi hibával kerültem szembe:

Error:CreateProcess error=216, This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.

Különböző fórumokon azt a megoldást találtam, hogy a JDK-t telepítsem újra, az 1.8-as verziót ajánlották, illetve az Android Studio-n belül kellett megadni a JDK könyvtár elhelyezkedését, amit a File/Project Structure/SDK Location -nél lehetett beállítani.

Miután ezt a problémát sikerült megoldani, egy másik hibakódot írt ki az Android Studio.

Íme:

Error:Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/1.12/userguide/gradle_daemon.html

Ennek a hibának a kiküszöbölésére azt az egyszerű megoldást találtam, hogy nem mindegy, mikor indítom el az Android Studio-t. Nem tetszik neki, ha bármi mást nyitok meg előtte, pl. a firefox-ot, DE még azt sem szereti, ha a háttérben fut az utorrent, sőt még a skype-ot is be kell zárni, mielőtt elindítanám az Android Studio-t.

Az okára nem jöttem rá, hogy miért ilyen “macerás” az Android Studio elindítása, a lényeg, hogy ki lehet/ki tudtam küszöbölni.

Android programozás #1 | A kezdet

Bevásárlós alkalmazást fogok készíteni, amit Androidos rendszerrel rendelkező eszközökön lehet majd futtatni. Az alkalmazás segítségével tárolhatjuk otthoni készletünk tartalmát, hogy miből mennyi van otthon a kamrában és a hűtőben. Ha valamiből fogyasztottunk, akkor azt a készletünkből elvehetjük, így vásárláskor láthatjuk, hogy melyik termék/alapanyag van otthon kifogyóban. Ugyanígy felvihetjük 1-1 bevásárlás során, hogy miből mennyit vettünk. Termékek/alapanyagok hozzáadását/elvételét gyorsíthatjuk QR kód/vonalkód beolvasásával. Megjegyzéseket tehetünk a család többi tagjának részére, ha látunk valahol valami jó akciót.

API kutatás/tesztelés #2 (Twitter:Tweetinvi)

A következő szociális oldal, melynek tanulmányozására sort kerítettem a Twitter lett, azon belül is a Tweetinvi nevű API. Az API megszerezhető a https://github.com/linvi/tweetinvi címről, vagy a Visual Studióban, a Nuget csomagkezelőn keresztül az Install-Package TweetinviAPI parancs futtatásával. A dokumentációt, és alapokat a https://github.com/linvi/tweetinvi/wiki címen érhetjük el. Ezek segítségével valósítottam meg a kis kód részletet, amellyel felhasználói adatokat tudtam lekérdezni.

Continue reading

API research/testing #1 (Google:Plus,People)

Kontakt kezelő program lévén először is a különböző szociális felületekre elkészített API-k vizsgálata a jelenlegi feladat, amelynek neki is láttam. Elsőnek a Google API-t választottam. Elsődleges feladatom ezeknek az API-knak az átvizsgálása, lehetőségek felfedése. A többféle lehetőség közül végül a Google+, és a Google People API-ra esett a választásom, mert ezek együttes használatával tudunk lekérdezni minden kritikus információt, amelyet később a webszolgáltatásunkban felhasználhatunk eredményesen.

Continue reading

Birthmarks data #6 – SMOTE training

Mivel a jelenlegi adathalmaz elég kicsinek mondható, így nem olyan egyszerű olyan kísérletet összeállítani ami hozza az elvárt precizitást, megbízható eredményt szolgáltat (fontos néhány alkalmazás tekintetében, hogy a felhasználó mit kap vissza válaszként), ugyanakkor nagy mértékben csökkenti a magolás bekövetkezését. Ezért megnézzük a tanulás eredményét abban az esetben, ha az adatokat egy kicsit felturbózzuk (mármint példányszámban).

Continue reading

Klaszterezés a Studioban

Az előző posztomban foglalkoztam a klaszterezéssel általában, most nézzük meg, hogy konkrétan milyen lehetőségünk van erre a Studioban.

Jelenleg mindössze egyetlen egy megoldás áll rendelkezésünkre, méghozzá egy centroid alapú, a k-means (k-közép) algoritmus. Ez ugye központi vektorokkal választja el egymástól a klasztereket. n megfigyelést k klaszterbe partícionál az átlaguk alapján, ezáltal Voronoj-cellákat hoz létre. Iteratív algoritmus, optimalizálást hajt végre. Ez egy NP-nehéz probléma, amit jelenlegi tudásunk (és technológiánk) szerint nem tudunk megoldani belátható idő alatt, még szuperszámítógépekkel sem. Azonban léteznek heurisztikus algoritmusok, amik elég hamar konvergálnak a lokális optimumhoz. Ezek használatával gyorsan elérhetjük a kívánt eredményt.

Continue reading

Klaszteranalízis

Ahogy már korábban is írtam, létezik felügyelt, és felügyelet nélküli tanulás is. Most a másodikkal fogok foglalkozni.

A klaszterezés lényege, hogy az egyes egyedeket csoportokba osztja.
Fontos különbség az osztályozással szemben, hogy itt az adat belső struktúrájának a felfedése a lényeg, és nem pedig az egyes elemek pozíciója.

Continue reading