Eigenes Projekt

Die Twitter-Anleitung für Einsteiger

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!

Ich habe in diesem Dokument einmal kurz zusammengefasst, was für Neulinge auf Twitter wichtig ist und was zu beachten ist. (Download als PDF)

Anregungen und Fragen dazu nehme ich natürlich über die Kommentare entgegen.

Entwicklung

Openstreetmap-API zur Suche

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!

Gerade seit Google bei der intensiven Benutzung seines Kartendienstes Bezahlung fordert ist ein Aufschwung in der Benutzung von Openstreetmap zu spüren. Die Vorteile sind klar und überzeugend:

  • Offenes Kartenmaterial zur Verwendung für alle erdenklichen Zwecke
  • Möglichkeit zur Abfrage von Polygonen
  • besseres Kartenmaterial als kommerzielle Anbieter
  • Möglichkeit zur eigenen Bearbeitung

Als Schnittstelle zur Abfrage von Kartendaten ist der Nominatim-Dienst gedacht. Damit sind Suchanfragen nach Orten möglich, die dann als Punkt oder Polygon zurückgegeben werden.

Die Abfrage http://nominatim.openstreetmap.org/search?q=Westerland,Sylt&format=json gibt beispielsweise das folgende JSON-Objekt zurück:

[
  {
    "place_id":"154218904",
    "licence":"Data Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0.",
    "osm_type":"node",
    "osm_id":"27385079",
    "boundingbox":[
      "54.896578063965",
      "54.916581878662",
      "8.2956716918945",
      "8.3156726455688"
    ],
    "lat":"54.9065808",
    "lon":"8.3056721",
    "display_name":"Westerland, Sylt, Kreis Nordfriesland, Nordfriesland, Schleswig-Holstein, Deutschland, Europa",
    "class":"place",
    "type":"town",
    "icon":"http://nominatim.openstreetmap.org/images/mapicons/poi_place_town.p.20.png"
  },
  {
    "place_id":"8034707",
    "licence":"Data Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0.",
    "osm_type":"node",
    "osm_id":"794524754",
    "boundingbox":[
      "54.897264709473",
      "54.91726852417",
      "8.2999899291992",
      "8.3199908828735"
    ],
    "lat":"54.9072656",
    "lon":"8.3099903",
    "display_name":"Westerland, Bahnhofsvorplatz, Westerland, Sylt, Kreis Nordfriesland, Nordfriesland, Schleswig-Holstein, 25980, Deutschland",
    "class":"railway",
    "type":"station",
    "icon":"http://nominatim.openstreetmap.org/images/mapicons/transport_train_station2.p.20.png"
  }
]

Es werden uns alle Elemente zurückgegeben, die Westerland/Sylt heißen. Darunter ist der Ort und auch der Bahnhof, den wir jedoch durch die Eigenschaften class und type unterscheiden können. Die Daten können in Form einer HTML-Seite, im JSON- und im XML-Format angefordert werden.

Richtig interessant wird es jedoch, wenn man polygon=1 anhängt. Dadurch erhält man die Begrenzung des aktuellen Objektes, um es zu zeichnen oder zum Beispiel die Fläche zu berechnen. Weitere Parameter finden Sie hier.

Entwicklung

Eine Android-App entwickeln - Erste Schritte

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!

Eine Smartphone-App ist meist ein sehr umfangreiches Projekt, das sich über lange Zeit hinziehen kann und eine große Menge an Zeit für die Entwicklung beansprucht. Genau das kann Ihnen dieser Artikel auch nicht abnehmen, aber ich möchte beim Einstieg in die Entwicklungsumgebung und die Erstellung einer ersten, einfachen Anwendung helfen.

Android Logo

Von Google selbst wird die Verwendung der Eclipse-IDE empfohlen. In Verbindung dem Android-SDK vom Suchmaschinenriesen selbst ist damit die nahtlose Entwicklung innerhalb der IDE von der ersten Programmzeile bis zur fertig kompillierten App möglich.

Zur Programmierung wird Java verwendet.

Die IDE

Zur Installation von Eclipse lädt man sich zu Beginn die aktuelle Version von der offiziellen Webseite herunter. Ich empfehle für den vorliegenden Zweck die Verwendung von „Eclipse Classic“. Nach dem Download entpackt man einfach die zip-Datei und die Entwicklungsumgebung darin in einem beliebigen Ordner starten.

Android-SDK

Das SDK-Paket erhält man hier. Darin enthalten ist der Android-Emulator, der es ermöglicht die Apps auf dem Computer zu testen, auch wenn man kein Android-Smartphone besitzt, und die Komponenten zur Erstellung am Ende der Entwicklung. Diese Komponente wird durch einen Assistenen installiert.

Device Manager

An dieser Stelle empfehle ich bereits eine neue AVM (Android Virtual Machine) zu erstellen. Dazu muss vorher die entsprechende Version von Android heruntergeladen werden.

ADT-Plugin

