-1

我正在尝试通过我的 android 应用程序连接到我的本地主机上的数据库。我创建了一个 php 文件并将其存储在我的 wamp/www/myfolder 中,当我运行它时它工作正常,所以它一定是我的 android 类的问题。

   public void getData(){
    String result ="";
    InputStream isr = null;
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new        HttpPost("http://localhost/testdata/getAllCustomers.php");
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        isr = entity.getContent();
    }catch(Exception e){
        Log.e("log_tag", "Error in http connection");
        resultView.setText("Couldnt connect to database");

我已经检查了我的代码很多次,但我找不到问题所在。我在此方法中创建了两个 morw try 捕获,用于转换结果,另一个解析数据,但是当我运行它时,会出现第一个日志,因此它不会连接到数据库。

Ps 我正在使用 eclipse,我需要一个 json 插件,我知道 eclipse IDE 支持它。

4

2 回答 2

0

当您尝试从模拟器连接时,android 的环回地址是 10.0.2.2

即代替 localhost 使用 10.0.2.2

于 2013-04-17T13:30:47.490 回答
0

NetworkOnMainThreadException表示您正试图在主线程上执行网络操作,这是被禁止的。只需从另一个线程执行此操作。这主要是通过创建一个 AsyncTask 来完成的。这是一个例子。这另一个。

值得注意的是,NetworkOnMainThreadException仅针对面向 Honeycomb SDK 或更高版本的应用程序抛出,但始终强烈反对这种行为。

于 2013-04-17T13:50:29.543 回答