2013-05-30 4 views
0

Проблемы решены. Дело в том, что я забыл предоставить интернет-разрешение для приложения.Android HttpURLConnection Ошибка AndroidRuntime

Основная функция, которую я хочу, чтобы реализовать то, что

  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(); 
      } 

    } 
+2

Какая ошибка? отправьте свою трассу logcat – Pragnani

+0

Поделитесь своими результатами в logcat .. В чем именно ошибка? –

+0

Проблемы решены. Дело в том, что я забыл предоставить интернет-разрешение для приложения. Спасибо, парни. – Kiwi

ответ

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) { 
     ..... 
Смежные вопросы