안드로이드 그누보드 DB 연동

안드로이드 그누보드 DB 연동

QA

안드로이드 그누보드 DB 연동

본문

안드로이드 어플 화면안에 그누보드 회원 포인트를 뽑아서 표시 할려고 하는데 잘 안되서 질문드립니다





아래소스는   그누보드 root 폴더의  testquery.php 파일 입니다


<?php

$con=mysqli_connect("localhost","sun7684","qwer1234","sun7684");

 

if (mysqli_connect_errno($con))

{

   echo "Failed to connect to MySQL: " . mysqli_connect_error();

}

 

$ID = $_GET['ID'];

$result = mysqli_query($con,"SELECT mb_point FROM g5_member where mb_id='$ID'");

 

$row = mysqli_fetch_array($result);

$data = $row[0];

 

if($data){

echo $data;

}

mysqli_close($con);

?>




인터넷 주소창에 아래처럼  아이디 지정해서 로딩하면

아래 이미지처럼 정상적으로 1200 이라는 숫자가 표시 됩니다

http://sun7684.dothome.co.kr/testquery.php?ID=admin


07579e8d705bfc9d37b72894ab4b9965_1507297760_4656.jpg
 

아래는  안드로이드 화면으로 로딩시키기 위한 안드로이드 자바 소스 파일입니다


package call.exam.jsh.appaaa;


import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;


import android.os.AsyncTask;

import android.widget.TextView;


import org.apache.http.HttpResponse;

import org.apache.http.client.HttpClient;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.DefaultHttpClient;


import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.URI;

import java.net.URL;



public class zzzzzz extends AppCompatActivity {

    TextView txtview;

    phpdo task;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_zzzzzz);


        String id = "admin";


        task = new phpdo();

        txtview = (TextView) findViewById(R.id.txtView);

        task.execute(id);


    }


    private class phpdo extends AsyncTask<String, Void, String> {


        protected void onPreExecute() {


        }


        @Override

        protected String doInBackground(String... arg0) {


            try {

                String id = arg0[0];


                String link = "http://sun7684.dothome.co.kr/testquery.php?ID=" + id ;

                URL url = new URL(link);

                HttpClient client = new DefaultHttpClient();

                HttpGet request = new HttpGet();

                request.setURI(new URI(link));

                HttpResponse response = client.execute(request);

                BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));


                StringBuffer sb = new StringBuffer("");

                String line = "";


                while ((line = in.readLine()) != null) {

                    sb.append(line);

                    break;

                }

                in.close();

                return sb.toString();

            } catch (Exception e) {

                return new String("Exception: " + e.getMessage());

            }


        }


        @Override

        protected void onPostExecute(String result) {

            //txtview.setText("Login Successful");

            txtview.setText(result);

        }

    }

}



이렇게 하여 빌드하면 정상적으로 빌드까지 완료가 됩니다

하지만 실행하여 보면


07579e8d705bfc9d37b72894ab4b9965_1507297774_1871.jpg
 


이런식으로 표시가 됩니다


위 문자 대신  1200  이라는 문자가 표시가 되야 하는데요

 

어떻게 해야 하는지 잘 모르겠어서 문의 드립니다..


도와 주세요 ㅠㅠㅠㅠ


이 질문에 댓글 쓰기 :

답변 4

올리시 소스중에서


protected String doInBackground(String... arg0) {


            try {

                String id = arg0[0];


이부분이 좀 이상한데요


String ... arg0 

으로 인자값의 선언이 되어있고, 


사용은 배열인 

arg0[0]으로 하셨는데 이렇게 하신게 맞나요??


그리고, link를 만드신것을 하기전에

정상적으로 출력되는 부분을 link로 걸어서 확인해보시면서

Exception이 어디서 발생하는지를 찾는게 우선입니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT