【问题标题】:Android HttpURLConnection AndroidRuntime errorAndroid HttpURLConnection AndroidRuntime 错误
【发布时间】:2013-05-30 15:39:22
【问题描述】:

问题解决了。原因是我忘记给应用程序授予 Internet 权限。

我要实现的基本功能是

  1. 获取 URL 并连接到远程服务器
  2. 从远程服务器获取结果并在 TextView 上显示结果

我使用异步任务从远程服务器加载结果。但是,我已经调试以下代码几个小时,仍然不知道哪里出了问题。谁能帮帮我?

private class ReportLocationTask extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... urls) {

            try {
                return reportLoc(urls[0]);
            } catch (IOException e) {
                return getResources().getString(R.string.connection_error);
            } 
        }

        @Override
        protected void onPostExecute(String result) {

            mActivityIndicator.setVisibility(View.GONE);
            mReport.setText(result);
        }
    }

    private String reportLoc(String urlstring) throws IOException{

        URL url = new URL(urlstring);

        HttpURLConnection conn = (HttpURLConnection) url.openConnection();



        try{
        InputStream in = new BufferedInputStream(conn.getInputStream());

        InputStreamReader is = new InputStreamReader(in);
        StringBuilder sb=new StringBuilder();
        BufferedReader br = new BufferedReader(is);
        String read = br.readLine();

        while(read != null) {
            //System.out.println(read);
            sb.append(read);
            read =br.readLine();

        }

        return sb.toString();
        }
        finally {
            conn.disconnect();
            }

    }

【问题讨论】:

  • 错误是什么?发布您的 logcat 跟踪
  • 分享你的 logcat 结果.. 究竟是什么错误?
  • 问题已解决。原因是我忘记给应用程序授予 Internet 权限。谢谢,伙计们。

标签: java android android-asynctask httpurlconnection


【解决方案1】:

您尚未指定请求方法。我假设您想从服务器获取结果。

   HttpURLConnection conn = (HttpURLConnection ) url.openConnection();
   conn.setRequestMethod("GET");
   conn.setReadTimeout(10000); // millis
   conn.setConnectTimeout(15000); // millis
   conn.setDoOutput(true);

   conn.connect();
   int response = conn.getResponseCode();
   if (response == HttpStatus.SC_OK) {
       .....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 2019-02-07
    • 2016-01-04
    • 1970-01-01
    • 2011-10-27
    • 2015-11-12
    相关资源
    最近更新 更多