Java Can';无法使用AsyncTask从html获取数据
我在从网站获取数据时遇到问题 所以我希望android studio在logcat中显示html 当我进入应用程序时,屏幕会变白且无响应 我没有错 每次我尝试使用AsyncTask时,它都不起作用 谢谢你的帮助 顺便说一句,我允许在“安卓清单”上使用互联网权限Java Can';无法使用AsyncTask从html获取数据,java,android,android-studio,Java,Android,Android Studio,我在从网站获取数据时遇到问题 所以我希望android studio在logcat中显示html 当我进入应用程序时,屏幕会变白且无响应 我没有错 每次我尝试使用AsyncTask时,它都不起作用 谢谢你的帮助 顺便说一句,我允许在“安卓清单”上使用互联网权限 public类MainActivity扩展了AppCompatActivity{ 公共类DownloadTask扩展了AsyncTask{ @凌驾 受保护的字符串doInBackground(字符串…URL){ 字符串结果=”; 网址;
public类MainActivity扩展了AppCompatActivity{
公共类DownloadTask扩展了AsyncTask{
@凌驾
受保护的字符串doInBackground(字符串…URL){
字符串结果=”;
网址;
HttpURLConnection-urlConnection=null;
试一试{
url=新url(url[0]);
urlConnection=(HttpURLConnection)url.openConnection();
InputStream in=urlConnection.getInputStream();
InputStreamReader reader=新的InputStreamReader(in);
int data=reader.read();
while(数据!=-1){
当前字符=(字符)数据;
结果+=电流;
data=reader.read();
}
返回结果;
}捕获(例外e){
e、 printStackTrace();
返回null;
}
}
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DownloadTask download=新建DownloadTask();
字符串结果=null;
试一试{
结果=下载。执行(“https://www.usmagazine.com/celebrities/a/).get();
日志d(“工作?”,结果);
}捕获(例外e){
}
}
}
您的
在doInBackground中,将结果返回给AsyncTask中名为onPostExecute的方法。请重写该方法,并在那里执行任务。
无法从html获取数据。
!从html?这是什么意思?…../a/”.get();
删除.get()并在onPostExecute()中处理doInBackground()的结果。
public class MainActivity extends AppCompatActivity {
public class DownloadTask extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... urls) {
String result = "";
URL url;
HttpURLConnection urlConnection = null;
try {
url = new URL(urls[0]);
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = urlConnection.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
int data = reader.read();
while (data != -1) {
char current = (char) data;
result += current;
data = reader.read();
}
return result;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DownloadTask download = new DownloadTask();
String result = null;
try {
result = download.execute("https://www.usmagazine.com/celebrities/a/").get();
Log.d("WORKING?", result);
}catch (Exception e){
}
}
}
return result;