PHP 로 안 드 로 이 드 응용 프로그램 개발 기술 소개

구 글 의 오픈 소스 안 드 로 이 드 모 바 일 운영 체제 가 전 세계 스마트 폰 시장 을 휩 쓸 고 있다.애플 과 달리 애플 리 케 이 션 을 아이 폰 앱 스토어 에 제출 하려 는 개발 자 들 에 게 엄격 한 가이드 라인 과 요 구 를 가지 고 있다.구 글 의 안 드 로 이 드 플랫폼 은 매우 개방 적 이 고 심지어 PHP 로 안 드 로 이 드 애플 리 케 이 션 을 만 들 수도 있다.Irontech 는 Android 에서 실행 되 는 PHP 이식 프로그램 을 만 들 었 습 니 다.Android 의 스 크 립 트 층(Scripting Layer for Android,SL4A)과 결합 하면 PHP Android 응용 프로그램 을 구축 할 수 있 습 니 다.
이 글 에 서 는 PHP for Android 및 SL4A 를 설치,설정,사용 하 는 방법 을 소개 합 니 다.51CTO 는 간단 한 demo 프로그램 을 예 로 들 어 설명 합 니 다.PHP 안 드 로 이 드 프로그램 을 어떻게 만 드 는 지 잘 모 르 시 면 따라 오 세 요!
Android 용 PHP 설치
PHP for Android 를 설치 하 는 전 제 는 Android 1.5 또는 더 높 은 버 전의 휴대 전화 나 시 뮬 레이 터 를 설치 하고'애플 리 케 이 션 설정'에서'알 수 없 는 원본'을 켜 면 SL4A 환경 과 PHP for Android APK 를 설치 할 수 있다 는 것 이다.
SL4A 를 설치 하 는 것 은 상당히 간단 하지만 PHP for Android 를 설치 한 후에 모든 기능 을 설치 할 수 있 도록 다시 설치 해 야 합 니 다.설치 하 는 동안 문제 가 발생 하면 비디오 프 리 젠 테 이 션 이 있 습 니 다.
Android 용 PHP 개발 환경 설정
이론 적 으로 PHP for Android 를 설치 하면 PHP Android 프로그램 을 만 들 수 있 지만 잘 작 동 하지 않 습 니 다.Android SDK 를 다운로드 하고 시 뮬 레이 터 를 만 든 다음 에 좋아 하 는 편집기 로 코드 를 써 야 합 니 다.

PHP for Android
Android SDK 를 다운로드 하여 지 정 된 디 렉 터 리 로 압축 을 풀 고 tools 디 렉 터 리 에 있 는 Android 프로그램 을 실행 하여 시 뮬 레이 터 를 만 듭 니 다.Android SDK 와 AVD 관리자 메뉴 에서'가상 장치'를 선택 하고'새로 만 들 기'단 추 를 누 르 면 시 뮬 레이 터 에 이름(예:Droid 2)을 짓 고 대상 플랫폼 Android 2.2 를 선택 하고 SD 카드 크기 는 10MB 를 입력 한 다음'AVD 만 들 기'를 누 르 십시오.
Droid 2 시 뮬 레이 터 를 만 든 후"시작"단 추 를 누 르 면 조금 번 거 로 울 수 있 습 니 다.가상 장치 에 파일 만 복사 할 수 없고 설정 이 필요 하기 때문에 포트 리 트 윗 을 설정 해 야 합 니 다.adb 라 는 프로그램 을 사용 하여 PHP 스 크 립 트 를 가상 장치 로 밀어 야 합 니 다.adb 는 Android SDK 의 일부분 이 고 tools 디 렉 터 리 에 도 있 습 니 다.
다음 에 가상 장치 에서 서버 를 시작 한 다음 에 스 크 립 트 를 서버 에 보 내야 합 니 다.다음 절 차 는 빠 른 설정 과 실행 을 도 울 것 입 니 다.
1.새 가상 장치 가 실 행 될 때 프로그램 화면 으로 이동 하여"SL4A"를 누 르 십시오.
2.SL4A 화면 에서'메뉴'단 추 를 누 르 고'보기'를 선택 한 다음'해석 기'를 선택 합 니 다.
3.'메뉴'단 추 를 다시 누 르 고'서버 시작'을 선택 하고'개인'을 선택 합 니 다.
4.안 드 로 이 드 알림 표시 줄 을 아래로 끌 면 SL4A 서 비 스 를 볼 수 있 습 니 다.(이 서 비 스 를 클릭 하면 서버 감청 포트 번호,예 를 들 어 47000).
5.셸 이나 명령 프롬프트 를 열 고 adb 도 구 를 사용 하여 포트 리 트 윗 을 설정 합 니 다.예 를 들 어"adb forward tcp:9999 tcp:47000"명령 을 입력 하고 포트 번호 로 47000 을 교체 합 니 다.
6.AP 설정PORT 환경 변 수 는 유 닉 스 나 Mac 에서"export AP"를 실행 합 니 다.PORT=9999",Windows 에"set AP "를 입력 하 십시오.PORT=9999”。
7.시 뮬 레이 터 에서 스 크 립 트 를 테스트 하려 면"adb push my"를 실행 할 수 있 습 니 다.script.php/sdcard/sl4a/scripts"스 크 립 트 이름 으로"my "를 교체 합 니 다.script.php”。
당신 도 실제 휴대 전화 에서 테스트 를 할 수 있 습 니 다.일 을 더욱 간단하게 하기 위해 서 는 ANDROID 를 설정 해 야 합 니 다.HOME 환경 변 수 는 Android SDK 위 치 를 가리 키 며 Path 에 tools 하위 디 렉 터 리 를 추가 합 니 다.
PHP 로 안 드 로 이 드 응용 프로그램 구축
개발 환경 을 설정 한 후에 안 드 로 이 드 에서 PHP 프로그램 을 만 드 는 것 은 간단 합 니 다.한 가지 만 주의 하 셔 야 합 니 다.바로 PHP for Android 에 포 함 된 PHP 버 전 은 매우 간단 한 버 전 입 니 다.기본적으로 핵심 PHP 함수 와 JSON 지원 만 포함 되 어 있 습 니 다.예 를 들 어 자바 프레임 워 크 에 익숙 합 니 다.SL4A 는 사용 할 모든 구성 요소 에 대한 접근 을 제공 하지 않 습 니 다.자바 로 안 드 로 이 드 프로그램 을 개발 할 때 이 구성 요소 들 은 모두 사용 할 수 있 습 니 다.
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 ."
"; 
    $output .= "Ticker: " . $quotes[$i]->SYMBOL . "
