首页 后端开发 php教程 用PHP编纂Android应用程序

用PHP编纂Android应用程序

Jun 13, 2016 am 10:30 AM
android nbsp php

用PHP编写Android应用程序
Google的开源Android移动操作系统正在席卷全球智能手机市场,和苹果不一样,它对那些想将应用程序提交到iPhone App Store的开发人员有着严格的指导方针和要求,Google的Android平台非常开放,甚至还可以用PHP编写Android应用程序,Irontech创建了一个运行在Android上的PHP移植程序,结合Android的脚本层(Scripting Layer for Android,SL4A),你就可以构建PHP Android应用程序了。

在这篇文章中,我们将介绍如何安装、配置和使用PHP for Android以及SL4A,51CTO会以一个简单的demo程序为例进行讲解,如果你还不清楚怎么编写PHP Android应用程序,那么请跟我来吧!

安装PHP for Android
安装PHP for Android的前提是,你要有一支安装了Android 1.5或更高版本的手机或模拟器,并在“应用程序设置”下打开“未知源”,设置好后,你就可以安装SL4A环境和PHP for Android APK了。

安装SL4A是相当简单的,但在安装完PHP for Android后,你需要再次安装它以便安装完它的所有功能,安装期间如果遇到麻烦,这里有一个视频演示。

设置PHP for Android开发环境
从理论上说,一旦你安装好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)。

◆打开一个shell或命令提示符,使用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_HOME环境变量,指向Android SDK位置,并在Path中添加tools子目录。

使用PHP构建Android应用程序
在设置好开发环境后,编写一个PHP应用程序在Android上运行其实很简单,你只需要注意一件事,就是PHP for Android 包含的PHP版本是一个极其精简的版本,基本上只包含了核心的PHP函数和JSON支持,如果你对Java框架比较熟悉,你会发现SL4A没有提供对你要使用的所有组件的访问,使用Java开发Android程序时这些组件都是可以使用的。

SL4A提供的是Android API的一个子集(SL4A全部方法列表见这里),使用PHP for Android你可以快速创建出程序原型,例如下面我用很短的代码就实现了股票价格的展示和检查。

dialogCreateSpinnerProgress("正在查询股票信息服务器...", "请稍候");$droid->dialogShow();  $quotes = @array_slice(json_decode(file_get_contents(sprintf(QUOTE_SERVER, $tickers))), 0, 3);  $droid->振动();  $droid->dialogDismiss();// 可能的数据点。// "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 NAME ."n";       $output .= "股票代码:" . $quotes[$i]->SYMBOL 。 “n”;       $output .= "最后一笔交易:$" . $quotes[$i]->LAST_TRADE 。 “n”;       $输出.=“n”;  }           $output = html_entity_decode($output, ENT_QUOTES, "UTF-8");  // ' $output = str_replace("'", "'", $output); 有问题  $droid->dialogCreateAlert("您的股票报价", $output);  $droid->dialogSetPositiveButtonText("获取新报价");  $droid->dialogSetNegativeButtonText("退出");  $droid->dialogShow();  $response = $droid->dialogGetResponse();  if ($response['结果']->which == '负数')   {       $action = "退出";  }   else {       $action = 'get_tickers';  } 休息;       case 'get_tickers':$response = $droid->getInput("股票代码(最多 3 个)", "输入 Tickers.n 用空格分隔。");  $tickers = str_replace(' ', ' ', $response['result']);  $droid->振动();  $action = '报价';  休息;       case 'exit':$droid->exit();  出口();  休息;       }  }  ?>  将上面的代码保存为quoter4android.php文件,上传到你的模拟器中,如果你的模拟器还没有运行,请先启动它,使用Android SDK tools目录下的adb配置你的端口转发,并上传quoter4android .php 文件。

如果要在您的模拟器中运行应用程序,转到应用程序屏幕,点击 SL4A 图标,再单击quoter4android.php 选项。

如果要在您的模拟器中运行应用程序。手机上安装quoter4android.php,你可以设置端口转发,通过USB将你的手机连接到电脑,将脚本复制到sl4a/scripts目录更容易。但如果要在你的手机上运行脚本,必须先拔掉USB线,否则当你点击 SL4A 图标时将看不到任何已安装的脚本。

