douguangxiang0363 2014-04-21 18:17
浏览 74
已采纳

Android上“无法连接到数据库”错误

I want to make an application on Android to view my database from MySQL, but my code doesn't work correctly. The Android device told me that it "Couldn't connect to database".

this is screenshot of my problem : http://s21.postimg.org/fwgx2o5if/aaa.png

This is my MainActivity.java code:

package com.example.bismillahirohamnirohim;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;

@SuppressLint("NewApi")
public class MainActivity extends Activity {

    /** Called when the activity is first created. */

    TextView resultView;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        StrictMode.enableDefaults(); // STRICT MODE ENABLED

        resultView = (TextView) findViewById(R.id.result);

        getData();

    }

    public void getData() {

        String result = "";

        InputStream isr = null;

        try {

            HttpClient httpclient = new DefaultHttpClient();

            HttpPost httppost = new HttpPost(
                    "http://localhost/Myfile.php"); // YOUR PHP SCRIPT
                                                                // ADDRESS

            // HttpPost httppost = new
            // HttpPost("http://172.23.193.32/elift-test/myfile.php"); //YOUR
            // PHP SCRIPT ADDRESS

            HttpResponse response = httpclient.execute(httppost);

            HttpEntity entity = response.getEntity();

            isr = entity.getContent();

        }

        catch (Exception e) {

            Log.e("log_tag", "Error in http connection " + e.toString());

            resultView.setText("Couldnt connect to database");

        }

        // convert response to string

        try {

            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    isr, "iso-8859-1"), 8);

            StringBuilder sb = new StringBuilder();

            String line = null;

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

                sb.append(line + "
");

            }

            isr.close();

            result = sb.toString();

        }

        catch (Exception e) {

            Log.e("log_tag", "Error  converting result " + e.toString());

        }

        // parse json data

        try {

            String s = "";

            JSONArray jArray = new JSONArray(result);

            for (int i = 0; i < jArray.length(); i++) {

                JSONObject json = jArray.getJSONObject(i);

                s = s + "Name : " + json.getString("id") + " "
                        + json.getString("username");
            }

            resultView.setText(s);

        } catch (Exception e) {

            // TODO: handle exception

            Log.e("log_tag", "Error Parsing Data " + e.toString());

        }

    }

}

This is my PHP code:

<?php

mysql_connect("localhost","root","");

mysql_select_db("jadwal");

$sql1=mysql_query("select * from jadwalkuliah ");

if (!$sql1) {

echo "Could not successfully run query ($sql) from DB: " . mysql_error();

exit;

}

while($row=mysql_fetch_assoc($sql1))

$output[]=$row;


print(json_encode($output));

mysql_close();

?>

I'm using XAMPP.

Please help me. Thank you very much for your help.

  • 写回答

2条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 在matlab中如何进行三个参数的离散傅里叶逆变换(idft)
      • ¥15 遇到问题了,求解答!
      • ¥15 请问coppliasim eduUR5视觉抓取怎么实现仿真,
      • ¥30 JavaWeb实验(购物平台)
      • ¥15 八路抢答器倒计时设计时显示器不输出,只能显示0
      • ¥15 用C语言随机生成一个迷宫
      • ¥15 超多因素的正交方案设计
      • ¥15 Scratch~汽车小游戏
      • ¥30 OSGB转换为3dtiles
      • ¥25 用于Audio的芯片中“Audio Interface”和“Mode Control”是什么?