마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

우분투서버와 안드로이드 통신

0 추천
안녕하세요. 안드로이드 개발 3개월차 초보입니다.

얼마 전 우분투 서버를 설치했습니다. 우분투서버에는 아파치와 mysql DB도 설치되어있습니다.

이미 개발된 애플리케이션에서 DB와 서로 통신을 하고 싶은데 어떻게 하면 되나요??

APMsetup을 통한 통신은 해보았지만, 이러한 리눅스 기반의 서버와의 통신은 해본적이 없어 갈피를 못잡겠네요.. ㅠㅠ
핸디 (1,840 포인트) 님이 2015년 11월 9일 질문

2개의 답변

+1 추천
 
채택된 답변
중간에 PHP, JSP같은 걸로 API(페이지) 만드셔서 서로 통신하시면 됩니다.

GET이나 POST 방식으로 앱에서 데이터를 실어 해당 페이지를 호출하면

해당 페이지에서는 넘어온 데이터에 맞는 값들을 DB에서 조회해 HTML, JSON, 텍스트 등으로 결과값을 보내주면 됩니다.

앱에서는 넘어온 데이터를 파싱해서 처리하시면 되구요.
바램 (19,650 포인트) 님이 2015년 11월 9일 답변
핸디님이 2016년 8월 8일 채택됨
+1 추천
여기를 참고 해보시기 바랍니다.

https://github.com/godmode2k/web_examples

서버는 GNU/Linux Ubuntu, Apache, PHP, MySQL 이며,

APM 으로 Session 기반의 가입, 로그인, 예약 등 간단한 테스트로 구성되어 있습니다.

Android code 에 위의 Web page 와 통신(현재 login/logout)하는 부분이 구현되어 있습니다.

WebView는 아니며 HttpURLConnection 을 사용합니다.

그리고 login/logout 결과값 (JSON Array) 을 파싱해서 TextView에 출력합니다.

-----

아래 내용은 Session 관련입니다.

Android 에서 테스트 하실 때 주의하실 점은, HttpURLConnection.setRequestProperty(...) 에서

<User-Agent> 값을 "mobile_app" 으로 하셔야 합니다. (이부분은 PHP 에서 수정가능 합니다.)

그리고 PHP Session 유지 부분은 잘 되는지 서버에서도 확인을 해보셔야 합니다.

(PHP5 Session 파일경로, Ubuntu 기준: /var/lib/php5)

즉, ... HttpURLConnection.getHeaderField( "Set-Cookie" ); ... 에서 받은 PHPSESSID 값이 PHP Session 파일경로에 있는지, session 정보는 맞는지 확인 합니다.
익명사용자 님이 2015년 11월 9일 답변
...