PHP开发Android应用程序(转)
第一部分是指在Android系统的手机上直接写PHP脚本代码并立即运行;
第二部分则继续讲解如何把写好的PHP脚本代码打包成akp安装文件。
首先,在手机上安装两个apk包。
一个是SL4A(Scripting Layer for Android),这个是Android的脚本环境,前身是ASE(Android Scripting Environment),Android系统上的所有脚本都将在这个环境下执行,下载地址:sl4a_r3,下载后将扩展名改为.akp即可,也可以到谷歌官方下载http://code.google.com/p/android-scripting/downloads/list。(注:如果你只关注第二部分可跳过这里)
另一个是PFA(PHP for Android),这个是为Android系统提供PHP脚本支持的安装包,下载地址:PhpForAndroid_r1,同样地下载后将扩展名改为akp即可,官方下载http://phpforandroid.net/start。
运行SL4A,界面如下:
这里提供了一些实例,我们执行hello_world.php试试:
选择第二个选项,运行结果如下:
脚本已成功执行了。
我们自己创建一个脚本试一下:
我们把第四行的$droid->getInput修改为dialogGetInput(因为PFA的某一次版本更新后在API里面用dialogGetInput取代了getInput):
选择API Browser可以看到所有提供我们使用的API:
菜单上选择Save & Run,运行结果如下:
好了,第一部分至此完成。
如何将PHP脚本文件打包成apk安装包呢,本人参考了谷歌官方提供的步骤(http://code.google.com/p/android-scripting/wiki/SharingScripts)并搜集了网上其他的一些相关教程,总结如下:
一、搭建好Android开发环境(jdk+eclipse+android sdk)。
说明:由于本人没接触过java,也是第一次使用eclipse,讲解若有幼稚的地方高手不要见笑哈。
1、下载java JDK,进入该网页http://java.sun.com/javase/downloads/index.jsp(或者直接点击下载)如下图:
选择 Download JDK 只下载JDK,无需下载jre,然后安装完成即可,无需配置环境变量(可在命令行执行java -version验证一下)。
2、下载eclipse,进入该网页http://www.eclipse.org/downloads/(或者直接点击下载)如下图:
我们选择第一个(即eclipse IDE for java EE Developers),下载完成后解压即可。
3、下载Android SDK,这里有两种下载版本,一种是包含了具体版本的SDK,一种是只包含升级工具而不包含具体的SDK版本,推荐使用后一种,这里也是以后一种为例进行讲解的,进入该网页http://androidappdocs.appspot.com/sdk/index.html(或者直接点此下载)如下图:
我们这里当然是选择最上面Windows平台的,下载完成后解压即可。
4、配置开发环境:
(1)、安装Android开发插件,打开Eclipse,在菜单栏上选择 help->Install New SoftWare 出现如下界面:
点击 Add 按钮,出现如下界面:
Name:Android (这里可以自定义),Location:https://dl-ssl.google.com/android/eclipse/(如果出错,将https改成http即可),点击OK,将出现如下界面:
点击 Next 按钮,出现如下界面:
(注:如果使用了不正确的eclipse版本,这里很有可能出错)
点击Next按钮,出现如下界面:
选择 I accept the terms of the license agreements 点击 Finish ,进入安装插件界面:
安装完成后,出现如下界面:
点击Yes按钮,重启eclipse。
(2)、配置Android SDK,点击菜单 Window -> preferences,进入如下界面:
选择你的Android SDK解压后的目录,选错了就会报错,这个是升级工具,目前还没有一个版本的SDK。
升级SDK版本,选择菜单 Window -> Android SDK and AVD Manager 出现如下界面:
选择 update all 按钮,出现如下界面:
选择左边的某一项,点击accept表示安装,点击reject表示不安装,我们这里只选了 SDK 2.1 和 samples for api 7 ,自己可以任意自定义,确定后,选择install按钮,进入安装界面如下:
安装完成如下:
新建AVD(android vitural device),和上面一样,进入Android SDK and AVD Manager,选中Vitural Devices :
点击New按钮后,进入如下界面:
名称可以随便取,target选择你需要的SDK版本,SD卡大小自定义,点击 Create AVD,得到如下结果:
如上显示创建AVD完毕。
(3)、新建Android项目,选择菜单 file -> new -> other 进入如下界面:
选择新建 Android Project 项目,点击Next按钮,进入如下界面:
名称自定义,应用程序名自定义,包名必须包含一个点以上,min SDK version里面必须输入整数。
点击 Finish 出现如下界面:
注:若有错误如:Project … is missing required source folder: ‘gen’ ,则将 gen -> Android.Test -> R.java 这个文件删掉,Eclipse会为我们重新生成这个文件,并且不会报错。
(4)、配置运行,右键项目 -> Run as -> Run Configuration 进入如下界面:
该界面选择运行的AVD,将AVD前面的方框设置为选择状态。
(5)、测试项目运行,右键项目名称 -> run as -> Android Application 即可启动运行该Android程序,如下所示:
正在进入
测试程序运行结果
该测试程序的apk安装包已经自动生成在项目工程目录的bin子目录下了。
至此,Android开发环境配置完毕。
二、使用已搭建好的Android开发环境将脚本文件打包为apk安装包。
1、下载脚本的模板工程,script_for_android_template,官方下载地址http://android-scripting.googlecode.com/hg/android/script_for_android_template.zip
2、导入模板工程,打开eclipse,在菜单栏上选择 File -> Import 出现如下界面:
选择 Existing Projects into Workspace ,点Next进入如下界面:
选择 Select archive file ,点击Browse,找到刚才下载好的模板工程文件即可,点击Finish完成。
此时,如果控制台出现 Unable to resolve target ‘android-3′ 此类错误则说明API版本设置需要做调整了,打开目录下的 default.properties 文件,如下:
由于我们这里所使用的API版本为7,遂将里面的 target=android-3 修改为 target=android-7 ,保存,右键单击模板工程选择 Refresh 刷新即可。
此时如果又出现 ERROR: Unable to open class file C:\eclipse\workspace\ScriptForAndroidTemplate\gen\com\dummy\fooforandroid\R.java: No such file or directory 这类错误,前面已经提到过解决办法了,删除这个R.java文件即可,再次 Refresh 将出现 R.java was removed! Recreating R.java! ,至此该模板工程已成功导入。
3、重命名模板工程名及包名,右键单击模板工程选择 Rename 弹出如下窗口:
将名称修改成自己所需要的,我这里就暂且改为 ScriptForAndroidMyPhpTest 吧,点击 OK 完成模板工程名的更改。
继续右键单击模板工程选择 Android Tools -> Rename Application Package ,弹出窗口如下:
我这里就修改成 com.pfatest 吧:
点击 OK 出现如下界面:
点击 Finish 弹出如下窗口:
点击 Yes 完成包名的更改,同时eclipse会自动帮我们同步更新工程主目录下AndroidManifest.xml文件里面的包名,否则我们就需要主动更新了。
4、把我们自己的PHP脚本文件放入工程目录下的res/raw目录下,移除里面模板自带的script.py,并同步修改src/com/dummy/fooforandroid/Script.java中指定脚本名的这一行 public final static int ID = R.raw.script; -> public final static int ID = R.raw.mytest;
保存。
5、申明脚本程序中用到的所有权限,打开AndroidManifest.xml文件,在窗口下方选中AndroidManifest.xml以编辑源文件的方式,如下图所示:
默认已开启了 android.permission.INTERNET 权限,由于我的测试程序中用到了振动以及电话功能,所以还必须开启 android.permission.VIBRATE 和 android.permission.CALL_PHONE 这两个权限,开启方法:将 <uses-permission
android:name=”android.permission.x”/> 前后的注释<!–*–>去除即可,如下:
保存。
6、编译、打包、运行,还是右键单击工程名,选择 Run As -> Run Configurations… 打开运行配置窗口:
在列表中选中我们需要运行的模拟器,点击下面的 Run 运行。
至此大功告成,手上有机器的朋友不妨将bin目录下已生成好的apk包拷贝到手机上安装运行试试看。
PHP开发Android应用程序(转)的更多相关文章
- 使用jQuery Mobile + PhoneGap 开发Android应用程序(转)
使用jQuery Mobile + PhoneGap 开发Android应用程序(转) 一.简介 jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile 不仅给 ...
- Unity开发Android应用程序:调用安卓应用程序功能
开发环境: Eclipse3.4 + adt12 + jdk6 + AndroidSDK2.2 Unity3.4 + windows7 测试设备: HTC Desire HD 本文要涉及到的几个重点问 ...
- 用 Eclipse 开发 Android 应用程序
转自:http://www.apkbus.com/android-13828-1-1.html 开始之前 本教程介绍如何在 Eclipse 环境中进行 Android 应用程序开发,包括两个示例应用程 ...
- C#使用Xamarin开发Android应用程序 -- 系列文章
Xamarin开发Android应用程序 利用Xamaria构建Android应用-公交发车信息屏 Xamarin版的C# SVG路径解析器 C#使用Xamarin开发可移植移动应用(1.入门与Xam ...
- 使用jQuery Mobile和Phone Gap开发Android应用程序
经过了一段时间的学习,初步了解了该如何使用jQuery Mobile和 Phone Gap来开发一个Android应用程序,也想把这些东西介绍给大家. 1. 软件准备 要进行android app的开 ...
- 使用jQuery Mobile和Phone Gap开发Android应用程序(转)
经过了一段时间的学习,初步了解了该如何使用jQuery Mobile和 Phone Gap来开发一个Android应用程序,也想把这些东西介绍给大家. 1. 软件准备 要进行android app的开 ...
- Apache Cordova开发Android应用程序——番外篇
很多天之前就安装了visual studio community 2015,今天闲着么事想试一下Apache Cordova,用它来开发跨平台App.在这之前需要配置N多东西,这里找到了一篇MS官方文 ...
- 最全的PHP开发Android应用程序
第一部分是指在Android系统的手机上直接写PHP脚本代码并立即运行: 第二部分则继续讲解如何把写好的PHP脚本代码打包成akp安装文件. 首先,在手机上安装两个apk包. 一个是SL4A(Scri ...
- 使用 IntelliJ IDEA 开发 Android 应用程序时配置 Allatori 进行代码混淆
IntelliJ IDEA 提供了非常强大的 Android 开发支持,就连 Google 官方推荐的 Android Studio 其实也是 IntelliJ IDEA 的一个 Android 开发 ...
随机推荐
- tomcat报404
很久没有用eclipse了,尝试了使用下,竟然将简单的配置tomcat都忘了. 自己新建一个工程,在tomcat发布以后,报404,经查Serves下的web.xml中,欢迎页面是index.jsp, ...
- iOS9升级后第三方平台无法分享的问题
最近升级到了Xcode7,在真机调试中发现在初始化微博SDK时程序Crash. 解决办法从微博官网下一个最新的SDK,替换掉工程中的即可. 2.替换微博最新SDK之后成功运行程序,之后发现微信.QQ. ...
- Ubuntu12.04安装insight-6.8
insight是在Linux下一个比较好用的GDB的前端 insight首页:http://sourceware.org/insight/index.php 在这里下载源码:insight-6.8.t ...
- 局部线性嵌入(LLE)原理总结
局部线性嵌入(Locally Linear Embedding,以下简称LLE)也是非常重要的降维方法.和传统的PCA,LDA等关注样本方差的降维方法相比,LLE关注于降维时保持样本局部的线性特征,由 ...
- CSS样式margin:0 auto不居中
<style type="text/css">html,body{height:100%;width:960px;}.container{background-colo ...
- 微信小程序开发之大坑记之post请求
原文:http://blog.csdn.net/walkingmanc/article/details/54237961 在微信小程序开发过程中,如果你完全按照官方文档来,那么恭喜你,90%的可能性你 ...
- ZooKeeper 应用场景
ZooKeeper典型应用场景一览 数据发布与订阅(配置中心) 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新 ...
- infinite-scroll插件无限滚动加载数据的使用
网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...
- 国内大学毕业论文LaTeX模板集合
国内大学毕业论文LaTeX模板集合 薛瑞尼的清华大学学位论文LaTeX模板http://sourceforge.net/projects/thuthesis/ 北大论文文档 LaTeX 模板 pkut ...
- -_-#【JS】HTML5 API
<JavaScript高级程序设计(第3版)> <!DOCTYPE html> <html> <head> <meta charset=" ...