Android 开发内嵌H5的设置,稳定性,问题

本文介绍了Android内嵌H5页面的设置,包括加载本地和网络资源,设置WebView的缩放、JavaScript支持等。同时,文章探讨了WebView的优化技巧,如分进程展示,动态创建和销毁,以及保存和恢复状态。此外,还提到了一些常见问题,如页面加载完成判断、后台耗电、闪屏、数据积累和滚动条问题,并给出了相应的解决方案。
摘要由CSDN通过智能技术生成

1.资源文件已经部署到服务器上,直接请求服务器内的资源。

2.项目中的资源(也叫本地资源),html的展示所需源基本都在本地的源文件中。as一般放置于assete内。

 

//加载assets目录下的test.html文件

webView.loadUrl("file:///android_asset/test.html");

//加载网络资源(注意要加上网络权限)

webView.loadUrl("http://blog.csdn.net");

 

使用Android webView的基本设置

WebSettings webSettings = mWebView.getSettings();

//设置是否支持缩放

webSettings.setSupportZoom(true);

webSettings.setBuiltInZoomControls(true);

//设置是否显示缩放按钮

webSettings.setDisplayZoomControls(true);

 

//设置WebView是否允许执行JavaScript脚本,默认false,不允许

webSettings.setJavaScriptEnabled(true);

 

//设置自适应屏幕宽度

webSettings.setUseWideViewPort(true);

webSettings.setLoadWithOverviewMode(true);

//设置布局,会引起WebView的重新布局(relayout),默认值NARROW_COLUMNS

webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);

//设置WebView的用户代理字符串。如果字符串为null或者empty,将使用系统默认值。

// 注意从KITKAT版本开始,加载网页时改变用户代理会让WebView再次初始化加载

String versionName = AppUtils.getInstance().getVersionName();

String userAgent =webSettings.getUserAgentString();

webSettings.setUserAgentString(userAgent.replace("Android", "sander/" + versionName + "/Android"));

//如果用户设置了WebViewClient,则在点击新的链接以后//就不会跳转到系统浏览器了,而是在本WebView中显示。

//主要用来辅助WebView处理各种通知、请求等事件

mWebView.setWebViewClient(new MyWebViewClient(mWebView));

mWebView.setDefaultHandler(new DefaultHandler());

//主要用来辅助WebView处理Javascript的对话框、网站//图标、网站标题以及网页加载进度等。

mWebView.setWebChromeClient(new MyWebChromeClient());

//设置cookie

setCookie(shareUrl);

//加载链接

mWebView.loadUrl(shareUrl);

//调用WebView的addJavaScriptInterface(Object object, String name)方法将object对象暴露给JavaScript脚本;

//     /**

//     * 暴露给JavaScript的接口

//    

Android应用开发中,内嵌HTML5页面通常是指将Web内容作为Activity的一部分展示给用户。这种做法利用了WebView组件,它是一个可以显示网页内容的视图。以下是创建和使用H5页面的基本步骤: 1. **引入依赖**:在AndroidManifest.xml文件中添加权限,并确保已导入`<uses-permission android:name="android.permission.INTERNET" />`以允许访问网络。 ```xml <uses-permission android:name="android.permission.INTERNET" /> <activity ... <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" /> <data android:host="yourdomain.com" /> </intent-filter> </activity> ``` 2. **在布局文件中添加WebView**:在XML布局文件中添加WebView控件,例如放在`<FrameLayout>`里。 ```xml <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_horizontal" /> ``` 3. **初始化并加载H5**:在Activity中获取WebView实例,设置其属性,然后加载URL。 ```java WebView webView = findViewById(R.id.webView); webView.loadUrl("https://www.example.com/index.html"); webView.setWebViewClient(new WebViewClient()); webView.getSettings().setJavaScriptEnabled(true); // 允许运行JavaScript ``` 4. **处理交互**:如果需要,你可以通过监听WebView的各种事件(如 onPageFinished()、onLoadResource() 等),以及JavaScript Bridge技术与H5页面进行通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值