【发布时间】:2014-09-25 17:56:43
【问题描述】:
我的目标是在可读的String(我已经完成)中检索网站的html,并稍微修改代码,以便在Get 之后的某个时间检索html命令已发出。
这是我正在尝试做的一个示例:在网站http://time.gov/HTML5/ 上,页面加载时出现的html 不是完整的html;几秒钟后,javascript 命令执行,稍微修改html。我的目标是获得修改后的html。
这是我为获得网站html所做的工作:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DownloadTask task = new DownloadTask();
task.execute("http://time.gov/HTML5/");
}
private class DownloadTask extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... urls) {
HttpResponse response = null;
HttpGet httpGet = null;
HttpClient mHttpClient = null;
String s = "";
try {
if(mHttpClient == null){
mHttpClient = new DefaultHttpClient();
}
httpGet = new HttpGet(urls[0]);
response = mHttpClient.execute(httpGet);
s = EntityUtils.toString(response.getEntity(), "UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
return s;
}
@Override
protected void onPostExecute(String result){
final TextView textview1 = (TextView) findViewById(R.id.headline);
textview1.setText(result);
}
}
}
此代码正确获取未修改的html。但是,我试图在请求发出几秒钟后使用Thread.sleep(5000) 获取html(希望有足够的时间来更新html),但这不起作用。有谁知道如何解决这个问题?
【问题讨论】:
-
尝试使用处理程序进行延迟。
-
@user3616949,当您使用 Traceview 或其他工具来确定您的时间花在哪里时,您学到了什么?
标签: java javascript android html