ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使ってAndroidアプリを開発する方法
Google のオープンソース Android モバイル オペレーティング システムは、世界のスマートフォン市場を席巻しています。iPhone App Store にアプリケーションを提出する開発者に厳格なガイドラインと要件を設けている Apple とは異なり、Google の Android プラットフォームは非常にオープンです。Android アプリケーションを作成することもできます。 Irontech は、Android 上で動作する PHP 移植プログラムを作成しました。Android の Scripting Layer for Android (SL4A) と組み合わせることで、PHP Android アプリケーションを構築できます。
この記事では、Android 用の PHP のインストール、設定、使用方法を紹介します。51CTO は、PHP Android アプリケーションの作成方法をまだ知らない場合に、簡単なデモ プログラムを使用して説明します。一緒にきてください!
Android 用 PHP をインストールします
Android 用 PHP をインストールするための前提条件は、Android 1.5 以降がインストールされた携帯電話またはエミュレータを持っていて、「アプリケーション設定」の「不明なソース」を開いて設定することです。 SL4A 環境と PHP for Android APK をインストールできます。
SL4A のインストールは非常に簡単ですが、Android 用 PHP をインストールした後、すべての機能をインストールするには、SL4A を再度インストールする必要があります。インストール中に問題が発生した場合は、こちらのビデオ デモをご覧ください。
Android 開発環境用の PHP をセットアップする
理論的には、PHP for Android をインストールしたら、PHP Android アプリケーションの作成を開始できますが、うまく機能しません。Android SDK をダウンロードし、エミュレーターを作成してから、お気に入りのエディターでコードを作成します。
PHP for Android
Android SDKをダウンロードし、指定したディレクトリに抽出し、toolsディレクトリでAndroidプログラムを実行してエミュレータを作成し、Android SDKとAVDマネージャーのメニューから「仮想デバイス」を選択し、クリックします[新規] ボタンをクリックし、エミュレータに名前 (Droid2 など) を付け、ターゲット プラットフォームとして Android 2.2 を選択し、SD カード サイズとして 10MB を入力し、最後に [AVD の作成] をクリックします。
Droid2 エミュレータを作成したら、「開始」ボタンをクリックします。ここで少し問題があります。ファイルを仮想デバイスにコピーするだけではなく、ポートを設定する必要もあります。転送し、adb というプログラムを使用して転送します。PHP スクリプトは仮想デバイスにプッシュされます。adb は Android SDK の一部であり、tools ディレクトリにもあります。
次に、仮想デバイス上でサーバーを起動し、スクリプトをサーバーに送信します。次の手順は、迅速に起動して実行するのに役立ちます。
新しい仮想デバイスが実行されたら、アプリケーション画面に移動して「SL4A」をクリックします。
SL4A 画面で、[メニュー] ボタンをクリックし、[表示]、[インタープリター] の順に選択します。
もう一度「メニュー」ボタンをクリックし、「サーバーの起動」を選択し、「プライベート」を選択します。
Android 通知バーを下にドラッグすると、SL4A サービスが表示されるはずです (このサービスをクリックし、サーバーがリッスンしているポート番号 (47000 など) に注意してください)。
シェルまたはコマンド プロンプトを開き、adb ツールを使用してポート転送を設定します。たとえば、「adb forward tcp:9999 tcp:47000」というコマンドを入力し、47000 をポート番号に置き換えます。
AP_PORT 環境変数を設定します。Unix または Mac では、「export AP_PORT=9999」を実行します。Windows では、「set AP_PORT=9999」と入力します。
エミュレータでスクリプトをテストしたい場合は、「adb Push my_script.php /sdcard/sl4a/scripts」を実行し、「my_script.php」をスクリプト名に置き換えます。
実際の携帯電話でテストすることもできます。作業を簡単にするために、Android SDK の場所を指す ANDROID_HOME 環境変数を設定し、Tools サブディレクトリをパスに追加する必要があります。
PHP を使用して Android アプリケーションを構築する
開発環境をセットアップした後、Android 上で実行する PHP アプリケーションを作成するのは実際には非常に簡単です。注意する必要があるのは 1 つだけです。それは、PHP for Android に含まれる PHP のバージョンです。このバージョンには、基本的にコアの PHP 関数と JSON サポートのみが含まれています。Java フレームワークに精通している場合、SL4A では、Java を使用して Android プログラムを開発するときに使用するすべてのコンポーネントへのアクセスが提供されないことがわかります。使える。
SL4A は、Android API のサブセットを提供します (すべての SL4A メソッドのリストについては、こちらを参照してください)。たとえば、以下では、株価を表示および確認するための非常に短いコードを使用します。 。
<?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; } } ?>
上記のコードを quoter4android.php ファイルとして保存し、エミュレータにアップロードしてください。エミュレータがまだ実行されていない場合は、まずエミュレータを起動し、Android SDK ツール ディレクトリの adb を使用してポート転送を設定し、quote4android をアップロードしてください。 php ファイル。
エミュレータでアプリケーションを実行したい場合は、アプリケーション画面に移動し、SL4A アイコンをクリックして、quote4android.php オプションをクリックします。
quoter4android.php を携帯電話にインストールしたい場合は、ポート転送を設定し、USB 経由で携帯電話をコンピュータに接続し、スクリプトを sl4a/scripts ディレクトリにコピーすると簡単になります。ただし、携帯電話でスクリプトを実行したい場合は、最初に USB ケーブルを抜く必要があります。そうしないと、SL4A アイコンをクリックしたときにインストールされているスクリプトが表示されません。
上記のコードの最初の行で定数 QUOTE_SERVER が設定されていることがわかります。従来の PHP Web アプリケーションに慣れている場合は、コードの配布方法について心配する必要はありません。将来の変更については、Android での動作について見ていきます。実際の PHP コードを配布する必要があるため、PHP Android アプリを Android マーケットに送信する場合は、その中に Web アドレスをハードコーディングできます。あなたは制御できません アプリケーションは画像に従って検索します。
たとえば、以前の株式プログラムは実際に Yahoo の Web サービスから株式情報を取得します。Android プログラムで Yahoo への直接アクセスをハードコーディングする代わりに、Android アプリケーションと Yahoo 株式サービス間の接続として単純な Web サービスを作成しました。したがって、Yahoo がこのサービスを今すぐ停止することを決定した場合、またはアクセス方法を変更した場合、私は xxx.com で Web サービスを更新することしかできず、Android コードを変更する必要はありません。さらに、Web サービスを活用することで、一部の複雑な Android アプリケーションを簡素化し、必要最低限のバージョンではなく PHP の完全な機能を使用できるようになります。ここでは、Perl で Web サービスを作成しました ( mod_perl を使用)。
概要
Android 用の SL4A と PHP でできることはたくさんあります。この記事はほんの表面をなぞっただけで、どちらのプロジェクトも非常に若いです。実際、これを書いている現在、SL4A は新しいバージョンをリリースしています。成熟すればするほど、その機能はますます強力になります。最後に、どのような場合でも、Android アプリは小さくコンパクトに保つようにしてください。