Oi. Estou com um problema com a classe HttpUrlConnection no Android Studio:
O meu código-fonte (dentro de "protected String doInBackground(Void... voids)" que está dentro da classe "DownloadJSON" que estende AsyncTask(Void, Void, String):
[===========================]
String urlWebService = (string da URL aqui);
URL url = new URL(urlWebService);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
StringBuilder sb = New StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));
String json;
while ((json = bufferedReader.readLine()) != null) {
sb.append(json + "\n");
}
[===========================]
Erro no logcat:
[===========================]
/(nome do pacote) E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: (nome do pacote), PID: 2775
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.NullPointerException
at (nome do pacote).TelaPrincipal$1DownloadJSON.doInBackground(TelaPrincipal.java:492) (linha:
while ((json = bufferedReader.readLine()) != null) {)
at (nome do pacote).TelaPrincipal$1DownloadJSON.doInBackground(TelaPrincipal.java:441) (linha:
class DownloadJSON extends AsyncTask {)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
[===========================]
O problema é que esse mesmo erro somente ocorre em dispositivos com API < 21 (Android 5.0), já os mesmos com API > 21 (Android 5.0), não ocorre e o código executa normalmente sem algum tipo de falha. Alguém poderia me ajudar...?
NoCreativity
Super Participante
Registrado
222 Mensagens
65 Curtidas
[Resolvido] Android Studio HttpURLConnection
#1 Por NoCreativity
28/08/2018 - 14:30