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

안드로이드 - php - mysql 연동해서 값을 받아오려합니다

0 추천

현재 특정 번호나 특정 내용의 문자가 오면 벨이나 진동을 확인시까지 발생시키는

알람 어플을 제작 중입니다

특정 번호나 내용은 mysql 에 입력된 값을 가져와서 txt 파일에 TAB 구분자로 넣으려 합니다

php 상에서 현재 DB 값을 받아서 - 번호 \t 내용 \t 발신자 이렇게 구분은 해놓았구요 여러 값이 있다면

이 방식으로 안드로이드에서 라인별로 받아서 탭자 구분으로 번호 내용 발신자를 구분할겁니다

xml 파싱이나 json 쪽도 봤는데 아직 익숙치 않아서 익숙한 방법으로 좀 만들어보고 차차 공부해서 수정하려고 합니다

안드로이드 상에서는 현재 문자열을 내부 메모리에 txt 파일로 만드는 것, 문자 수신했을때 이벤트 처리까지 완료가

되어있구요, 서버로 연결해서 php를 호출하여 값을 받아오는 것만 하면 문자열 자르기나 이런 부분은 하겠는데

예제를 찾아봤는데 php 전송값, php 넘겨받는 값 이런식의 설명만 있어서 제대로 이해가 안되네요

 

<?php
/*
안드로이드 SMS 알람 어플
 */
 
include "class.dbms.php";
 
$dbms = new dbms("127.0.0.1", "android");
 
 
$sql = "SELECT level, num, code FROM sms_alarm";
 
if($result=$dbms->query($sql)){
while($row=mysql_fetch_array($result)){
$level = $row['level'];
$num = $row['num'];
$code = $row['code'];
 
$value = $level."\t".$num."\t".$code."\n";
 
echo $value;
}
}
 
$dbms->close();
 
?>
 
현재 위와 같이 php를 만들어놨구요 value 변수에 하나로 묶은 값을 입력합니다 값이 여러개이면 배열로 받아야 할텐데
 
안드로이드 상에서 어떤식으로 받을지
 
메인 액티비티쪽에는
 
public void HttpData(){
try{
    //URL 설정하고 접속하기
    URL url = new URL("서버URL/php파일"); //URL 설정
    HttpURLConnection http = (HttpURLConnection) url.openConnection(); //접속
 
    //전송 모드 설정
     http.setDefaultUseCaches(false);
    http.setDoInput(true); //서버에서 읽기 모드 지정
    http.setRequestMethod("POST"); //전송 방식 설정
    
     } catch (MalformedURLException e){
    //
    } catch (IOException e){
    //
    }
}

이런식으로 만들어두고 진도를 못나가겠네요 ㅜ

TheLastLeaf (210 포인트) 님이 2014년 3월 10일 질문

1개의 답변

+1 추천
 
채택된 답변
string 에 해당 url 에 데이터를 담고 개행으로 구분해서 array 를 만든 뒤 \t 으로 구분해서 각 값을 구분하긴 하는데 이게 입력 값에 따라 문제가 될 가능성이 존재 합니다.

 

결국 이런 저런 문제 때문에 다시 json 이나 xml 을 사용하게 되겠죠.
aucd29 (218,390 포인트) 님이 2014년 3월 11일 답변
TheLastLeaf님이 2014년 3월 20일 채택됨
감사합니다
서버상에서 php로 db 쿼리하여 json을 생성하고
해당 파일을 모바일에 복사하는 식으로 했습니다
파싱은 json 파싱으로 처리했구요
...