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

android -> php 연동 중 오류발생합니다...

0 추천
Button.OnClickListener buttonClick = new Button.OnClickListener() { public void onClick(View v) { // 사용자가 입력한 내용을 전역변수에 저장한다 myId = ((EditText) (findViewById(R.id.edit_Id))).getText() .toString(); myPWord = ((EditText) (findViewById(R.id.edit_pword))).getText() .toString(); myTitle = ((EditText) (findViewById(R.id.edit_title))).getText() .toString(); mySubject = ((EditText) (findViewById(R.id.edit_subject))) .getText().toString(); HttpPostData(); // 서버와 자료 주고받기 } }; // // ------------------------------ // Http Post로 주고 받기 // ------------------------------ public void HttpPostData() { try { // -------------------------- // URL 설정하고 접속하기 // -------------------------- URL url = new URL("http://서버 ip /test.php"); // URL 설정 HttpURLConnection http = (HttpURLConnection) url.openConnection(); // 접속 // -------------------------- // 전송 모드 설정 - 기본적인 설정이다 // -------------------------- http.setDefaultUseCaches(false); http.setDoInput(true); // 서버에서 읽기 모드 지정 http.setDoOutput(true); // 서버로 쓰기 모드 지정 http.setRequestMethod("POST"); // 전송 방식은 POST // 서버에게 웹에서
으로 값이 넘어온 것과 같은 방식으로 처리하라는 걸 알려준다 http.setRequestProperty("content-type", "application/x-www-form-urlencoded"); // -------------------------- // 서버로 값 전송 // -------------------------- StringBuffer buffer = new StringBuffer(); buffer.append("id").append("=").append(myId).append("&"); // php 변수에 값 대입 buffer.append("pword").append("=").append(myPWord).append("&"); // php // 변수 // 앞에 // '$' // 붙이지 // 않는다 buffer.append("title").append("=").append(myTitle).append("&"); // 변수 // 구분은 // '&' // 사용 buffer.append("subject").append("=").append(mySubject); OutputStreamWriter outStream = new OutputStreamWriter( http.getOutputStream(), "EUC-KR"); Log.d("check", "1" + myId); PrintWriter writer = new PrintWriter(outStream); Log.d("check", "2"); writer.write(buffer.toString()); writer.flush(); Log.d("check", "3"); // -------------------------- // 서버에서 전송받기 // -------------------------- InputStreamReader tmp = new InputStreamReader( http.getInputStream(), "EUC-KR"); BufferedReader reader = new BufferedReader(tmp); StringBuilder builder = new StringBuilder(); String str; while ((str = reader.readLine()) != null) { // 서버에서 라인단위로 보내줄 것이므로 // 라인단위로 읽는다 builder.append(str + "\n"); // View에 표시하기 위해 라인 구분자 추가 } myResult = builder.toString(); // 전송결과를 전역 변수에 저장 Log.d("check", "Stirng" + myResult); ((TextView) (findViewById(R.id.text_result))).setText(myResult); Toast.makeText(MainActivity.this, "전송 후 결과 받음", 0).show(); } catch (MalformedURLException e) { // } catch (IOException e) { // } // try } // HttpPostData } // Activity php <?php $adress="localhost"; $link = mysql_connect($adress, 'root', 'root'); mysql_query("set names utf8"); $phone=$_REQUEST[telephone]; // android -> php -> mysql db에 저장될 변수 if (!$link) { die('Could not connect: ' . mysql_error()); }else{ echo '
Connected successfully!!!!!'; } ////////////////////////////////////////mysql 연결 / 오류처리 $db_selected = mysql_select_db('test', $link); if (!$db_selected) { die ('Can\'t use foo : ' . mysql_error()); }else{ echo '
db use successfully'; } ///////////////////////////////////////DB 선택 / 오류처리 $query="INSERT INTO User_Info VALUES('1111') "; //$query="INSERT INTO User_Info VALUES('$phone') "; $result=mysql_query($query); if (!$result) { die('Invalid query: ' . mysql_error()); } $xml = "<?xml version = \"1.0\" encoding = \"utf-8\"?-->\n"; $xml .= "$result\n"; $dir = "C:/APM_Setup/htdocs"; $filename = $dir."/phone.xml"; file_put_contents($filename, $xml); //$rows=mysql_num_rows($result); ////////////////////////////////////mysql 쿼리 처리 /* $rows=mysql_num_rows($result); echo "
$rows 개의 행이 검색되었습니다."; $i = 0; while ($i<$rows) { $row = mysql_fetch_row($result); echo "아이디: ".$row[0]." "; echo "패스워드: ".$row[1]." "; echo "<br>"; $i++; } */ //////////////////////////////////쿼리 전송 mysql_close($link); ?> 소스는 이러 합니다. EdiText 입력 후 버튼을 누르면 Http Post 방식으로 android -> php에 전송해주고 다시 php->android로 출력해주는 예제 인데요. 웹브라우저, 다른 pc웹브라우저, 어큐뮬레이터로는 정상적으로 동작 합니다. 근데 핸드폰으로 실행해서 버튼 누르면, "예상치 않게 중지되었습니다." 라고 오류가 떠서 어플이 죽어요. 왜 그럴까요 미치겠습니다 ㅜㅜ
찬스님 (300 포인트) 님이 2013년 5월 14일 질문
코드가 저리되면 안보여요...

그리고 에러나는거 로그도 붙여주시는게 좋습니다.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...