android模拟器冻结,我没有网站的html代码

5anewei6  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(492)

我只是在创建一个简单的android应用程序,它记录特定网站的html代码。在oncreate方法中,传递一个字符串,它是我们想要的html代码的url。每当我运行应用程序时,我不会在日志中得到html代码,而且模拟器也会冻结。它只适用于特定的链接https://www.zappycode.com/" . 如果任何其他链接通过,我会得到的问题。代码:

package com.example.guesswho;

import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;

import androidx.appcompat.app.AppCompatActivity;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class MainActivity extends AppCompatActivity {

    public class DownloadTask extends AsyncTask<String,Void, String>{

        @Override
        protected String doInBackground(String... urls) {
            String result=null;
            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 "failed";
            }

        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        DownloadTask task= new DownloadTask();
        String result= null;
        try{
            result= task.execute("https://www.imdb.com/list/ls052283250/").get(); //DOES NOT WORK 
            //result= task.execute("https://en.wikipedia.org/wiki/ICC_Player_Rankings").get();//DOES NOT WORK 

            //result= task.execute("https://www.zappycode.com/").get(); //THIS WORKS PERFECTLY

        }catch(Exception e){
            e.printStackTrace();
        }
        Log.i("Result", result);

    }
}

传递imbd或wikipedia链接时记录。

传递imbd或wikipedia时的仿真器:(home、switch app和back按钮不起作用,helloworld textview不可见)

为什么会发生这种情况,我如何解决它。提前感谢:)

pes8fvy9

pes8fvy91#

在androidmanifest.xml文件的application标记下添加这一行。

android:usesCleartextTraffic="true"

相关问题