用于 URL 的 bufferedReader 抛出 IOException

dre*_*mug 7 android

我让我的代码连接到我的计算机 php 文件并在 java 程序中输出正确的文本。当我试图将它添加到我的 android 项目以显示高分时,它总是抛出 IOException,我不知道为什么。这是我的代码。任何帮助,将不胜感激。

包 com.enophz.spacetrash;

导入 java.io.BufferedReader;
导入 java.io.IOException;
导入 java.io.InputStreamReader;
导入 java.net.MalformedURLException;
导入 java.net.URL;
导入 java.net.URLConnection;

导入 android.app.Activity;
导入 android.content.Intent;
导入 android.os.Bundle;
导入 android.view.View;
导入 android.widget.Button;
导入 android.widget.TextView;

公共类分数扩展活动{

 //私有TextView HscoreText;

 /** 在第一次创建活动时调用。*/
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.scores);

        Button next = (Button) findViewById(R.id.Button01);
        next.setOnClickListener(new View.OnClickListener() {
            公共无效onClick(查看视图){
                Intent myIntent = new Intent(view.getContext(), Menu.class);
                开始活动(我的意图);
            }

        });

        TextView HscoreText = (TextView) findViewById(R.id.text);

        尝试
        {
         URL page = new URL("http://192.168.1.108/score.php");
         URLConnection pageconnection = page.openConnection();
         BufferedReader in = new BufferedReader(
                    新的 InputStreamReader(
                    pageconnection.getInputStream()));

         附寄();


            HscoreText.setText("成功了!");
        }
        catch(MalformedURLException e)
        {
         HscoreText.setText("MalformedURL");
        }
        捕获(IOException e)
        {
         HscoreText.setText("IOException");
  }

    }

}

Vik*_*kas 2

我不知道您期望从 php 页面获得什么类型的内容..但以下内容可能会帮助您从 Web 服务器获取内容:

HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet(myUrl);

HttpResponse response = httpClient.execute(httpGet, localContext);
BufferedReader reader = new BufferedReader(new InputStreamReader(
    response.getEntity().getContent(), "UTF-8"));
Run Code Online (Sandbox Code Playgroud)

现在 JSON 将是单行,因此您可以使用:

String sResponse = reader.readLine();
JSONObject JResponse = new JSONObject(sResponse);
Run Code Online (Sandbox Code Playgroud)

否则,将整个内容作为字符串获取:

String sResponse;
StringBuilder s = new StringBuilder();

while ((sResponse = reader.readLine()) != null) {
s = s.append(sResponse);
}
Run Code Online (Sandbox Code Playgroud)