通過 PHP for Android 利用PHP編寫Android應用教程
概述
Android 上的主要開發語言是Java,讓很多PHPer覺得非常遺憾。但是自從ASE(Android Scripting Environment-Android腳本環境)誕生后,允許用戶直接在Android設備上運行腳本,ASE已經支持Python、Lua和 BeanShell、Perl等腳本語言。ASE的實現原理其實和OMS的BAE(Browser based Application Engine)平臺比較類似。可以在http://code.google.com/p/android-scripting/找到ASE相關的內容和API列表。
以下功能都可以通過ASE的接口方便的實現。
- 發送通話請求
- 發送文字信息
- 掃描條形碼
- 獲取GPS信息
- 使用語音服務
隨著PFA的出現,在Android上用PHP編寫應用和工具變成了現實。它為ASE提供了PHP的支持,官方站點見:http://phpforandroid.net/。
下面我將以Android模擬器為例,介紹在Android平臺上實現PHP簡單應用的完整過程。
模擬器安裝
Android 模擬器安裝可看這篇文章:Android 模擬器安裝及使用教程
Android模擬器允許你在電腦上使用Android環境,支持Windows、Linux、Mac等平臺,下面以Windows平臺為例。
先需要從http://dl.google.com/android/android-sdk_r04-windows.zip下載Android SDK,解壓縮并運行里面的SDK Setup.exe,這會打開Android SDK and AVD Manager。
啟動后會遇到一個錯誤,需要在Settings的Misc配置里將“Force https://…sources to be fetched using http://”選上。
重 啟Android SDK and AVD Manager,然后在出現的“choose Packages to Install”界面上選擇“SDK Platform Android 2.1-update1,API 7,revision 2”(2.0和2.1的版本也可以)。記住一定要把其他的選項都雙擊打上叉,否則從國外網站下載安裝所有的Package是非常慢的事情!
然后選擇“Accpet”并Install。
安裝成功后我們可以創建一個Android虛擬設備了。點擊Virtual Devices,選擇最右邊的New選項。在出現的對話框里填入以下內容:
虛擬設備創建成功后,選擇這個設備并點擊右邊的Start啟動它。在出來的“Launch Options”上不要選擇任何選項,然后點擊Launch。
等待一些時間后,系統啟動完畢。界面如下所示,這就是標準的Android系統界面。
ASE 和 PFA 的安裝
我們先在PFA的項目主頁(http://www.phpforandroid.net/)上下載ASE(http://phpforandroid.net/files/ASEr26unofficial.apk)和PFA(http://phpforandroid.net/files/PhpForAndroid_r1.apk),其中ASE是他們修改過的非官方的版本。
在模擬器上安裝Android上的應用程序需要用到adb-Android Debug Bridge,Android SDK里的一個工作,它可以管理Android模擬器或者真實的Android手機。它的主要功能有:
- 安裝apk軟件到模擬器或者Android手機
- 在計算機和Android設備之間上傳或下載文件
- 管理模擬器或手機的端口映射
- 運行設備的Shell
這個工具在Android SDK目錄下的tools目錄里,我們將下載回來的ASE和PFA也放置在這兒。
打開命令提示符執行如下命令,將ASE和PFA安裝到模擬器上:
切換到模擬器,點擊主屏幕最下方的按鈕顯示應用程序列表,可以看到ASE和PFA已經安裝。
點擊PFA的圖標運行PFA,然后點擊頂部的Install按鈕,開始下載PHP的library和Demo。
下載安裝完畢后,關閉PFA,運行ASE,已經可以看到一些PHP的Example程序。
運行PHP 程序
點擊其中任何一個程序都可以直接運行。我們點擊hello_world.php程序,開始執行程序,彈出一個對話框,我們在里面輸入一個字符串。
程序的運行結果將在屏幕上顯示。
另外一個程序的運行結果如下圖所示。
查看和編寫PHP 程序
我們有兩種方式編寫和查看PHP程序。
1、第一種方式是是用adb,將程序下載到計算機中,還可以將編寫好的程序上傳到Android設備上。這種方式適合熟悉在計算機編程的朋友(在模擬器上編程是一件非常痛苦的事情,使用手機也不是一個非常方便的選擇)。
按照如下方式執行adb命令,可以方便的連接到Android模擬器上。
PHP程序放置在sdcard/ase/scripts目錄下,我們進入此目錄。
其中的文件就是我們剛才看到的PHP示例程序,我們可以用adb pull命令從設備上下載這些文件。
這些文件已經下載在tools目錄下了,我們可以打開,查看并編輯這些文件。例如hello_world.php內容如下所示。
require_once(“Android.php”);
$droid = new Android();
$name = $droid->getInput(“Hi!”, “What is your name?”);
$droid->makeToast(‘Hello, ‘ . $name['result']);
我們將這個文件稍加修改,將最后一句改為:
$droid->makeToast(‘Hello, I love ‘ . $name['result'] );
并將文件名修改為hello_world2.php,再使用adb push將此文件上傳到設備。
已經可以在ASE的界面里看到hello_world2.php程序了,點擊運行。
運行結果如下圖所示。
2、第二種方式是直接在手機上查看、編輯程序。
運行程序完畢后,點擊Menu鍵會出現ASE的菜單。
點擊Exit & Edit可以進入編輯模式。
此時點擊Menu按鈕會再次出現菜單,里面會有我們常用到的API Browser,里面包含了API列表,包括常用的dialogShow、makeToast、checkScreenOn等等。
下面我們添加一個應用程序。在ASE主界面點擊Menu按鈕,出現主菜單。點擊上面的Add按鈕。
在編輯器模式里輸入文件名和代碼。
然后即可運行該應用程序。
打包
以上介紹了在Android平臺上如何編寫簡單的應用程序,但是如何將這些PHP程序打包為可安裝的apk文件呢?SL4A項目可以解決這個問題,但是它沒有正式發布,到可用的程度還需要一段時間。我們還需要耐心等待,我會隨時關注并介紹這個項目的進展。
總結
文章介紹了如何使用PHP在Android平臺上進行簡單應用程序的開發,深入的部分會在后繼進行介紹。
轉自:http://hi.baidu.com/zhengjun523/item/f61ccf566a2251c19e2667b1