Maak je eigen Android App

Door Rhapsody op maandag 4 juli 2011 17:04 - Reacties (14)
Categorieën: .NET, Dev, Views: 8.807

Zo, na een lange radiostilte weer eens een post van mij.

Kort na de introductie van de Tweakers Android App, kwam bij mij de gedachte naar boven borrelen dat veel apps tegenwoordig niet veel meer zijn dan een schilletje om een website heen.

Toegegeven, de Tweakers app (en zo zijn er wel meer) ziet er erg mooi uit, maar in principe is het niet veel meer dan een voor mobile devices geoptimaliseerde view van de website.

Apps zijn helemaal hot. Elk platform moet zijn eigen app-store hebben en erg wordt enorm veel geld mee verdiend. (Angry Birds anyone?)

Customizable app
Maar goed; al denkende kwam ik dus op het idee om een 'customizable app' te maken. Een applicatie die je op een aantal punten kunt aanpassen. Omdat ik niet zo handig ben met Java/Eclipse (geef mij maar .NET en Visual Studio) was het wel even prutsen, maar het is gelukt. Niet helemaal helaas, maar daar kom ik zo nog op terug.

Allereerst heb ik een Android applicatie gemaakt in Eclipse. Dit is eigenlijk niet meer geworden dan een Activity met een WebView. In deze WebView wordt een URL geladen. Deze URL is gedefinieerd in het settings bestand (strings.xml).

Vervolgens heb ik een .NET Windows Applicatie gemaakt die met behulp van apktool de *.apk kan (de)compileren. In de applicatie kun je een aantal dingen invoeren:
  1. Naam van de applicatie
  2. Iconen (72x72px, 48x48px en 36x36px)
  3. Url
Na het klikken op 'create' wordt de base package gedecompileerd en worden de ingevoerde waarden ingevuld. Vervolgens wordt het hele pakketje weer gecompileerd en gesigneerd.

Maar...
Binnen Android worden applicaties geidentificeerd op packagename. Het is mij helaas nog niet gelukt om deze aan te kunnen passen. Dit houdt dus helaas in dat je per telefoon maar 1 'custom app' kunt draaien. Hier heb ik nog geen oplossing voor gevonden helaas. Iemand een idee?

Screenshot
Hieronder een screenshot van de Windows applicatie om een custom app te maken;

Custom Android App Builder
Klik voor volledige grootte.

Download
Het hele pakketje kun je hier downloaden. :-)
De tool is geschreven in C# en .NET 4 full (geen client profile) is vereist.

Disclaimer
Niet aansprakelijk etc etc.
De code stelt niet zoveel voor. Omdat het een pruts-projectje was is de code ook niet netjes en niet echt voorzien van commentaar. Ik heb ook geen idee of er al zoiets bestaat, daar heb ik eerlijk gezegd nooit naar gezocht. Ik vond het gewoon leuk om eens te proberen.

Volgende: Online muziek kopen 02-'12 Online muziek kopen
Volgende: Ticket Service 11-'10 Ticket Service

Reacties


Door Tweakers user MissileHugger, maandag 4 juli 2011 18:03

Er is uiteraard wel zoiets als de App Inventor van Google zelf...
http://appinventor.googlelabs.com/about/

Verder is het wel een grappig idee.

Door Tweakers user CodeCaster, maandag 4 juli 2011 18:38

Maar wat heeft zo'n gegenereerde app dan precies voor toegevoegde waarde? Een browser die naar één site kan en toevallig een custom icoontje heeft?

Door Tweakers user Rhapsody, maandag 4 juli 2011 19:00

CodeCaster schreef op maandag 04 juli 2011 @ 18:38:
Maar wat heeft zo'n gegenereerde app dan precies voor toegevoegde waarde? Een browser die naar één site kan en toevallig een custom icoontje heeft?
Klopt helemaal. Natuurlijk zou je dit kunnen uitbreiden met ondersteuning voor menu-items e.d. maar goed.

Het was voor mezelf ook een leuk prutswerkje tussendoor. Op mijn werk gebruik ik VB.NET en dit is in C# geschreven. Dat wil ik mezelf ook wat beter eigen maken en daar heb ik dit ook voor misbruikt :)

Door Tweakers user CodeCaster, maandag 4 juli 2011 19:49

Ah dán is het wel een leuk project ja. :)

Door Tweakers user Rhapsody, maandag 4 juli 2011 20:17

Misschien nog wel interessanter: een thuis-projectje dat afgemaakt wordt :) Dat gebeurt bij mij niet zo vaak.

Door Tweakers user ZpAz, maandag 4 juli 2011 21:08

