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

안드로이드 php질문이요

0 추천

안드로이드에서 현재 화면에 TextView가 3개가 있고 그 중 하나의 TextView에는 이전 화면의 EditText에서 입력한 home_num이 써있습니다. 현재 화면에서 입력되어있는 home_num의 정보를 가지고 php를 통해 데이터베이스에서 home_num이 포함하는 name과 phone를 가져오고 싶은데 잘 안되네요,,,, 도와주십쇼

 

안드로이드 java파일 입니다.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_quick__return);


    tv5 = (TextView) findViewById(R.id.textView5);
    tv6 = (TextView) findViewById(R.id.textView6);
    tv7 = (TextView) findViewById(R.id.textView7);

    Intent intent = getIntent();
    String home_num = intent.getStringExtra("home_num");
    tv5.setText(home_num);

    class BackgroundWorker extends AsyncTask<String, Void, String> {
        Context context;

        BackgroundWorker(Context ctx) {
            context = ctx;
        }

        @Override
        protected String doInBackground(String... params) {


            String type = params[0];
            String myResult;
            String cart_url = "http://도메인주소/폴더명/phpname.php"
            BufferedReader bufferedReader = null;

            if (type.equals("regCart")) {
                try {
                    Intent intent = getIntent();
                    String home_num = intent.getStringExtra("home_num");
                    home_num = params[1];

                    URL url = new URL(cart_url);
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();

                    StringBuilder sb = new StringBuilder();

                    if (conn != null) {
                        conn.setConnectTimeout(10000); // milliseconds 연결 타임아웃시간
                        // add request header
                        conn.setDefaultUseCaches(false);
                        conn.setDoInput(true); // 서버에서 읽기 모드 지정 (혹 에러발생하면 주석처리)
                        conn.setDoOutput(true); // 서버로 쓰기 모드 지정
                        conn.setRequestMethod("POST");
                        // 서버에게 웹에서 <Form>으로 값이 넘어온 것과 같은 방식으로 처리하라고 알려준다.
                        conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

                        // 서버로 값 전송
                        String post_data = "home_num=" + Uri.encode(home_num);
                        DataOutputStream bufferedWriter = new DataOutputStream(conn.getOutputStream());
                        bufferedWriter.writeBytes(post_data);
                        bufferedWriter.flush();
                        bufferedWriter.close();

                        // 서버에서 전송받기
                        int responseCode = conn.getResponseCode();
                        System.out.println("GET Response Code : " + responseCode); // 서버에서 넘겨준 코드 확인 200 이면 정상
                        if (responseCode == HttpURLConnection.HTTP_OK) { // 연결 코드가 리턴되면
                            bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                            String json;
                            while ((json = bufferedReader.readLine()) != null) { // 라인단위로 읽는다
                                sb.append(json + "\n");// View에 표시하기 위해 라인 구분자 추가
                            }
                        }
                        bufferedReader.close();
                    } // conn connect if close
                    myResult = sb.toString().trim();  // 전역변수로 선언했다면 전송결과가 전역변수에 저장됨
                    return myResult;
                } catch (Exception e) {
                    return new String("Exception: " + e.getMessage());
                }
            }
            return type;
        }
        // regCart if close
        protected void onPostExecute(String result) {
            tv6.setText(result);
            // JSON 메시지를 처리할 함수
        }
    }
--------------------------------------------------------------
 
php파일 입니다.
<?php  
  
$con=mysqli_connect("host","ID","Password","DBname");  
if (mysqli_connect_errno($con))  
{  
   echo "Failed to connect to MySQL: " . mysqli_connect_error();  
}  
 $home_num = $_POST['home_num']; 
mysqli_set_charset($con,"utf8");
$res = mysqli_query($con,"select name,phone from Tablename where home_num='$home_num'"); // 수정    
    $result = array(); 
    while($row = mysqli_fetch_array($res)){  
        array_push($result, array('name'=>$row[0],'phone'=>$row[1]));  
    } 
    echo json_encode(array("result"=>$result), JSON_UNESCAPED_UNICODE); 
    $conn->close(); 
}
?> 
주륵 (120 포인트) 님이 2016년 11월 13일 질문

1개의 답변

0 추천
asynctask 생성하는 부분이 없는데요?!!
익명사용자 님이 2016년 11월 14일 답변
...