PHP로 안드로이드 애플리케이션을 개발하는 방법

伊谢尔伦
풀어 주다: 2023-03-02 17:56:01
원래의
2157명이 탐색했습니다.

Google의 오픈 소스 Android 모바일 운영 체제는 iPhone App Store에 애플리케이션을 제출하려는 개발자에 대해 엄격한 지침과 요구 사항을 적용하는 Apple과 달리 매우 개방적입니다. Irontech은 Android의 SL4A(Scripting Layer for Android)와 결합하여 PHP Android 애플리케이션을 구축할 수 있는 PHP 포팅 프로그램을 만들었습니다.

이 기사에서는 Android 및 SL4A용 PHP를 설치, 구성 및 사용하는 방법을 소개합니다. 51CTO는 아직 PHP 작성 방법을 모르는 경우 간단한 데모 프로그램을 사용하여 설명합니다. 안드로이드 응용 프로그램이라면 저를 따라오세요!

Android용 PHP 설치

Android용 PHP를 설치하기 위한 전제 조건은 Android 1.5 이상이 설치된 휴대폰이나 에뮬레이터가 있고 "애플리케이션 설정"에서 "알 수 없는 소스"를 여는 것입니다. 설정 후 SL4A 환경과 PHP for Android APK를 설치할 수 있습니다.

SL4A 설치는 매우 간단하지만, Android용 PHP를 설치한 후 모든 기능을 설치하려면 다시 설치해야 합니다. 설치하는 동안 문제가 발생하는 경우 여기 비디오 데모를 참조하세요.

Android용 PHP 개발 환경 설정

이론적으로 Android용 PHP를 설치하면 PHP Android 애플리케이션 작성을 시작할 수 있지만 잘 작동하지 않습니다. Android SDK를 사용하여 에뮬레이터를 만든 다음 즐겨 사용하는 편집기에서 코드를 작성하세요.

PHP로 안드로이드 애플리케이션을 개발하는 방법

Android용 PHP

Android SDK를 다운로드하여 지정된 디렉터리에 압축을 풀고 도구 디렉터리에서 Android 프로그램을 실행하여 에뮬레이터를 만든 다음 Android SDK에서 에뮬레이터 생성 AVD Manager 메뉴에서 "Virtual Device"를 선택하고 "New" 버튼을 클릭한 다음 에뮬레이터에 이름(예: Droid2)을 지정하고 대상 플랫폼 Android 2.2를 선택한 다음 SD 카드에 10MB를 입력합니다. 크기를 선택하고 마지막으로 "Create AVD"를 클릭합니다.

Droid2 에뮬레이터를 만든 후 "시작" 버튼을 클릭하면 파일을 가상 장치에 복사할 수는 없고 설정도 해야 하기 때문에 여기서 약간의 문제가 발생합니다. adb라는 프로그램을 사용하여 포트 전달을 설정해야 합니다. 이 프로그램은 PHP 스크립트를 도구 디렉터리에도 있는 Android SDK의 일부로 푸시합니다.

다음으로 가상 장치에서 서버를 시작한 다음 서버에 스크립트를 보내면 빠르게 시작하고 실행하는 데 도움이 됩니다.

새 가상 장치가 실행되는 동안 애플리케이션 화면으로 이동하여 "SL4A"를 클릭하세요.

SL4A 화면에서 '메뉴' 버튼을 클릭한 후 '보기', '통역사'를 차례로 선택하세요.

"메뉴" 버튼을 다시 클릭하고 "서버 시작"을 선택한 다음 "비공개"를 선택하세요.

