안드로이드 그누보드 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이 어디서 발생하는지를 찾는게 우선입니다.

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

회원로그인

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