2012-09-28 4 views
0

서버에 로그인하는 Android 애플리케이션을 작성하는 가장 좋은 방법은 무엇입니까? 나는 소켓을 유지하고 싶지 않기 때문에 이것을 피하고 싶다고 생각한다. http 프로토콜을 사용하고 싶다. 내 질문에 그 서버 쪽, 이상적으로 안드로이드 애플 리케이션에서 GET/POST 호출을 처리하는 PHP를 사용하고 싶습니다,하지만 내 애플 리케이션을 처리 할 수있는 (PHP를 사용하여) 정보를 반환하는 방법을 모르겠다. HTML 파일이 아닙니다.Android 앱을 PHP 서버에 연결

예를 들어, 안드로이드 용 페이스 북 앱. 앱을 처음 다운로드하면 로그인 한 다음 앱이 연결을 유지하지만 분명히 앱이 다른 웹 브라우저가 아니라 웹 사이트처럼 정보를 제공하는 일반 앱입니다. PHP $ _SESSION 변수가 유지되도록 앱이 세션 쿠키를 어떻게 전달합니까? 안드로이드 앱이 돌아 오는 데이터를 어떻게 처리합니까?

httto : //www.test.php에 get 요청을 보내면 서버에서 실행되는 PHP 코드가 사용자 정의 데이터 집합을 반환 할 수 있습니까? $ _SESSION 변수가 자동으로 유지 관리됩니까?

감사합니다.

답변

3

당신은 서버에 로그인 할 수있는 GET/POST 요청을 보낼 수 있습니다. PHP 페이지는 JSON 또는 XML을 반환 할 수 있습니다. 그러면 Java (Android) 코드가 해당 응답을 구문 분석해야합니다.

먼저 PHP 페이지 로그를 작성한 다음 세션을 시작할 수 있습니다. 어쩌면 토큰 키를 생성하여 데이터베이스에 저장 한 다음이를 Android 앱에 반환하십시오. 안드로이드 애플 리케이션 (구문 분석 후)이 토큰을 얻을 것이며, 아마도 환경 설정 파일에 저장합니다. 이 방법은 기본적으로 사용자 지정 세션입니다. 토큰 만기와 같은 것들을 알아 내야 할 것입니다.

PHP 세션을 저장할 수있는 방법이 있지만 브라우저와 다른 방식으로 응용 프로그램이 작동하지 않을 수 있습니다. 세션은 앱으로 조금 복잡 할 수 있다고 생각합니다. 여기

더 많은 토론 : php session destroyed in android application

+0

"는 환경 설정 파일에 저장"- 매우 느린 것입니다. –

+0

데이터베이스에 저장할 수는 있지만 한 문자열 만 복잡하게 만듭니다. – rizalp1

+0

데이터베이스가 느립니다. –

0

데이터를 수신하여 클라이언트로 다시 보내는 Server Side API를 만들어야합니다. 서버가 세션을 시작하고 API가 요청되면 클라이언트는 세션을 열어 두는 데 사용되는 PHPSESSID를받습니다. 클라이언트에서는 세션에 쿠키를 사용합니다.

세션에 대한

읽기 : PHP Sessions (simple)Session Handling (comprehensive)

관련 문제