Googles Open-Source-Mobilbetriebssystem Android erobert im Gegensatz zu Apple strenge Richtlinien und Anforderungen für Entwickler, die Anwendungen im iPhone App Store einreichen möchten. Sie können sogar schreiben Android-Anwendungen in PHP Irontech hat ein PHP-Portierungsprogramm erstellt, das auf Android läuft. In Kombination mit Androids Scripting Layer für Android (SL4A) können Sie PHP-Android-Anwendungen erstellen.
In diesem Artikel stellen wir vor, wie man PHP für Android installiert, konfiguriert und verwendet. Wenn Sie noch nicht wissen, wie man PHP schreibt, wird SL4A ein einfaches Demoprogramm als Beispiel verwenden Android-Anwendungsprogramm, dann folgen Sie mir bitte!
PHP für Android installieren
Voraussetzung für die Installation von PHP für Android ist, dass Sie ein Mobiltelefon oder einen Emulator mit Android 1.5 oder höher installiert haben und unter „Anwendungseinstellungen“ „Unbekannte Quellen“ öffnen. und nach der Einrichtung können Sie die SL4A-Umgebung und PHP für Android APK installieren.
Die Installation von SL4A ist recht einfach, aber nach der Installation von PHP für Android müssen Sie es erneut installieren, um alle Funktionen zu installieren. Wenn Sie während der Installation Probleme haben, finden Sie hier eine Videodemonstration.
PHP für Android-Entwicklungsumgebung einrichten
Theoretisch können Sie, sobald Sie PHP für Android installiert haben, mit dem Schreiben von PHP-Android-Anwendungen beginnen, aber es funktioniert nicht sehr gut, Sie sollten die herunterladen Android SDK, erstellen Sie einen Emulator und schreiben Sie dann Code in Ihrem bevorzugten Editor.
PHP für Android
Laden Sie das Android SDK herunter, extrahieren Sie es in das angegebene Verzeichnis, führen Sie das Android-Programm im Tools-Verzeichnis aus, um einen Emulator zu erstellen, und Erstellen Sie einen Emulator aus dem Android SDK. Wählen Sie im AVD Manager-Menü „Virtuelles Gerät“ aus, klicken Sie auf die Schaltfläche „Neu“, geben Sie dem Emulator einen Namen (z. B. Droid2), wählen Sie die Zielplattform Android 2.2 aus und geben Sie 10 MB für die SD-Karte ein Wählen Sie die Größe aus und klicken Sie abschließend auf „AVD erstellen“.
Klicken Sie nach dem Erstellen des Droid2-Emulators auf die Schaltfläche „Start“. Hier kann es zu kleinen Problemen kommen, da Sie die Datei nicht nur auf das virtuelle Gerät kopieren können, sondern sie auch einrichten müssen Sie müssen die Portweiterleitung mithilfe eines Programms namens adb einrichten. Das Programm überträgt Ihre PHP-Skripte auf das virtuelle Gerät. adb ist Teil des Android SDK, das sich ebenfalls im Tools-Verzeichnis befindet.
Als nächstes starten Sie einen Server auf dem virtuellen Gerät und senden dann das Skript an den Server. Die folgenden Schritte helfen Ihnen, schnell einsatzbereit zu sein.
Während Ihr neues virtuelles Gerät läuft, gehen Sie zum Anwendungsbildschirm und klicken Sie auf „SL4A“.
Klicken Sie auf dem SL4A-Bildschirm auf die Schaltfläche „Menü“, wählen Sie „Ansicht“ und dann „Interpreter“.
Klicken Sie erneut auf die Schaltfläche „Menü“, wählen Sie „Server starten“ und dann „Privat“.
Ziehen Sie die Android-Benachrichtigungsleiste nach unten und Sie sollten den SL4A-Dienst sehen können (klicken Sie auf diesen Dienst und achten Sie auf die Portnummer, die Ihr Server überwacht, z. B. 47000).
Öffnen Sie eine Shell oder Eingabeaufforderung und richten Sie die Portweiterleitung mit dem ADB-Tool ein. Geben Sie beispielsweise den Befehl „adb forward tcp:9999 tcp:47000“ ein und ersetzen Sie 47000 durch Ihre Portnummer.
Legen Sie die Umgebungsvariable AP_PORT fest. Führen Sie unter Unix oder Mac „export AP_PORT=9999“ aus. Geben Sie unter Windows „set AP_PORT=9999“ ein.
Wenn Sie Ihr Skript auf dem Emulator testen möchten, können Sie „adb push my_script.php /sdcard/sl4a/scripts“ ausführen und dabei „my_script.php“ durch Ihren Skriptnamen ersetzen.
Sie können den Test auch auf einem echten Telefon durchführen. Zur Vereinfachung sollten Sie eine Umgebungsvariable ANDROID_HOME festlegen, die auf den Speicherort des Android SDK verweist, und das Unterverzeichnis tools zum Pfad hinzufügen.
Android-Anwendungen mit PHP erstellen
Nach dem Einrichten der Entwicklungsumgebung ist das Schreiben einer PHP-Anwendung für die Ausführung auf Android eigentlich sehr einfach. Sie müssen nur auf eines achten: PHP für Android Die mitgelieferte PHP-Version ist eine extrem abgespeckte Version, die im Wesentlichen nur die Kernfunktionen von PHP und JSON-Unterstützung enthält. Wenn Sie mit Java-Frameworks vertraut sind, werden Sie feststellen, dass SL4A nicht Zugriff auf alle Komponenten bietet, die Sie verwenden möchten , mit Java Diese Komponenten können bei der Entwicklung von Android-Programmen verwendet werden.
SL4A stellt eine Teilmenge der Android-API bereit (eine Liste aller SL4A-Methoden finden Sie hier). Mit PHP für Android können Sie beispielsweise schnell Programmprototypen erstellen, um den Bestand zu implementieren Preis unten. Anzeige und Besichtigung.
<?php define('QUOTE_SERVER', 'http://xxx.com/?ticker=%s'); require_once("Android.php"); $droid = new Android(); $action = 'get_tickers';$tickers = ''; while (TRUE) { switch ($action) { case 'quote':$droid->dialogCreateSpinnerProgress("Querying stock information server ...", "Please wait");$droid->dialogShow(); $quotes = @array_slice(json_decode(file_get_contents(sprintf(QUOTE_SERVER, $tickers))), 0, 3); $droid->vibrate(); $droid->dialogDismiss();// Possible data points.// "SYMBOL","NAME","LAST_TRADE","MORE_INFO","LAST_TRADE_DATE","LAST_TRADE_TIME","OPEN","DAYS_HIGH","DAYS_LOW","DIVIDEND_SHARE","PE_RATIO","52_WEEK_LOW","52_WEEK_HIGH","VOLUME"$output = '';for ($i = 0, $cnt = count($quotes); $i < $cnt; $i++) { $output .= "Company: " . $quotes[$i]->NAME ."\n"; $output .= "Ticker: " . $quotes[$i]->SYMBOL . "\n"; $output .= "Last trade: $" . $quotes[$i]->LAST_TRADE . "\n"; $output .= "\n"; } $output = html_entity_decode($output, ENT_QUOTES, "UTF-8"); // Something is wrong with ' $output = str_replace("'", "'", $output); $droid->dialogCreateAlert("Your stock quotes", $output); $droid->dialogSetPositiveButtonText("Get new quote"); $droid->dialogSetNegativeButtonText("Exit"); $droid->dialogShow(); $response = $droid->dialogGetResponse(); if ($response['result']->which == 'negative') { $action = "exit"; } else { $action = 'get_tickers'; } break; case 'get_tickers':$response = $droid->getInput("Stock Tickers (max. 3)", "Enter Tickers.\nSeparate with spaces."); $tickers = str_replace(' ', '+', $response['result']); $droid->vibrate(); $action = 'quote'; break; case 'exit':$droid->exit(); exit(); break; } } ?>
Speichern Sie den obigen Code als quote4android.php-Datei und laden Sie ihn auf Ihren Emulator hoch. Wenn Ihr Emulator noch nicht läuft, starten Sie ihn bitte zuerst und verwenden Sie adb im Android SDK-Tools-Verzeichnis, um Ihren Port weiterzuleiten und Laden Sie die Datei quote4android.php hoch.
Um die Anwendung in Ihrem Emulator auszuführen, gehen Sie zum Anwendungsbildschirm, klicken Sie auf das SL4A-Symbol und dann auf die Option quoter4android.php.
Wenn Sie quoter4android.php auf Ihrem Telefon installieren möchten, können Sie eine Portweiterleitung einrichten und Ihr Telefon über USB mit Ihrem Computer verbinden, um das Kopieren der Skripte in das Verzeichnis sl4a/scripts zu erleichtern. Wenn Sie das Skript jedoch auf Ihrem Telefon ausführen möchten, müssen Sie zuerst das USB-Kabel abziehen, da sonst beim Klicken auf das SL4A-Symbol keine installierten Skripte angezeigt werden.
Sie werden feststellen, dass die erste Zeile des obigen Codes eine Konstante QUOTE_SERVER festlegt. Wenn Sie an herkömmliche PHP-Webanwendungen gewöhnt sind, müssen Sie sich keine Gedanken darüber machen, wie Sie Ihren Code verteilen Um sich über zukünftige Änderungen Sorgen zu machen, müssen Sie jetzt Ihren echten PHP-Code zuweisen. Wenn Sie sich also dazu entschließen, Ihre PHP-Android-App im Android Market einzureichen, können Sie eine Webadresse fest codieren nicht unter Ihrer Kontrolle. Darin wird Ihre Bewerbung entsprechend dem Bild angezeigt.
Zum Beispiel ruft das vorherige Aktienprogramm tatsächlich Aktieninformationen von einem Yahoo-Webdienst ab. Anstatt den direkten Zugriff auf Yahoo im Android-Programm festzuprogrammieren, habe ich einen einfachen Webdienst als Android-Anwendung erstellt zwischen dem Programm und dem Yahoo-Aktiendienst. Wenn Yahoo also beschließt, diesen Dienst jetzt einzustellen oder die Zugriffsmethode zu ändern, kann ich einfach meinen Webdienst unter xxx.com aktualisieren, und der Android-Code muss keine Änderungen vornehmen. Darüber hinaus kann ich durch die Nutzung von Webdiensten einige komplexe Android-Anwendungen einfacher machen und die volle PHP-Funktionalität anstelle einer abgespeckten Version nutzen. Hier habe ich einen Webdienst in Perl geschrieben (mit mod_perl).
Zusammenfassung
Mit SL4A und PHP für Android lässt sich vieles machen. Tatsächlich sind beide Projekte noch sehr jung Damals veröffentlichte SL4A eine neue Version, die mit zunehmender Reife immer leistungsfähiger wird. Denken Sie abschließend daran, Ihre Android-Apps auf jeden Fall klein und kompakt zu halten.