Um das Android-SDK mit der Eclipse-IDE zu verbinden ist es nötig das ADT-Plugin von Google zu installieren. Dazu startet man die Entwicklungsumgebung mit eclipse.exe. Wenn das Arbeitsverzeichnis festgelegt wurde, darin wird der Code und alle Ressourcen gespeichert, geht man auf Help > Install New Software…. Über Add kann man eine neue Quelle für Pakete hinzufügen. Geben Sie dem neuen Eintrag einen beliebigen Namen und tragen Sie bei der Adresse ein:

https://dl-ssl.google.com/android/eclipse/

Wählen Sie im erscheinden Baum Developer Tool und installieren Sie das Paket.

Software Quellen

Nach einem Neustart von Eclipse sollte das Plugin fertig installiert sein, jedoch muss unter Window > Preferences unter Android noch der Pfad zum Android-SDK angegeben werden.

Projekt erstellen

Um eine neue Android-App zu erstellen wählen Sie File > New > Project…. Dort wählen Sie im Ordner Android den Punkt Android Project.

Projekttyp

Im folgenden Fenster geben Sie dem Projekt einen Namen, im nächsten geben Sie die Zielversion von Android an.

Neues Projekt

Build Target

Im letzten Fenster müssen Sie dem Paket noch einen Namen geben, eine Activity anlegen und auswählen in welcher Version von Android Ihr Programm unterstützt wird.

App Infos

Der Paketname sollte eindeutig sein und irgendwie auf Sie und Ihre App hinweisen. Es darf auch ruhig Ihre echte Domain beeinhalten. Die Activity ist sozusagen die Hauptfunktion bzw. der Bildschirm, der bei Start der App aufgerufen wird.

Klicken Sie auf Finish, um die App einzurichten. Jetzt müsste alles für die Programmierung bereitstehen.

Allgemeine Einstellungen

Öffnen Sie den Baum auf der linken Seite und doppelklicken Sie auf res/AndroidManifest.xml. In dieser Datei werden die Haupteinstellungen der App angegeben, wie der angezeigte Namen, das Icon und die Rechte, die für die Benutzung erforderlich sind. Texteinträge sollten jedoch in der Datei res/values/strings.xml angegeben und hierhin verlinkt werden. Alle Einstellungen erreichen Sie über Tabs am unteren Rand.

Manifest

Layout

Öffnen Sie durch einen Doppelklick res/layout/main.xml. Daraufhin erschient der Startbildschirm der App, der nun durch Daraufziehen mit Bedienelementen versehen werden kann. Sie können hier Textfelder, Knöpfe, Bilder usw. hinzufügen. Zusätzlich kann das Layout auch über die Bearbeitung der XML-Datei bearbeitet werden.

User Interface

Programmierung

Endlich kommen wir zum Hauptteil: Dem eigentlichen Programmieren. Die weitere Vorgehensweise hängt natürlich sehr stark davon ab, welche App sie erstellen wollen und so gibt es keine „Patentlösung“.

Um den Quellcode zu öffnen, doppelklicken Sie auf src/<Paketname>/<Activity>.java. Vor Ihnen sollte nun etwa folgendes zu sehen sein:

package test.abc;

import android.app.Activity;
import android.os.Bundle;

public class AbcActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
	public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

Ihre Aktivität erweitert also die Klasse Activity und ruft beim Starten der App durch

setContentView(R.layout.main);

den Startbildschirm auf.

Um auf Benutzereingaben reagieren zu können sind natürlich noch Event-Handler nötig.

Button submit = (Button) findViewById(R.id.button_login);

submit.setOnClickListener(new OnClickListener() {
	public void onClick(View v) {
		// do the magic
	}
});

Über die Methode findViewById können Sie Elemente des Layouts, die Sie vorher im Layout-Editor anlegen müssen, auswählen und in eine Variable speichern. Durch diese Variable kann ein EventListener, dieser hier reagiert auf Klicks, hinzugefügt werden.

Testen der App

Jetzt ist es an der Zeit die App auch einmal „live“ auszuprobieren. Klicken Sie dazu auf den grünen Knopf oberhalb des Codes:

Starten

Nun sollte der Android-Emulator starten. Bitte haben Sie dazu ein wenig Geduld, denn gerade beim ersten Start kann dieser Vorgang einige Minuten dauern. Nach einiger Zeit sollte jedoch der Lockscreen eines Android-Smartphones erscheinen und zum Entsperren auffordern. Unter den Programmen sollte nun Ihre App auftauchen und sich testen lassen.

Test

Erstellen einer .apk-Datei

Wenn Ihre App fertig ist, oder Sie sie einfach einmal auf einem echten Gerät testen wollen, sollte sie in eine apk-Datei exportiert werden. Klicken Sie dazu mit der rechten Maustaste auf Ihr Projekt und wählen Sie Android Tools > Export Unsigned Application Package. Nun können Sie die Datei speichern und auf einem Gerät ausführen.

Rechte

Wenn Ihre App beispielsweise auf das Internet zugreifen will, müssen Sie vorher die Rechte dazu anfordern, die zudem bei der Installation vom Benutzer bestätigt werden müssen. Dies erfolgt in der AndroidManifest-Datei im Tab Permissions. Für den Internetzugriff ist zum Beispiel der Uses Permission-Eintrag android.permission.INTERNET erforderlich.