Mam problem podczas próby użycia AsyncTask. Po użyciu go nic nie wypisuje się do logów (co miało być skutkiem działania AsyncTask). Nie pokazują się nawet błędy z try and catch. Wygląda jakby wszystko się zawiesiło. Próbowałem sprawdzić czy to wina internetu włączając inny program używający AsyncTask i działa prawie natychmiastowo. Oczywiście dodałem w manifescie pozwolenie na użycie internetu.
Kod
package com.example.guess;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
public class Downloader extends AsyncTask<String,Integer,String>
{
@Override
protected String doInBackground(String... urls) {
try{
URL url = new URL(urls[0]);
publishProgress(-1);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream in = connection.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
String result = "";
int data =reader.read();
while(data!=-1)
{
result+=(char) data;
data = reader.read();
publishProgress(data);
}
return result;
}catch (Exception e)
{
Log.i("AAAAAA","at");
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Integer... progress) {
Log.i("AAAAB",String.valueOf(progress[0]+"\n"));
}
}
public void onClick(View view)
{
Log.i("AAAAAA","v");
Downloader task = new Downloader();
String result;
try {
result = task.execute("https://www.google.pl/").get();
Log.i("AAAA", result);
}catch (Exception e)
{
Log.i("AAAAAA","");
e.printStackTrace();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}