gpt4 book ai didi

android - 从WebView获取网站源码

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:12 25 4
gpt4 key购买 nike

我正在尝试获取 HTML 源代码,但它卡住了应用程序。我不知道是什么问题,我添加了 Internet Permission我从网站上获取了这段代码,但它对我不起作用。它会一直工作,直到我按下按钮,然后它才会停止。

我希望有人能帮我解决这个问题,这是我正在使用的代码:

public class MainActivity extends Activity {

private String HTML = "";
EditText tv;
private ProgressDialog m_ProgressDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button btn = (Button)findViewById(R.id.button1);
tv = (EditText)findViewById(R.id.editText1);
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
getHTML("http://m.Facebook.com/");
}
});
}

public void getHTML(String paramString)
{
try
{
BufferedInputStream localBufferedInputStream = new BufferedInputStream(new URL(paramString).openConnection().getInputStream());
ByteArrayBuffer localByteArrayBuffer = new ByteArrayBuffer(50);
while (true)
{
int i = localBufferedInputStream.read();
if (i == -1)
{
HTML = new String(localByteArrayBuffer.toByteArray());
handler.sendEmptyMessage(0);
return;
}
i = (byte)i;
localByteArrayBuffer.append(i);

}
}
catch (Exception localException)
{
while (true)
this.HTML = "Error!";
}
}


private Handler handler = new Handler()

{
public void handleMessage(Message paramMessage)
{

EditText localEditText = (EditText)MainActivity.this.findViewById(R.id.editText1);

MainActivity.this.m_ProgressDialog.dismiss();

localEditText.setText(MainActivity.this.HTML);

}

};


}

最佳答案

这与 WebView 有什么关系?您有一个 NetworkOnMainThreadExeption。您必须将代码放在 AsyncTask 或 Thread 中以防止出现这种情况。

关于android - 从WebView获取网站源码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26075957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com