新蒲京200.c软件下载-app官网网址 > 名人堂 >

你就可以构建PHP Android应用程序了

Google的开源Android移动操作系统正在席卷天下智能手提式有线电话机市集,和苹果不相符,它对那么些想将应用程序提交到HUAWEIApp 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,创造一个模拟器,然后才是用你钟爱的编辑器写代码。

图片 1
PHP for Android

下载Android SDK,将其解压到钦赐目录,运营tools目录下的Android程序创建三个模拟器,从Android SDK和AVD微型机菜单中,选择“设想设备”,点击“新建”按键,给模拟器取个名字(如Droid2),选取对象平台Android 2.2,PCIe闪存卡大小输入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你可以长足创制出程序原型,比如上面小编用相当短的代码就达成了股价的展现和检讨。

<?php define('QUOTE_SERVER', 'http://quoter.take88.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 tools目录下的adb配置你的端口转发,并上传quoter4android.php文件。

假使要在你的模拟器中运营应用程序,转到应用程序显示器,点击SL4ALogo,再点击quoter4android.php选项。

假诺要在你的手提式有线电电话机上设置quoter4android.php,你能够设置端口转载,通过USB将你的手提式有线电话机连接到计算机,将脚本复制到sl4a/scripts目录更便于。但一旦要在你的手提式有线电话机上运转脚本,必须先拔掉USB线,否则当您点击SL4ALogo时将看不到任何已安装的剧本。

你会开掘上边代码的第一行设置了二个常量QUOTE_SELacrosseVE翼虎,如若您早已习认为常了古板的PHP Web应用程序,你不用忧郁什么分配你的代码,也不用担忧以往的改动,以后我们要看在Android中它是什么行事的,你不得不分配你实际的PHP代码,由此,假如你调整将你的PHP Android应用程序提交到Android Market,你可以硬编码二个不受你说了算的Web地址在内部,你的应用程序将会食古不化。

举例说,后面这一个期货(Futures卡塔尔程序实际上是从三个雅虎Web服务赢得的证券消息,实际不是在Android程序中硬编码直接访问雅虎的,笔者创设了二个粗略的Web服务,作为Android应用程序和雅虎股票(stock卡塔尔(قطر‎服务期间的总是,所以纵然今后雅虎决定终止那项服务,或是校勘了访问方法,小编能够只更新自身在quoter.take88.com的Web服务,Android代码就无需做任何更换了。别的,通过使用Web服务,作者得以让有个别繁缛的Android应用程序变得更简短,况且那样能够利用完整的PHP功效,实际不是二个精简版的效应,这里自身用Perl编写了叁个Web服务(使用mod_perl)。

小结

运用SL4A和PHP for Android你能够做过多作业,本文只谈及了很表面包车型大巴事物,那三个品种都丰裕年轻,事实上,在自作者写本文时,SL4A宣布了叁个新本子,随着它们的成熟度越来越高,功用也会愈发强盛。最终请牢牢记住,在此外情况下,请保持你的Android应用程序小巧和紧密。

下一篇:没有了