Rhapsody schreef op maandag 04 juli 2011 @ 20:17:
Misschien nog wel interessanter: een thuis-projectje dat afgemaakt wordt :) Dat gebeurt bij mij niet zo vaak.
Veel te herkenbaar :')

Door Tweakers user theike, maandag 4 juli 2011 23:17

:') idd.
Maar wel geinig idee. Btw, als Eclipse je niet bevalt, probeer dan eens Netbeans. Best fijne IDE. Maar goed als je C-scherp wil programmeren dan weet ik ook niets anders dan Visual Studio :z

Zelf ben ik met Qt aan de slag gegaan, ook wel geinig :Y)

Edit: "niet handig" in ipv "niet bevalt". Daar kan een IDE natuurlijk niets aan veranderen. Maar C-Scherp en Java verschillen wel, maar het blijft OO programmeren dus valt wel op te pakken.

[Reactie gewijzigd op maandag 4 juli 2011 23:21]


Door Tweakers user Rhapsody, dinsdag 5 juli 2011 07:22

Het lukt wel in Eclipse. Netbeans heb ik in het verleden wel eens geprobeerd (weet alleen niet meer voor wat... pre-android). Maar ik heb toch maar Eclipse gepakt, want daar gaan de meeste informatiebronnen op internet toch een beetje vanuit.

Maar geef mij toch maar Visual Studio :)
Al een paar dagen ben ik er van in de war....

[Reactie gewijzigd op dinsdag 5 juli 2011 07:22]


Door Tweakers user Paultje3181, dinsdag 5 juli 2011 08:25

Ik probeer hier een app mee te maken en krijg de melding dat de app gecreate is, maar vervolgens niets. Het bestand is niet terug te vinden... Enig idee? Enige vereiste is toch .net 4.0?

Door Tweakers user Rhapsody, dinsdag 5 juli 2011 09:07

Klopt, er wordt .NET 4 (full profile) gebruikt.

Ik heb het hier op verschillende systemen getest en geen problemen ondervonden. Maar ik denk dat het probleem iets met rechten is.
De tool maakt een temp directory aan in zijn eigen directory, daar worden alle operaties uitgevoerd.
Vervolgens bij het signeren wordt de *.apk gekopieerd naar je aangegeven directory. Je kunt eens proberen om een andere map aan te wijzen?

Door Tweakers user phex, dinsdag 5 juli 2011 16:27

Grappig, ik heb er een shortcut naar een webapp mee gemaakt.

Voor webdevelopers die gewoon hun app willen "embedden" in een android app is deze tool geniaal.

Wat misschien nog wel fijn zou zijn als je wat (custom)acties/urls onder het context menu kan zetten.

Door Tweakers user Paultje3181, donderdag 7 juli 2011 09:56

Rhapsody schreef op dinsdag 05 juli 2011 @ 09:07:
Klopt, er wordt .NET 4 (full profile) gebruikt.

Ik heb het hier op verschillende systemen getest en geen problemen ondervonden. Maar ik denk dat het probleem iets met rechten is.
De tool maakt een temp directory aan in zijn eigen directory, daar worden alle operaties uitgevoerd.
Vervolgens bij het signeren wordt de *.apk gekopieerd naar je aangegeven directory. Je kunt eens proberen om een andere map aan te wijzen?
Ik heb hem nu getest en op een XP-machine doet ie het wel. Als ik de APK echter laad op mijn HD2 krijg ik een foutmelding:

Ontleedfout: Er is een probleem met het ontleden van de verpakking.

Enig idee waar dit verkeerd kan gaan?

Door Tweakers user Rhapsody, donderdag 7 juli 2011 20:38

Stuur de package maar even naar mijn ziggo (username@) dan kan ik wel even kijken.

Anders kun je ook Android System Info installeren om de logs te bekijken.

Door Tweakers user Coltragon, zondag 10 juli 2011 02:05

Binnen Android worden applicaties geidentificeerd op packagename. Het is mij helaas nog niet gelukt om deze aan te kunnen passen. Dit houdt dus helaas in dat je per telefoon maar 1 'custom app' kunt draaien. Hier heb ik nog geen oplossing voor gevonden helaas. Iemand een idee?
Jij hebt exact gedaan wat een maat en ik een halfjaar geleden wouden doen maar het kwam er niet van. Ons idee om jouw probleem op te lossen was als volgt: Het builden van een app kan je ook gewoon doen via de commandline. De code voor elke app is standaard hetzelfde, package name en andere variabelen die pas je aan met je favoriete programmeertaal in de code en die build je gewoon met de android-SDK. Enigste probleem is wel dat je een server moet hebben die dit doet en dan de gebruiker het .apk bestandje laat downloaden.

Reageren is niet meer mogelijk