Android 알림 표시줄을 아래로 드래그하면 SL4A 서비스를 볼 수 있습니다(이 서비스를 클릭하고 서버가 수신 대기 중인 포트 번호(예: 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 SDK 위치를 가리키는 ANDROID_HOME 환경 변수를 설정하고 경로에 도구 하위 디렉터리를 추가해야 합니다.

PHP를 사용하여 Android 애플리케이션 구축

개발 환경을 설정한 후 Android에서 실행할 PHP 애플리케이션을 작성하는 것은 실제로 매우 간단합니다. 바로 PHP입니다. Android용 포함된 PHP 버전은 기본적으로 핵심 PHP 기능과 JSON 지원만 포함하는 매우 간단한 버전입니다. Java 프레임워크에 익숙하다면 SL4A가 사용하려는 모든 구성 요소에 대한 액세스를 제공하지 않는다는 것을 알게 될 것입니다. , Java 사용 이러한 구성 요소는 Android 프로그램을 개발할 때 사용할 수 있습니다.

SL4A는 Android API의 하위 집합을 제공합니다(모든 SL4A 메서드 목록은 여기 참조). Android용 PHP를 사용하면 프로그램 프로토타입을 빠르게 만들 수 있습니다. 예를 들어 저는 짧은 코드를 사용하여 스톡을 구현했습니다. 아래 가격. 표시 및 검사.

<?php define(&#39;QUOTE_SERVER&#39;, &#39;http://xxx.com/?ticker=%s&#39;); 
require_once("Android.php"); 
$droid = new Android(); 
$action = &#39;get_tickers&#39;;$tickers = &#39;&#39;; 
while (TRUE) { switch ($action) { case &#39;quote&#39;:$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 = &#39;&#39;;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 &#39; 
$output = str_replace("&#39;", "&#39;", $output); 
$droid->dialogCreateAlert("Your stock quotes", $output); 
$droid->dialogSetPositiveButtonText("Get new quote"); 
$droid->dialogSetNegativeButtonText("Exit"); 
$droid->dialogShow(); 
$response = $droid->dialogGetResponse(); 
if ($response[&#39;result&#39;]->which == &#39;negative&#39;)  
{ 
    $action = "exit"; 
} 
 else { 
    $action = &#39;get_tickers&#39;; 
} 
break; 
    case &#39;get_tickers&#39;:$response = $droid->getInput("Stock Tickers (max. 3)", "Enter Tickers.\nSeparate with spaces."); 
$tickers = str_replace(&#39; &#39;, &#39;+&#39;, $response[&#39;result&#39;]); 
$droid->vibrate(); 
$action = &#39;quote&#39;; 
break; 
    case &#39;exit&#39;:$droid->exit(); 
exit(); 
break; 
    } 
} 
?>
로그인 후 복사

위 코드를 quote4android.php 파일로 저장하고 에뮬레이터에 업로드하세요. 에뮬레이터가 아직 실행되지 않은 경우 먼저 시작하고 Android SDK 도구 디렉터리에서 adb를 사용하여 포트 전달 및 quote4android.php 파일을 업로드하세요.

에뮬레이터에서 애플리케이션을 실행하려면 애플리케이션 화면으로 이동하여 SL4A 아이콘을 클릭한 다음 quoter4android.php 옵션을 클릭하세요.

휴대폰에 quoter4android.php를 설치하려는 경우 포트 전달을 설정하고 USB를 통해 휴대폰을 컴퓨터에 연결하면 스크립트를 sl4a/scripts 디렉토리에 더 쉽게 복사할 수 있습니다. 그러나 휴대폰에서 스크립트를 실행하려면 먼저 USB 케이블을 분리해야 합니다. 그렇지 않으면 SL4A 아이콘을 클릭할 때 설치된 스크립트가 표시되지 않습니다.

위 코드의 첫 번째 줄에서는 상수 QUOTE_SERVER를 설정합니다. 기존 PHP 웹 애플리케이션에 익숙하다면 코드를 배포하는 방법에 대해 걱정할 필요가 없습니다. 향후 변경 사항에 대해 걱정하려면 이제 Android에서 어떻게 작동하는지 살펴보겠습니다. 실제 PHP 코드를 할당해야 합니다. 따라서 PHP Android 앱을 Android 마켓에 제출하기로 결정한 경우 다음과 같은 웹 주소를 하드코딩할 수 있습니다. 귀하의 통제하에 있지 않습니다. 그 안에 귀하의 응용 프로그램은 그림에 따라 표시됩니다.

예를 들어 이전 주식 프로그램은 실제로 Yahoo 웹 서비스에서 주식 정보를 얻습니다. Android 프로그램에서 Yahoo에 직접 액세스하는 대신 간단한 웹 서비스를 Android 애플리케이션으로 만들었습니다. 따라서 Yahoo가 지금 이 서비스를 중단하기로 결정하거나 액세스 방법을 변경하는 경우 xxx.com에서 웹 서비스를 업데이트하기만 하면 Android 코드는 변경할 필요가 없습니다. 또한 웹 서비스를 활용하여 일부 복잡한 Android 애플리케이션을 더 간단하게 만들고 간단한 버전 대신 전체 PHP 기능을 사용할 수 있습니다. 여기에서는 Mod_perl을 사용하여 Perl로 웹 서비스를 작성했습니다.

요약

Android용 SL4A와 PHP를 사용하면 많은 일을 할 수 있습니다. 사실 이 글을 쓰는 시점에서 두 프로젝트 모두 표면적인 내용만 다루고 있습니다. 그 당시 SL4A는 새 버전을 출시했는데, 이 버전은 성숙해지면서 더욱 강력해질 것입니다. 마지막으로, 어떤 경우에도 Android 앱을 작고 컴팩트하게 유지하세요.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