PDF Reader für Android

Wer einen vernünftigen PDF Reader für Android sucht, dem sei der RepliGo Reader empfohlen welchen im Market zu finden ist. Er kostet zwar ein paar Dollar besticht aber dafür mit seiner Geschwindigkeit sowie der Layout getreuen Darstellung. Neben dem Modus bietet der Reader auch einen Reading Mode in dem man eine PDF sehr bequem lesen kann. Das Programm ist wirklich empfehlenswert :)

R.java – Die R Klasse

Nein Mercedes bringt keine neue Klasse heraus :) Android schon. In jedem Projekt gibt es eine Datei namens R.java. Wenn man in die Datei hineinschaut findet man in etwa folgendes vor:

package net.seeseekey.hello_world;

public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}

Was wir dort sehen ist ein Index aller im Projekt definierten Ressourcen. Diese Datei wird dabei automatisch vom Android Plugin (wenn man Eclipse benutzt) erzeugt. Wird Eclipse nicht benutzt so wird diese Datei jeweils zur Build Time mit Hilfe von Ant neu erzeugt. Man sollte die R.java Datei auch deshalb niemals per Hand bearbeiten.

Mit Hilfe der R Klasse greift man auf die Ressourcen zu welche man angelegt hat, egal ob es sich nun z.B. um String oder Layout Ressourcen handelt.

Android Emulator mit einer microSD Karte füttern

Standardmäßig ist wenn man den Emulator startet keine SD Karte „eingelegt“. Allerdings lässt sich dies mit wenigen Handgriffen ändern. Als erstes geht man dazu in das Android SDK in den tools Ordner. Dort öffnet man dann eine Kommandozeile (cmd) und gibt folgendes ein:

mksdcard 256M sd-emulator

Natürlich kann man auch größere Karten erzeugen. Dazu muss man nur die Zahl austauschen. Nachdem die Karte erzeugt wurde kopiert man sie an eine passende Stelle im Dateisystem.

Nun müssen wir Eclipse noch dazu bringen das es beim Start des Emulators, diesem sagt das er mit SD Karte starten soll. Dazu gehen wir auf Emulator Run -> Run Configurations bzw. auf Run -> Debug Configurations und wählen die entsprechende Konfiguration aus. Dort klicken wir auf Target und geben bei Additional Emulator Command Line Options folgenes ein:

-sdcard Pfad der SD Image Datei

was dann z.B. so aussehen würde:

-sdcard C:\Temp\sd-emulator

Das war schon. Nun startet der Emulator mit eingelegter SD Karte sobald wir die Anwendung über Eclipse starten :)

Weitere Informationen gibt es unter:
http://www.androiddevelopment.org/2008/11/11/how-to-create-and-use-the-sd-card-with-the-android-emulator/

Was bietet Android?

Eigentlich wollte ich nur mal nachschauen welche Dateiformate Android von sich aus unterstützt bin dann aber über das hübsche Architektur Diagramm von Android gestolpert.

Da lag es nah nicht nur sich die Dateiformate anzuschauen sondern den Kreis etwas größer zu ziehen. Also für Anwendungsentwickler sehr interessant ist das durchdachte und modulare Applikationsframework von Android.

So werden Bibliotheken für 2D und 3D (basierend auf OpenGL ES), Sqlite zum speichern von strukturierten Daten, Webkit und noch einige andere Bibliotheken mitgeliefert. Die Einstiegshürde ist im Gegensatz zu anderen Mobilplattformen fast nicht vorhanden. Man kann eigentlich sofort loslegen. Alle Anwendungen die der Entwickler schreibt sind Java Anwendungen welche allerdings nur auf der Android eigenen Dalvik VM laufen.

Bei der VM handelt es sich um eine Registermaschine (im Gegensatz zu einer Stapelmaschine). Das hat den Vorteil das der Bytecode wesentlich performanter ausgeführt wird.

Doch nun zu den unterstützen Medientypen. Auf der Audioseite unterstützt Android ACC, AMR, MP3, MIDI, OTA, Ogg Vorbis und PCM. Bei den Bildformaten kommt Android mit GIF, PNG, JPEG und BMP klar wobei es JPEG auch schreiben kann. Da hätte man ruhig auch noch eine Schreibunterstützung für PNG Bilder mit einbauen können.

An Videoformaten gibt es H.263, H.264 und MPEG4 SP wobei die beiden erstgenannt vom Framwork auch encodiert werden können.

Eine Besonderheit in diesem Zusammenhang ist das G1 von T-Mobile. Es unterstützt neben den genannten Formate noch die WMA und WMV Formate aus dem Hause Microsoft.

Weitere Informationen gibt es unter:
http://developer.android.com/guide/basics/what-is-android.html
http://developer.android.com/guide/appendix/media-formats.html

Workspace unter Eclipse ändern

Möchte man unter Eclipse den Workspace ändern so klickt man auf File -> Switch Workspace und ändert den Pfad. Sobald man das ganze bestätigt hat startet Eclipse neu. Möchte man das die Fenstereinstellungen etc. mit in den neuen Workspace übernommen werden, sollte man bei Copy Settings beide Checkboxen markieren. Allerdings gehen einige Einstellungen trotzdem verloren (z.B. der Pfad des Android SDK’s). Diese Einstellungen müssen dann abermals vorgenommen werden.