gpt4 book ai didi

android - URL 的 bufferedReader 抛出 IOException

转载 作者:太空狗 更新时间:2023-10-29 12:57:34 25 4
gpt4 key购买 nike

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

package com.enophz.spacetrash;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class Scores extends Activity { //private TextView HscoreText; /** Called when the activity is first created. */    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.scores);        Button next = (Button) findViewById(R.id.Button01);        next.setOnClickListener(new View.OnClickListener() {            public void onClick(View view) {                Intent myIntent = new Intent(view.getContext(), Menu.class);                startActivity(myIntent);            }        });        TextView HscoreText = (TextView) findViewById(R.id.text);        try        {         URL page = new URL("http://192.168.1.108/score.php");         URLConnection pageconnection = page.openConnection();         BufferedReader in = new BufferedReader(                    new InputStreamReader(                    pageconnection.getInputStream()));         in.close();            HscoreText.setText("It Worked!");        }        catch(MalformedURLException e)        {         HscoreText.setText("MalformedURL");        }        catch (IOException e)        {         HscoreText.setText("IOException");  }    }}

最佳答案

我不知道您希望从 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"));

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

String sResponse = reader.readLine();
JSONObject JResponse = new JSONObject(sResponse);

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

String sResponse;
StringBuilder s = new StringBuilder();

while ((sResponse = reader.readLine()) != null) {
s = s.append(sResponse);
}

关于android - URL 的 bufferedReader 抛出 IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4720881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com