私は、このチュートリアルの後に、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.
はお時間をいただき、ありがとうございます。
テキストビューで受け取るコードをサポートするコードはありません。 'functions.php'の中身について教えてください。 –
私は先生を理解していません。どういう意味ですか?私は私と同じコードを持つ他のユーザーを見てきましたが、彼の問題は解析だけであり、json形式の表示は大丈夫でした。 – newb
しかし私は私のディレクトリに "functions.php"はありません。私はWAMPを使います。 – newb