一如安卓深似海,本来只需要被坑去写HTTP协议网络部分的,又接了写WebView的活,好在WebView使用还算简单

直接看官方文档:http://developer.android.com/guide/webapps/webview.html
http://developer.android.com/reference/android/webkit/WebView.html


使用WebView deliver Web APP

由于需求界面很简单直接使用官方样例即可

  • layout:
<?xml version="1.0" encoding="utf-8"?><WebView  xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/webview"    android:layout_width="fill_parent"    android:layout_height="fill_parent"/>
  • 在oncreat()里写入:
WebView myWebView = (WebView) findViewById(R.id.webview);myWebView.loadUrl("http://www.example.com");
  • 还需要为应用获取网络访问权限,在manifest文件中按如下样例写入:
<manifest ... >    <uses-permission android:name="android.permission.INTERNET" />    ...manifest>

这样就可以实现基本的呈现Web页面的目标,但是这样并不能满足正常的需求。

在WebView中使用javascript

在以上代码的基础上继续修改:

WebView myWebView = (WebView) findViewById(R.id.webview);WebSettings webSettings = myWebView.getSettings();webSettings.setJavaScriptEnabled(true);

阻止调用默认浏览器

重载方法:

private class MyWebViewClient extends WebViewClient {    @Override    public boolean shouldOverrideUrlLoading(WebView view, String url){        // 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边        view.loadUrl(url);        return true;    }}

防止应用内更新进度调用浏览器,并进行错误处理:

 final Activity activity = this; webview.setWebChromeClient(new WebChromeClient() {   public void onProgressChanged(WebView view, int progress) {     // Activities and WebViews measure progress with different scales.     // The progress meter will automatically disappear when we reach 100%     activity.setProgress(progress * 1000);   } }); webview.setWebViewClient(new WebViewClient() {   public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {     Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();   } });

阻止页面打开时直接调用了系统浏览器:

        if (Build.VERSION.SDK_INT >= 19) {            Toast.makeText(this, "success", Toast.LENGTH_LONG).show();            myWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);        }

更多相关文章

  1. android - 购物车页面【仿】京东App
  2. android跳转到卸载页面
  3. Android调用浏览器打开网页内容
  4. Android刷新页面
  5. android - mvp实现商品详情页面【仿】京东App
  6. android 浏览器
  7. android(27)(显示意图之打开浏览器)
  8. Android登录页面制作并且记住账号密码
  9. Android 设置页面的设计

随机推荐

  1. 进程与进程间的通信(一)——Aidl
  2. Android(安卓)Color类
  3. Innotrends 宣布基于 Android(安卓)的 Ca
  4. 持久化修改Android模拟器的system分区
  5. Android(安卓)UnitTest
  6. Android(安卓)NDK开发环境搭建
  7. 解決 android studio更新失败的一种情况
  8. [置顶] android性能测试工具之dumpstate
  9. [Unity3D]Unity3D游戏开发之Unity与Andro
  10. Android(安卓)7.1编译问题 FAILED: /bin/