你会发现上面代码的第一行设置了一个常量QUOTE_SERVER,如果你已经习惯了传统的 PHP Web 应用程序中,你不必担心如何分配你的代码,也不必担心未来的干扰,现在我们在 Android 中根本就看不到它是如何工作的,你必须分配你真实的 PHP 代码,因此,如果你决定将你的 PHP 移植到 Android 上应用程序提交到Android Market,你可以硬编码一个不受你控制的网址在其中,你的应用程序就会按图索骥。

例如,前面这个股票程序实际上是来自一个雅虎Web服务获取的股票信息,不是在Android程序中硬编码直接访问雅虎的,我创建了一个简单的Web服务,作为Android应用程序和雅虎股票服务之间的连接,所以如果现在雅虎停止决定这个服务,或者修改了访问方法,我可以只更新我在 quoter.take88.com 的 Web 服务,Android 代码就不需要做任何改动了。另外,通过利用 Web 服务,我可以让一些复杂的 Android 应用程序变得更加丰富更简单,这样可以使用完整的PHP功能,而不是专业版的功能,这里我用Perl编写了一个Web服务(使用mod_perl)。

小结
使用SL4A和PHP for Android你可以做很多事情,论文只谈及了很表面的东西,这两个项目都非常年轻,事实上,在我写论文的时候,SL4A发布了一个新版本,随着它们的成熟度越来越高,功能也越来越强大。最后请记住,在任何情况下,请保持你的 Android 应用程序紧凑和紧凑。

论文代码下载:http://www.developer.com/ img/2010/09/quoter4android.zip

原文出处:http://www.developer.com/lang/php/article.php/3904261/Build-Your-First-PHP-for-Android- Application.htm

译名:构建您的第一个 Android 应用程序 PHP

作者:Keith Vance

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

小米红米 Note 14 Pro Plus 上市,成为首款配备 Light Hunter 800 摄像头的高通 Snapdragon 7s Gen 3 智能手机 小米红米 Note 14 Pro Plus 上市,成为首款配备 Light Hunter 800 摄像头的高通 Snapdragon 7s Gen 3 智能手机 Sep 27, 2024 am 06:23 AM

Redmi Note 14 Pro Plus 现已正式成为去年 Redmi Note 13 Pro Plus 的直接后继产品(亚马逊售价 375 美元)。正如预期的那样,Redmi Note 14 Pro Plus与Redmi Note 14和Redmi Note 14 Pro一起成为Redmi Note 14系列的主角。李

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

您如何在PHP中解析和处理HTML/XML? 您如何在PHP中解析和处理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

从早期图片来看,Oppo Find X8 的设计看起来像是苹果 iPhone 16 Pro 和 OnePlus Open 的结合体 从早期图片来看,Oppo Find X8 的设计看起来像是苹果 iPhone 16 Pro 和 OnePlus Open 的结合体 Sep 28, 2024 am 06:04 AM

从历史上看,除了 2018 年 6 月发布的初代 Find X 之外,Oppo 都会在冬末或初春更新其旗舰产品“Find X”系列。为此,Find X7 和 Find X7 Ultra 推出仅六个月多一点在此刻。 H

php程序在字符串中计数元音 php程序在字符串中计数元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

iQOO Z9 Turbo+ 作为天玑 9300+ 智能手机首次亮相,电池续航能力'破表” iQOO Z9 Turbo+ 作为天玑 9300+ 智能手机首次亮相,电池续航能力'破表” Sep 26, 2024 am 06:20 AM

Z9 Turbo+ 现已在 Vivo 中国网上商店发售,12GB RAM/256GB 内部存储基本型号的售价为 2,199 元(约合 313 美元),而 RedmiK70 至尊版的起价为 2,599 元(约合 370 美元),配置相同:事实上,它的纽维Q

我后悔之前不知道的 7 个 PHP 函数 我后悔之前不知道的 7 个 PHP 函数 Nov 13, 2024 am 09:42 AM

如果您是一位经验丰富的 PHP 开发人员,您可能会感觉您已经在那里并且已经完成了。您已经开发了大量的应用程序,调试了数百万行代码,并调整了一堆脚本来实现操作

See all articles