2016-11-24 16 views
0

私は、このチュートリアルの後に、mysqlデータベースからアンドロイドアプリケーションへのjsonフォーマットを使用してデータを読み込む方法を説明します。 "get json"ボタンをクリックすると、データベースからテーブルのjson形式が表示されます。私は慎重にコードとPHPファイルを見直しましたが、私のtextviewに表示される私のテーブルのjson形式の代わりに、わからないもののhtmlコードであることが判明しました。MySQLデータベースからアンドロイドにデータを読み込む

は、ここに私のMainActivity.class

public class MainActivity extends AppCompatActivity { 

String json_string ; 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

public void getJSON(View view) 

{ 

    new BackgroundTask().execute(); 

} 


class BackgroundTask extends AsyncTask<Void,Void,String> 
{ 
    String JSON_STRING; 
    String json_url; 

    @Override 
    protected void onPreExecute(){ 
     super.onPreExecute(); 

     json_url = "http://www.puc.gava.ph/get_data.php"; 
    } 

    @Override 
    protected String doInBackground(Void... voids) { 
     try { 
      URL url = new URL(json_url); 
      HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection(); 
      InputStream inputStream = httpURLConnection.getInputStream(); 
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); 
      StringBuilder stringBuilder = new StringBuilder(); 
      while((JSON_STRING = bufferedReader.readLine())!=null) 
      { 

       stringBuilder.append(JSON_STRING+"\n"); 


      } 

      bufferedReader.close(); 
      inputStream.close(); 
      httpURLConnection.disconnect(); 
      return stringBuilder.toString().trim(); 

     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     return null; 
    } 

    @Override 
    protected void onProgressUpdate(Void... values) { 

     super.onProgressUpdate(values); 
    } 

    @Override 
    protected void onPostExecute (String result){ 
     TextView textView = (TextView)findViewById(R.id.textView); 
     textView.setText(result); 
     json_string=result; 


    } 


} 

}

である私は、それはステップバイステップでやりたいので、私はまだ解析するものを行っていません。 は、ここに私のget_data.phpある

<?php 

$host= "localhost"; 
$user = "root"; 
$password =""; 
$db = "accounts"; 

$sql = "select * from user_info"; 

$con = mysqli_connect($host,$user,$password,$db); 

$result = mysqli_query($con,$sql); 

$response = array(); 

while($row = mysqli_fetch_array($result)) 
{ 
    array_push($response,array("username" => $row[0],"password" => $row[1],"email" => $row[2])); 

} 

echo json_encode(array("server_response"=>$response)); 

mysqli_close($con); 

?>

私はブラウザへのリンクをテストし、それが私のテーブルのJSON形式を示したので、私のPHPファイルはokです。ここで

は多少ある私は私のTextViewの中で受け取る何

<br/> 
    <b>Notice</b>:Undefined index: 
    HTTP_ACCEPT_LANGUAGE in <n>/var/www/ph/rd/functions.php<b>49</b></br/> 
<html> 
<head> 
<link type="text/css"href=...........and so on. 

はお時間をいただき、ありがとうございます。

+0

テキストビューで受け取るコードをサポートするコードはありません。 'functions.php'の中身について教えてください。 –

+0

私は先生を理解していません。どういう意味ですか?私は私と同じコードを持つ他のユーザーを見てきましたが、彼の問題は解析だけであり、json形式の表示は大丈夫でした。 – newb

+0

しかし私は私のディレクトリに "functions.php"はありません。私はWAMPを使います。 – newb

答えて

0

あなたのJavaコードで不足しているヘッダーを設定することができます

httpURLConnection.setRequestProperty("Accept-Language", "en-US"); 

のブラウザはあなたのためにこのヘッダを設定します。

+0

は、の前に上位のhtmlコードだけを削除しましたが、出力は同じです。まだお元気です。 – newb

関連する問題