Posts Tagged ‘develop’

Imagination Trainer – Developing for older Android versions

This month, I finished work on a brand-new app that jogs your Imagination. Einstein said : “Logic will get you from A to B. Imagination will take you Anywhere”. As a dad, I like to make up bed-time stories. I found it was very hard for the kids to dream up random characters, items and locations for these stories. Those factors combined made this app. Imagination Trainer serves you with nine random images. Can you make up a story that uses all this pictures? Think outside the box. Try to stretch your story and introduce a plot, an intrige or maybe let your kids wonder what image will make its entrance next? Programatically, this was not a very big deal. Until I found out that my code wouldn’t run on pre-Honeycomb Android versions! Don’t be mistaking, there are lots of people who won’t update their phones. My MinSDK was 11, which maps to Android 3.0. This API level was needed, because I used the setAlpha property for ImageView :   view.setAlpha(1f); I actually forgot to set the MinSDK in my AndroidManifest. Within a few hours, complaints started coming in :D. So, I shuffled around some code, and came up with… >> Lees meer…

WieBenIk : Functionaliteit uitgebreid

In de Google-market maakte Chantal de opmerking dat WieBenIk te moeilijk is. Zij had het geinstalleerd, gespeeld, maar niet geraden dat ze “Google” was. Tja. Ik heb het zelf met 3 anderen 1,5 uur lang gespeeld. We hebben veel gelachen en eigenlijk vonden we het niet echt te moeilijk. Je moet wel je medespelers op het juiste moment een hintje geven … Juist daar dacht ik aan een stukje automatisering. Dit weekend ben ik dus aan de slag gegaan met het maken van 3 hints per woord. Ook de code moest daarvoor een beetje worden aangepast. Op het moment dat we een woord uit de database halen, kunnen we ook meteen de hints erbij laden. De database heeft er dus 3 kolommen bijgekregen, die ik uitlees. De resultaten plaats ik in een String Array, zodat het later makkelijk is om de variabelen te vullen met de verschillende hints. De DBHelper heeft dus een nieuwe methode gekregen : public String[] getRecord(long rowId) { SQLiteDatabase db = getReadableDatabase(); Cursor c = db.query(TABLE_NAME, new String[] { WORD, “HINT1”, “HINT2”, “HINT3” }, _ID + “= ” + rowId, null, null, null, null, null); if (c != null) { c.moveToFirst(); } db.close(); String[] result; result… >> Lees meer…

Nieuwe app : Wie Ben Ik ?

Ik was op zoek naar een leuk spelletje, dat je met veel mensen kunt spelen. Bijvoorbeeld om elkaar iets beter te leren kennen, samen te lachen of gewoon als tijdverdrijf. Het moest een spelletje zijn dat je kunt spelen in een groep, maar ook met z’n 2en. Misschien zelfs wel in de trein, met mensen die je niet kent. Tijdens een weekend van Mensa speelden we “WelkSpel”. Een geweldig leuk spelletje met 3 rondes. In ronde één moet je een omschrijving geven van een persoon, je team moet raden “wie je bent”. Ik begon wat te fröbelen en, tadaa : Wie ben ik op je Telefoon! Dus vandaag heb ik weer een app gepubliceerd in de Market. Ik ben nog bezig met de verfijning en ben dan ook erg nieuwsgierig naar jullie op- en aanmerkingen. Sowieso zit er nog wat werk in de vertaling. Daarnaast ben ik bezig met een andere GamePlay. We noemen het “WelkSpel” en het lijkt een beetje op de ronde ‘raadt de bekende Nederlander’ van Ik Hou van Holland. Het ontwikkelen van deze app ging behoorlijk goed! Inmiddels beginnen de JAVA tutorials hun vruchten af te werpen en begrijp ik een beetje hoe je Object Oriented… >> Lees meer…

Cursus en tutorials online

De afgelopen week heb ik een een paar dagen cursus Android Development gevolgd (kostte me wat vrije dagen, maar was de moeite meer dan waard!). Tijdens de cursus werd mijn vermoeden bevestigd; Eigenlijk zijn het niet de specifieke Android-dingen die ik niet begrijp. Ik heb de JAVA-Basics gewoon niet onder de knie. This, Context, inner- en outer-classes en static operators. Al die termen zeggen mij eigenlijk (nog) helemaal niets. Zie ook deze blogpost. Ik heb de Apps die tot nu toe in de market staan, gebouwd door gewoon maar code kopiëren-en-plakken. Elke keer als ik een fout tegenkwam, heb ik Google geraadpleegd en met veel pleisters en extra code de boel maar weer opgelost. Dat heeft als resultaat dat mijn code niet overeenkomt met welke conventie dan ook (behalve misschien mijn eigen, haha). Tijdens de cursus leerden we onder andere hoe je een XML pagina kunt ‘parsen’ en om kan zetten in FeedItems voor in een Listview. De Listview kun je dan weer tonen in een App. Interessante technologie! Ik dacht meteen aan mijn – vaak voorkomende – ergernis: Als Mensa-lid heb ik toegang tot de ledenlijst, waar ik soms een telefoonnummer of contactgegevens in wil opzoeken. Op dit moment… >> Lees meer…

Verdienrapport #1 – Estimated Earnings, Balance en Tap4Tap

Langzaam beginnen de contouren van het verdienen zich af te tekenen. De eerste stappen richting het doel. Nu wordt duidelijk hoe e.e.a. inelkaar zit en zijn de eerste rapporten beschikbaar. AdMob (adverteren in Apps) heeft al een keer $25 uitbetaald. De “Estimated Earnings” (de geschatte verdiensten per 1.000 indrukken) liggen op dit moment rond de $1,91. Als ik dat extrapoleer; Per maand moeten de Advertenties in de apps ca. 1.000.000 keer bekeken worden om een reëele verdiencapaciteit van iets minder dan 2.000 euro te bereiken. Ter vergelijking; FlitsWoorden heeft op dit moment ongeveer 100 indrukken per dag. FlitsWoorden is ca 4.000 keer geïnstalleerd, waarvan 2.000 actieve installaties. Ik doe een hoop aannames EN… Als 50% van de installaties actief blijft moet FlitsWoorden dus ca. 1.400.000 keer geïnstalleerd worden om te komen tot de 35.000 indrukken per dag (= ca € 65). FlitsWoorden is een mooi model, want er blijven kinderen instromen in groepen 2 en 3 van de basisschool. Onderhouden, dus. Kijkend naar de revenue-grafieken van FlitsWoorden valt op, dat de app het meest wordt opgestart op woensdag. Waarschijnlijk vanwege de halve dag vrij. Ik verwacht tijdens vakanties een dip te zien. Daarnaast verwacht ik vlak voor de start van… >> Lees meer…

Ideeënstroom – So much to do…

Ik ben een beetje aan het fröbelen met Speed.java. Daarmee kan ik de fruitjes in aPpLeZ wat snelheid geven. Terwijl ik dat zo aan het doen ben schieten de ideeën door mijn hoofd. aPpLeZ moet beter, leuker en uitgebreider. Ondertussen komt het eerste crashrapport van de Google Playmarket binnen. Een gebruiker is zo vriendelijk geweest om op Rapport te drukken (bedankt, Peter ;)). java.lang.NullPointerException at happyworx.nl.Applez.MainGamePanel.onDraw(MainGamePanel.java:271) at happyworx.nl.Applez.MainThread.run(MainThread.java:58) Voor apps die obscure code bevatten, bevatten stacktraces obscure symboolnamen. … Wat er bedoeld wordt met “obscure symboolnamen” weet ik niet precies, maar wat er misgegaan is, gelukkig wel. Op regel 271 van de MainGamePanel worden de appeltjes getekend. Kennelijk heeft het spel geprobeerd een appel te tekenen die er niet meer was. Dat komt waarschijnlijk door de snelheid (traagheid) waarmee sommige arraylists worden leeggemaakt. Ik heb fluks één en ander veranderd in de code en een nieuwe versie in de Market gelanceerd. Nee, helaas geen team van testers om een uitgebreid test traject mee uit te voeren ;(. Ondertussen bedenk ik allemaal leuke extraa’tjes. Appels die langzaam groter worden (dan zijn ze makkelijker te pakken), een levelcounter, na level 5 gaat dan alles draaien, na level 10 ook bewegen. Je kunt… >> Lees meer…