android-studio - 尝试返回所有 URL http 内容时内容中断
问题描述
我正在尝试从网站返回 http 内容。但是,并非所有内容都显示。
我正在使用 Android Studio 3.1.4,SDKVersion 27。
作为参考,这是在线 Udemy 课程中练习的一部分:完整的 Android N 开发人员课程,在该课程中,我通过从一个列出并显示“顶级”名人的网站获取 url 内容来制作一个 Guess The Celebrity 应用程序。使用 AsyncTask 获取内容后,我将使用正则表达式在内容中搜索名人姓名和图像。
MainActivity.java:
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 inputStream = urlConnection.getInputStream();
InputStreamReader reader = new InputStreamReader(inputStream);
int data = reader.read();
while (data != -1) {
char current = (char) data;
result += current;
data = reader.read();
}
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
@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("http://www.posh24.se/kandisar").get();
Log.i("URL CONTENTS ", result);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
我正在尝试返回整个 url http 内容。但是,我只得到一个片段。以下是 http 内容切断后显示的内容:
....
<div class="articleContainer contentBlock ">
<h1 class="header">Topp 100 kändisar</h1>
<div class="channelList">
<div class="channels_nav">
<div class="title">Lista:</div>
<div class=
D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
D/: HostConnection::get() New Host Connection established 0xab6833c0, tid 9204
D/android.support.v7.widget.GridLayout: vertical constraints: y5-y0>=680, y5-y4<=72, y4-y3<=72, y3-y2<=72, y2-y1<=72, y1-y0<=162 are inconsistent; permanently removing: y5-y4<=72.
D/: HostConnection::get() New Host Connection established 0xaddbb480, tid 9274
I/OpenGLRenderer: Initialized EGL, version 1.4
W/OpenGLRenderer: Failed to choose config with
EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
D/EGL_emulation: eglCreateContext: 0xa3ef2600: maj 3 min 0 rcv 3
D/EGL_emulation: eglMakeCurrent: 0xa3ef2600: ver 3 0 (tinfo 0xab6b2980)
E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
glUtilsParamSize: unknow param 0x00008824
D/EGL_emulation: eglMakeCurrent: 0xa3ef2600: ver 3 0 (tinfo 0xab6b2980)
W/art: Before Android 4.1, method int android.support.v7.widget.DropDownListView.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
解决方案
推荐阅读
- django - React 限制对特定用户的访问
- c# - 在子类的覆盖函数中使用子接口
- sql - 使用数据集中的路径名将图像插入 SSRS 报告
- javascript - 按字段名获取 JSON 数组数据
- php - 我应该为我的学说模型使用抽象类还是接口?
- angular - (chartInit) 在 Karma/Jasmine 测试中无法正常工作
- git - Git凭据捕获问题
- magento2 - M2 创建可配置产品并分配到类别但不在前端显示产品
- javascript - 使用 await 函数循环引发错误
- c# - 设置构造函数注入时出现 System.InvalidOperationException