仪器社区

android 用什么加载网页

华山我的电 2016-12-04
评论
全部评论
Q773975494
使用webview.android学习手册中有webview加载本例网页,加载web网页的详细例子。可以看源码。如果相信我的话可以下载看看。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行, 源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。webview有两个方法:setWebChromeClient 和 setWebClientsetWebClient:主要处理解析,渲染网页等浏览器做的事情setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等 WebViewClient就是帮助WebView处理各种通知、请求事件的。 在AndroidManifest.xml设置访问网络权限:
控件:    android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:id="@+id/webView"
   />
 用途一:加载本地/Web资源example.html 存放在assets文件夹内调用WebView的loadUrl()方法,加载本地资源webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("file:///android_asset/example.html");
加载web资源:webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("http://baidu.com");
 用途二:在程序内打开网页 创建一个自己的WebViewClient,通过setWebViewClient关联package com.example.testopen;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
private WebView webView;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.test);            
       init();

   }
   

   private void init(){
       webView = (WebView) findViewById(R.id.webView);
       //WebView加载web资源
      webView.loadUrl("http://baidu.com");
       //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开
      webView.setWebViewClient(new WebViewClient(){
          @Override
       public boolean shouldOverrideUrlLoading(WebView view, String url) {
           // TODO Auto-generated method stub
              //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
            view.loadUrl(url);
           return true;
       }
      });
   }
   
}
 用途三:如果访问的页面中有Javascript,则webview必须设置支持Javascript//启用支持javascript
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
 用途四:如果希望浏览的网页后退而不是退出浏览器,需要WebView覆盖URL加载,让它自动生成历史访问记录,那样就可以通过前进或后退访问已访问过的站点。//改写物理按键——返回的逻辑
   @Override
   public boolean onKeyDown(int keyCode, KeyEvent event) {
       // TODO Auto-generated method stub
       if(keyCode==KeyEvent.KEYCODE_BACK)
       {
           if(webView.canGoBack())
           {
               webView.goBack();//返回上一页面
               return true;
           }
           else
           {
               System.exit(0);//退出程序
           }
       }
       return super.onKeyDown(keyCode, event);
   }
用途五:判断页面加载过程   webView.setWebChromeClient(new WebChromeClient() {
           @Override
           public void onProgressChanged(WebView view, int newProgress) {
               // TODO Auto-generated method stub
               if (newProgress == 100) {
                   // 网页加载完成

               } else {
                   // 加载中

               }

           }
       });
13 0 2016-12-05 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论