原文链接:http://blog.csdn.net/hfahe/article/details/5775208

概述

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的接口方便的实现。

u  发送通话请求

u  发送文字信息

u  扫描条形码

u  获取GPS信息

u  使用语音服务

随着PFA的出现,在Android上用PHP编写应用和工具变成了现实。它为ASE提供了PHP的支持,官方站点见:http://phpforandroid.net/。

下面我将以Android模拟器为例,介绍在Android平台上实现PHP简单应用的完整过程。

模拟器安装

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手机。它的主要功能有:

u  安装apk软件到模拟器或者Android手机

u  在计算机和Android设备之间上传或下载文件

u  管理模拟器或手机的端口映射

u  运行设备的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内容如下所示。

<?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平台上进行简单应用程序的开发,深入的部分会在后继进行介绍。

在Android上用PHP编写应用- PFA初探相关推荐

  1. [译] Android 上一次编写,随处测试

    原文地址:Write Once, Run Everywhere Tests on Android 原文作者:Jonathan Gerrish 译文出自:掘金翻译计划 本文永久链接:github.com ...

  2. 构建node.js基础镜像_在Android上构建Node.js应用程序

    构建node.js基础镜像 by Aurélien Giraud 通过AurélienGiraud 在Android上构建Node.js应用程序-第1部分:Termux,Vim和Node.js (Bu ...

  3. 如何在Android上管理startActivityForResult?

    本文翻译自:How to manage startActivityForResult on Android? In my activity, I'm calling a second activity ...

  4. android 使用perl语言,在Android上用python(Perl、Lua、BeanShell等)编程

    原文来自:http://imxingzhi.appspot.com/?p=110001python 偶然间发现了google code上的一个项目--android-scriptingandroid ...

  5. 安卓如何运行python_如何在android上运行Python代码?

    这个非常简单,Termux和QPython3这2个安卓APP就可以,都集成了Python解释器,可以直接编辑运行Python代码,下面我简单介绍一下: Termux 这是一个安卓高级终端APP,类似于 ...

  6. 在 Android 上使用协程(二):Getting started

    原文作者 :Sean McQuillan 原文地址: Coroutines on Android (part II): Getting started 译者 : 秉心说 这是关于在 Android 中 ...

  7. android 协程,Android 上的 Kotlin 协程

    协程是一种并发设计模式,您可以在 Android 平台上使用它来简化异步执行的代码.协程是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念. 在 Android 上,协程有助于 ...

  8. 长微博android,Android 上最强大的长微博工具:BlackLight 长微博

    手机端的长微博工具屈指可数,Android 上的更是寥寥无几.除却官方客户端那不太像样的长微博功能之外,能够将长文字转换成图片的恐怕就只有锤子便签和 Smooth 了.BlackLight 作为新晋的 ...

  9. android上最好的linux终端,如何在带有Termux的Android上使用Linux命令行 | MOS86

    apt install [package name]我们的< APTA入门指南>和< APTA在Ubuntu中安装软件的指南>< APT在Ubuntu中在APT中安装软件 ...

最新文章

  1. WCF BasicHttpBinding 安全解析(4)windows验证(IIS宿主)
  2. 一个很简短的 JS 生成器入门和用法参考
  3. 运维请注意:”非常危险“的Linux命令大全
  4. Cookie的设置获取和删除
  5. Python可视化库matplotlib(基础整理)
  6. python 树结构 sqlalchemy_如何从SQLalchemy mod创建json树结构
  7. jquery-文档操作-标签取值-输入控件取值与赋值
  8. 9个心理学研究,让你学习更高效
  9. 多数据源与动态数据源的权衡
  10. 电子白板计算机培训心得,“希沃电子白板”培训心得体会3篇
  11. 计算机网络应用ppt,1分钟骚操作顶别人10分钟!不可不懂的PPT神技
  12. 单片机数码管动态显示时钟C语言,8位数码管显示电子时钟c51单片机程序
  13. IDEA集成docker-maven-plugin配置CA安全证书
  14. 骑士精神 (迭代加深)
  15. 百位明星身份证照片被曝光
  16. php验证码手册,验证码_专题_帮助文档_Thinkphp手册
  17. 征信的用途以及提升途径
  18. SystemVerilog: 打印显示之数据格式控制及特殊字符详解
  19. 对睡眠好的东西,失眠了,就看看这些助眠好物
  20. 2012最新个税税率表及速算扣除数

热门文章

  1. STM32移植uC/OSIII
  2. 【软件质量】软件一致性
  3. 销售需要具备的8种能力
  4. 校园人到企业人的转变
  5. 想看的公众号文章被删了怎么办?
  6. Logitech罗技PowerPlay无线充电鼠标垫,堪称鼠标垫界的天花板
  7. (二)通过pygame让游戏人物 动起来
  8. 改变程序黑窗口的背景和字体颜色
  9. 【转】fluent时间步长设定
  10. html不支持utf8,html UTF-8在IE中不能自动选择编码的解决办法