2017-02-14 15 views
0

У меня есть классAndroid HttpURLConnection всегда бросает исключение

import java.io.BufferedReader; 
import java.io.DataOutputStream; 
import java.io.InputStreamReader; 
import java.net.URL; 
import java.util.ArrayList; 
import java.lang.Exception; 
import java.net.HttpURLConnection; 
public class HttpURLConnectionExample { 
    private final String USER_AGENT = "Mozilla 5.0"; 
    // HTTP GET request 
    public ArrayList<dispencer> sendGet() throws Exception { 
     String url = "http://192.168.1.9"; 
     URL obj = new URL(url); 
     HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 
     // optional default is GET 
     con.setRequestMethod("GET"); 
     //add request header 
     con.setRequestProperty("User-Agent", USER_AGENT); 
     int responseCode = con.getResponseCode(); 
     System.out.println("\nSending 'GET' request to URL : " + url); 
     System.out.println("Response Code : " + responseCode); 
     BufferedReader in = new BufferedReader(
       new InputStreamReader(con.getInputStream())); 
     String inputLine; 
     StringBuffer response = new StringBuffer(); 
     while ((inputLine = in.readLine()) != null) { 
     response.append(inputLine); 
    } 
    in.close(); 
    //print result 
    ArrayList<dispencer> dispList = new ArrayList<dispencer>(); 
    String[] strRows = response.toString().split("@"); 
    for (int i= 0; i <strRows.length; i++) { 
     dispencer disp = new dispencer(strRows[i]); 
     if (!disp.isOk) continue; 
     dispList.add(disp); 
     System.out.println(disp.indirizzo); 
    } 
    return dispList; 
} 
} 

я вызываю метод sendGet как это.

 HttpURLConnectionExample httpFnd= new HttpURLConnectionExample(); 
      ArrayList<dispencer> listAr = new ArrayList<dispencer>(); 
      try{ 
       listAr = httpFnd.sendGet(); 
      } 
      catch (Exception Exception){ 

       fndLayout.setVisibility(View.GONE); 
       System.out.println("exception handled"); 
      } 

Всякий раз, когда я пытаюсь вызвать sendGet Я всегда получаю исключение сообщения обрабатывается и никогда не Получать мой arrayList обратно, так же, как соединение не было установлено. Когда я вызываю метод, который я также получаю эту ошибку

D/NetworkSecurityConfig: Нет Network Security Config указано, с помощью платформы по умолчанию

, это причина моей проблемы?

благодарит за помощь.

EDIT я видел, что мне нужно использовать asyncTask для предотвращения того, чтобы исключить предложение Andy о том, как я должен его реализовать?

+0

добавить полный журнал ошибок – Jayanth

+0

, что исключение trhown ? –

+0

это журнал ошибок 02/14 18:03:54: Запуск приложения W/System: ClassLoader ссылается на неизвестный путь: /data/data/com.example.lele.condomadv/lib Горячие смены изменений, активность перезапущена E/EGL_emulation: TID 4615: eglSurfaceAttrib (1174): ошибка 0x3009 (EGL_BAD_MATCH) Вт/OpenGLRenderer: Не удалось установить EGL_SWAP_BEHAVIOR на поверхности 0x9a6e0060, ошибка = EGL_BAD_MATCH Е/EGL_emulation: TID 4615: eglSurfaceAttrib (1174): ошибка 0x3009 (EGL_BAD_MATCH) W/OpenGLRenderer: Не удалось установить EGL_SWAP_BEHAVIOR на поверхность 0x9aac73e0, error = EGL_BAD_MATCH –

ответ

0

Попробуйте это:

class Loading extends AsyncTask {

@Override

protected Void doInBackground(Void... arg0)

{

// your code here

return null;

}

@Override

protected void onPreExecute()

{

//your code here

super.onPreExecute();

}

@Override

protected void onPostExecute(Void result)

{

//your code here

super.onPostExecute(result);

}

}//Loading

ли вы помните, чтобы добавить эту строку в AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET"/>

и

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

+0

спасибо, я попробую, о разрешениях да, я дал им разрешение;) –

 Смежные вопросы

  • Нет связанных вопросов^_^