Googles erstes Smartphone mit Android 2.1 verfügbar
0 Kommentar(e). Veröffentlicht von Christian Ullenboom am Mittwoch, Januar 06, 2010.Kommen jetzt die Androids?
0 Kommentar(e). Veröffentlicht von Christian Ullenboom am Freitag, November 13, 2009.Vor nicht all zu Langer Zeit kam Google mit Android 2.0 um die Ecke und nun kommt es mir vor, dass alle möglichen Hersteller Android-Geräte ankündigen. Heise gibt nun auch ein Handy von LG an. Damit wächst die Liste der Android-Handys auf 13. Einige sind jedoch nur Ankündigungen doch ich bin überzeugt, es werden mehr. Es wäre Zeit, nun ein Android-Buch zu schreiben …
Labels: Android
Labels: Android, Open Source
iPhone-Applikationen mit Java entwickeln (XMLVM)
3 Kommentar(e). Veröffentlicht von Christian Ullenboom am Dienstag, August 04, 2009.Ein großartiges Projekt ist http://www.xmlvm.org/. Es steht zwar erst am Anfang, aber der sieht sehr vielversprechend aus. Die Idee von XMLVM ist einfach: Man nehme den Bytecode, repräsentierte diesen als XML, transformiere den über XSLT in Objective C und kompilieren dann.

(Bilder von der Webseite)

Die Stack-Operationen vom Java-Bytecode werden über XSLT einfach in Objective C abgebildet, wobei die Stack-Operationen beibehalten werden. Die Mühe über einen internen AST oder so macht man sich nicht.
<xsl:template match="jvm:irem">
<xsl:text>
_op2.i = _stack[--_sp].i; // Pop operand 1
_op1.i = _stack[--_sp].i; // Pop operand 2
_stack[_sp++].i = _op1.i % _op2.i; // Push remainder
</xsl:text>
</xsl:template>
Das gibt zwar für den GCC ‘ne Menge zu optimieren, aber das ist der einfachste Weg der Transformation. Später sieht das dann so aus:
@interface org_xmlvm_test_HelloWorld : java_lang_Object
+ (void) main___java_lang_String_ARRAYTYPE :(NSMutableArray*)n1;
@end
@implementation org_xmlvm_test_HelloWorld;
+ (void) main___java_lang_String_ARRAYTYPE :(NSMutableArray*)n1
{
XMLVMElem _stack[2];
XMLVMElem _locals[1];
int _sp = 0;
XMLVMElem _op1, _op2, _op3;
int _i;
for (_i = 0; _i <1; _i++) _locals[_i].o = nil;
NSAutoreleasePool* _pool = [[NSAutoreleasePool alloc] init];
_locals[0].o = n1;
_op1.o = [java_lang_System _GET_STATIC_java_lang_System_out];
_stack[_sp++].o = _op1.o;
_stack[_sp++].o = @"Hello World";
_sp -= 2;
[((java_io_PrintStream*) _stack[_sp].o) println___java_lang_String:_stack[_sp + 1].o];
[_pool release];
return;
}
@end
Weitere Beispiele gibt http://xmlvm.org/showcase/ und der Blog http://www.cokeandcode.com/aboidblog.
Insgesamt ein sehr spannendes Projekt, welches auch die Frage Android –> iPhone Entwicklung angeht, und .NET -> Java Cross-Compilation bietet. Mal sehen, wie sich das Entwickeln wird. MONO für iPhone ist auch bald bereit und dann wird iPhone Entwicklung wirklich einfach. (Bekommen wir dann noch mehr Schrott im Store?)
Labels: Android
Über die Sicherheitsarchitektur von Google Android
0 Kommentar(e). Veröffentlicht von Christian Ullenboom am Samstag, August 01, 2009.Vom 25.-30. Juli lief in in den USA die Sicherheitsmesse Black Hat. Dort hat Jesse Burns in einem Vortrag die Sicherheitsarchitektur von Android vorgestellt. Sein Paper dazu kann man hier (alternativ unter http://www.isecpartners.com/files/iSEC_Securing_Android_Apps.pdf) runterladen.
Weiterhin lesenswert ist
Labels: Android
Eclipse Google Plugin unterstützt nun Version 3.5
0 Kommentar(e). Veröffentlicht von Christian Ullenboom am Freitag, Juli 31, 2009.Java ME Anwendungen nach Android portieren
0 Kommentar(e). Veröffentlicht von Christian Ullenboom am Montag, Februar 16, 2009.Das schafft das J2ME Polish-Projekt Janus + Zusatzbiblitotheken. Heise hat das Produkt kurz in den News vorstellt.
Labels: Android
Das erste Android Programm
1 Kommentar(e). Veröffentlicht von Christian Ullenboom am Freitag, September 26, 2008.Im Moment gibt es ein großes Rumgezampel wegen der NDA von Apple bei der Entwicklung von iPhone-Applikationen und das, was es als Applikationen in den Apple App Store darf und was nicht
- http://www.heise.de/newsticker/Programmierer-kritisieren-Apples-App-Store--/meldung/115950
- http://www.alleyinsider.com/2008/9/apple-s-iphone-developer-nda-kills-book-for-iphone-developers
Google macht das mit Android besser, da hier alles frei sind wird und auch jede Applikation in den Store kommt. Und ein erstes Programm ist schnell aufgebaut:
- Gehe auf http://code.google.com/android/download_list.html.
- Lade unter Windows zum Beispiel android-sdk-windows-1.0_r1.zip. Entpacke das Zip, etwa nach C:\Program Files\Java\android-sdk-windows-1.0_r1.
- Installiere über den Eclipse Update-Manager das Plugin unter der URL http://dl-ssl.google.com/android/eclipse/. Das dauert! Starte Eclipse neu.
- Unter Window > Preferences > Android trage das Verzeichnis C:\Program Files\Java\android-sdk-windows-1.0_r1 ein.
- Gehe auf http://code.google.com/android/intro/hello-android.html und führe die Schritte für ein neues Android-Projekt durch.
- In die generierte onCreate()-Methode setzte rein:
- Starte die Applikation wie unter http://code.google.com/android/intro/hello-android.html#run beschrieben im Emulator. Das dauert leider sehr lange!
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
Labels: Android, Open Source

