版權(quán)聲明:本文為博主原創(chuàng)文章宪肖,未經(jīng)博主允許不得轉(zhuǎn)載表制。
第一步:下載jar包添加到項(xiàng)目
需要去騰訊瀏覽服務(wù)官網(wǎng)下載X5內(nèi)核jar包
第二步:添加權(quán)限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
第三步:直接使用
很多文章中說(shuō)要用到application,其實(shí)不用也是可以的匈庭。在application中做設(shè)置只是增加了預(yù)先加載的功能夫凸。
MainActivity.java:
public class MainActivity extends Activity {
private X5WebView mWebView;
private String mUrl = "http://www.baidu.com/";
private RelativeLayout rlMore;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rlMore = (RelativeLayout) this.findViewById(R.id.rl_more);
rlMore.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v)
{
Intent intent = new Intent(MainActivity.this,UrlSetActivity.class);
MainActivity.this.startActivityForResult(intent,1);
return false;
}
});
rlMore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
loadWebUrl();
}
});
mWebView = (X5WebView) this.findViewById(R.id.awwt_webview);
mWebView.setWebViewClient(client);
}
private void loadWebUrl() {
if(null != mUrl && mUrl.length() > 0)
{
mWebView.loadUrl(mUrl);
}
}
@Override
protected void onResume()
{
super.onResume();
String preferUrl = SharePreferUtils.getSharePreferValue(this,"WEB_URL", "main_page");
if(null != preferUrl && preferUrl.length() > 0)
{
mUrl = preferUrl;
}
mWebView.loadUrl(mUrl);
}
private WebViewClient client = new WebViewClient() {
/**
* 防止加載網(wǎng)頁(yè)時(shí)調(diào)起系統(tǒng)瀏覽器
*/
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
public void onReceivedHttpAuthRequest(WebView webview,
com.tencent.smtt.export.external.interfaces.HttpAuthHandler httpAuthHandlerhost, String host,
String realm) {
boolean flag = httpAuthHandlerhost.useHttpAuthUsernamePassword();
}
@Override
public void onPageFinished(WebView webView, String s)
{
super.onPageFinished(webView, s);
}
@Override
public void onReceivedError(WebView webView, int i, String s, String s1)
{
System.out.println("***********onReceivedError ************" );
super.onReceivedError(webView, i, s, s1);
}
@Override
public void onReceivedHttpError(WebView webView, WebResourceRequest webResourceRequest, WebResourceResponse webResourceResponse) {
System.out.println("***********onReceivedHttpError ************" );
super.onReceivedHttpError(webView, webResourceRequest, webResourceResponse);
}
};
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(resultCode == RESULT_OK)
{
if(null != data)
{
String tUrl = data.getStringExtra("WEB_URL");
if(null != tUrl && tUrl.length() > 0)
{
mUrl = tUrl;
mWebView.loadUrl(mUrl);
SharePreferUtils.setSharePreferValue(this,"WEB_URL", "main_page",mUrl);
}
}
}
super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onDestroy()
{
if (mWebView != null)
{
mWebView.destroy();
}
super.onDestroy();
}
}
代碼十分簡(jiǎn)單,也很容易理解阱持。在這個(gè)我加了個(gè)跳轉(zhuǎn)類來(lái)實(shí)現(xiàn)訪問(wèn)其他網(wǎng)頁(yè),其實(shí)就是想測(cè)測(cè)X5的性能
public class UrlSetActivity extends Activity {
private ImageView ivBack;
private EditText edContent;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_url_set);
edContent = (EditText) this.findViewById(R.id.ampf_et_content);
findViewById(R.id.rl_more).setVisibility(View.GONE);
ivBack = (ImageView) this.findViewById(R.id.iv_back);
ivBack.setVisibility(View.VISIBLE);
ivBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
doBack();
}
});
findViewById(R.id.ampf_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(edContent.getText().toString().length() > 0) {
Intent intent = UrlSetActivity.this.getIntent();
intent.putExtra("WEB_URL",edContent.getText().toString());
UrlSetActivity.this.setResult(RESULT_OK, intent);
UrlSetActivity.this.finish();
}else{
Toast.makeText(UrlSetActivity.this,"網(wǎng)址不能為空",Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
public void onBackPressed()
{
doBack();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
{
doBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
protected void doBack()
{
UrlSetActivity.this.setResult(RESULT_OK, null);
finish();
}
}