Android WebView 使用之强大的腾讯X5内核

官网地址http://x5.tencent.com/tbs/index.html
该控件的特点
  官网介绍

1) 速度快:相比系统webview的网页打开速度有30+%的提升;

2) 省流量:使用云端优化技术使流量节省20+%;

3) 更安全:安全问题可以在24小时内修复;

4) 更稳定:经过亿级用户的使用考验,CRASH率低于0.15%;

5) 兼容好:无系统内核的碎片化问题,更少的兼容性问题;

6) 体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;

7) 功能全:在Html5、ES6上有更完整支持;

8) 更强大:集成强大的视频播放器,支持视频格式远多于系统webview;

9) 视频和文件格式的支持x5内核多于系统内核

10) 防劫持是x5内核的一大亮点

开始接入

    SDK下载 :http://x5.tencent.com/tbs/sdk.html

    压缩包解压后如下图

    

Android studio 示例

在libs放入sdk 的包


布局文件

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version= "1.0"  encoding= "utf-8" ?>
<RelativeLayout
     xmlns:android= "http://schemas.android.com/apk/res/android"
     android:layout_width= "match_parent"
     android:layout_height= "match_parent"
>
  <com.tencent.smtt.sdk.WebView
      android:id= "@+id/webView_showHtml"
      android:layout_width= "match_parent"
      android:layout_height= "match_parent" >
   
  </com.tencent.smtt.sdk.WebView>
</RelativeLayout>

 
MainActivity代码

public class MainActivity extends MyActivity {
    private WebView webViewShowHtml;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webViewShowHtml= (WebView) findViewById(R.id.webView_showHtml);


        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
        WebSettings settings = webViewShowHtml.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setGeolocationEnabled(true);
        settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
        settings.setGeolocationDatabasePath(this.getFilesDir().getPath());
//------------------------收集BUG-------------------------
        CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(MainActivity.this);
        strategy.setCrashHandleCallback(new CrashReport.CrashHandleCallback() {
            public Map<String, String> onCrashHandleStart(int crashType, String errorType, String errorMessage, String errorStack) {
                LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
                String x5CrashInfo = com.tencent.smtt.sdk.WebView.getCrashExtraMessage(MainActivity.this);
                map.put("x5crashInfo", x5CrashInfo);
                return map;
            }


            @Override




            public byte[] onCrashHandleStart2GetExtraDatas(int crashType, String errorType, String errorMessage, String errorStack) {
                try {
                    return "Extra data.".getBytes("UTF-8");
                } catch (Exception e) {
                    return null;
                }
            }
        });
        CrashReport.initCrashReport(MainActivity.this, "此处填写腾讯Bugly上面的appId", true, strategy);
//----------------以上是收集BUG所用代码-----------------------------


        webViewShowHtml.setWebViewClient(client);
        webViewShowHtml.loadUrl("file:///android_asset/xxx");//此处加载的是本地html"xxx"是文件名
    }


    private WebViewClient client = new WebViewClient() {
        /**
         * 防止加载网页时调起系统浏览器
         */
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }


    };
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值