"; 
    $output .= "Last trade: $" . $quotes[$i]->LAST_TRADE . "
"; 
    $output .= "
"; 

        $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.
Separate 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 파일 을 업로드 하 십시오.
시 뮬 레이 터 에서 프로그램 을 실행 하려 면 프로그램 화면 으로 이동 하고 SL4A 아이콘 을 누 르 고 quoter4android.php 옵션 을 누 르 십시오.
만약 당신 의 휴대 전화 에 quoter4android.php 를 설치 하려 면 포트 리 트 윗 을 설정 할 수 있 습 니 다.USB 를 통 해 당신 의 휴대 전 화 를 컴퓨터 에 연결 하면 스 크 립 트 를 sl4a/scripts 디 렉 터 리 로 복사 하 는 것 이 더 쉽 습 니 다.하지만 휴대 전화 에서 스 크 립 트 를 실행 하려 면 USB 선 을 뽑 아야 합 니 다.그렇지 않 으 면 SL4A 아이콘 을 눌 렀 을 때 설 치 된 스 크 립 트 가 보이 지 않 습 니 다.
위 코드 의 첫 줄 에 상수 QUOTE 가 설정 되 어 있 는 것 을 발견 할 수 있 습 니 다.SERVER,만약 당신 이 이미 전통 적 인 PHP 웹 응용 프로그램 에 익숙 하 다 면,당신 은 당신 의 코드 를 어떻게 분배 하 는 지 걱정 할 필요 도,미래의 변동 을 걱정 할 필요 도 없습니다.지금 우 리 는 안 드 로 이 드 에서 그것 이 어떻게 일 하 는 지 를 봐 야 합 니 다.당신 은 당신 의 실제 PHP 코드 를 분배 해 야 합 니 다.따라서,당신 의 PHP 안 드 로 이 드 응용 프로그램 을 안 드 로 이 드 마켓 에 제출 하기 로 결정 한다 면,당신 은 당신 이 통제 하지 않 는 웹 주 소 를 억지로 인 코딩 할 수 있 습 니 다.당신 의 응용 프로그램 은 그림 에 따라 준 마 를 찾 을 것 입 니 다.
예 를 들 어 앞의 이 주식 프로그램 은 실제 적 으로 야후 웹 서비스 에서 얻 은 주식 정보 입 니 다.안 드 로 이 드 프로그램 에서 하 드 코딩 으로 야후 를 직접 방문 하 는 것 이 아니 라 저 는 간단 한 웹 서 비 스 를 만 들 었 습 니 다.안 드 로 이 드 응용 프로그램 과 야후 주식 서비스 간 의 연결 로 서 현재 야후 가 이 서 비 스 를 중단 하거나 방문 방법 을 수정 하기 로 결정 하면저 는 quoter.take88.com 에 있 는 웹 서비스 만 업데이트 할 수 있 습 니 다.안 드 로 이 드 코드 는 변경 할 필요 가 없습니다.또한 웹 서 비 스 를 이용 하여 저 는 복잡 한 안 드 로 이 드 응용 프로그램 을 더욱 간단하게 만 들 수 있 습 니 다.그리고 이렇게 하면 간단 한 기능 이 아니 라 완전한 PHP 기능 을 사용 할 수 있 습 니 다.여기 서 저 는 Perl 로 웹 서 비 스 를 만 들 었 습 니 다(mod 를 사용 합 니 다.perl)。
작은 매듭
SL4A 와 PHP for Android 를 사용 하면 많은 일 을 할 수 있 습 니 다.본 고 는 표면적 인 것 만 언급 했 습 니 다.이 두 가지 항목 은 모두 매우 젊 습 니 다.사실은 제 가 본 고 를 쓸 때 SL4A 는 새로운 버 전 을 발 표 했 습 니 다.그들의 성숙 도가 높 아 지면 서 기능 도 점점 강해 질 것 입 니 다.마지막 으로 어떤 상황 에서 도 안 드 로 이 드 애플 리 케 이 션 이 작고 치밀 하 게 유지 되 어야 한 다 는 것 을 기억 하 세 요.

좋은 웹페이지 즐겨찾기