본문 바로가기
PHP

PHP 안드로이드 연동 기초

by square_man_tile 2021. 1. 25.
반응형

안드로이드를 개발하다보면 서버(데이터베이스)와 통신해야 하는 기능을 개발해야 할 때가 많습니다.

이럴때, 우리는 php, js 등으로 데이터베이스와 안드로이드간에 통신이 가능하게 만들어줄 페이지를 개발해야합니다.

php가 어떤 장점을 가지고 있는지는 잘 모르겠지만... 저는 php로 이런 통신 페이지를 개발하기 시작했습니다.

페이지를 어떻게 만드는지, 지금부터 시작합니다.

먼저, 데이터를 저장하고있는 데이터베이스의 정보를 확인해주세요.

필요한 정보는 다음과 같습니다.

데이터베이스 타입 : mysql, mssql 등등
데이터베이스 서버 호스트 이름
데이터베이스 접속 아이디
데이터베이스 접속 비밀번호
데이터베이스 이름

 

이제, 우리의 서버에 dbCon.php 파일을 한개 만들어줍니다.

파일 내용은 다음과 같습니다.

<?php
	class JConfig{
    	public $dbtype = '데이터베이스 타입';
        public $host = '데이터베이스 서버 호스트 이름';
        public $user = '데이터베이스 접속 아이디';
        public $password = '데이터베이스 접속 비밀번호';
        public $db = '데이터베이스 이름';
    }
?>

 

데이터베이스와 안드로이드간의 통신을 위한 파일을 만들어줍니다. 이번 포스트에서는 회원가입시 아이디 중복 체크 코드를 작성하겠습니다.

파일 이름은 checkExist.php로 하겠습니다.

파일 내용은 다음과 같습니다.

<?php
	include("dbCon.php"); //위에서 만들었죠?
	$Conf = new JConfig; //위에서 만든 dbCon.php 파일에 있는 JConfig 클래스를 생성합니다.
    
    //db접속 정보를 변수 conn에 저장합니다.
    $conn = mysqli_connect($Conf->host, $Conf,->user, $Conf->password, $Conf->db);
    
    $_id = $_GET['_id']; //안드로이드에서 입력받을 변수 이름과 동일하게 해야합니다.
    
    //mysqli_query 함수를 통해 데이터베이스에 SQL합니다.
    $query = mysqli_query($conn, "SELECT _id FROM USER_INFO WHERE _id='".$_id."'");
    
    //mysqli_num_rows 함수를 통해 SQL에 대한 결과값의 행 개수를 변수 num에 저장합니다.
    $num = mysqli_num_rows($query);
    
    if($num > 0){ //행 개수가 0을 초과하면 해당 아이디는 이미 존재한다는 뜻입니다.
    	$result = new StdClass(); //json타입으로 이쁘게 전송하기 위해 StdClass를 생성합니다.
        
        //result 클래스에 result컬럼을 만든 후, 해당 컬럼의 값을 EXIST로 설정합니다.
        $result->result = "EXISTS";
        
    } else {
    	$result = new StdClass();
        $result->result = "AVAILABLE";
    }
    
    //json 타입의 결과값을 return합니다.
    header('Content-Type: application/json');
    echo json_encode($result, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
    
    //DB 접속을 종료합니다.
    mysqli_close($conn);
?>

끝입니다!

 

여기에서는 GET 방식을 사용했지만, POST방식도 동일하게, $_POST['_id']; 로 입력받으면 됩니다.

차이는... GET 방식 사용시, 인터넷 브라우저에서 쉽게 확인이 가능하다는것..?

 

위에서 작성한 페이지를 인터넷 브라우저에서 호출하면 다음과 같은 결과를 확인 할 수 있습니다.

 

안드로이드에서 페이지 호출시 서버 응답값으로 위와 같은 json데이터를 받을 수 있습니다.

안드로이드와 php 연동은 Android 카테고리의 retrofit2 연동하기를 참고하세요.

boxster718.tistory.com/8?category=915277

감사합니다.

 

반응형

'PHP' 카테고리의 다른 글

PHP 날짜(시간)표기, 날짜 계산하기  (0) 2021.02.01
PHP FCM 서버 연동하기  (0) 2021.01.26