资讯专栏INFORMATION COLUMN

安卓开发学习笔记(五):史上最简单且华丽地实现Android Stutio当中Webview控件ht

_ivan / 2940人阅读

摘要:一我们先在当中自定义一个代码如下可以看到,这里我们使用了现行布局以及控件,告诉我们这个控件是定义在第二个主活动当中的。这个标识符有利于我们在第二个主活动当中对这个控件的布局进行调用。

一.我们先在XML当中自定义一个webview(Second_layout.xml)

代码如下:

  
  
    
 

可以看到,这里我们使用了现行布局以及WebView控件,tools:context=".SecondActivity"告诉我们这个控件是定义在第二个主活动当中的。这个控件的唯一标识符是:@+id/webView。这个标识符有利于我们在第二个主活动当中对这个控件的布局进行调用。这样,我们的XML代码就写好了,是不是很简单呢?嘿嘿,下面我们进行第二个主活动的编写(当然您也可以使用第一个主活动当中编写Java代码来进行控件背后的业务逻辑的实现,笔者只是在第二个主活动当中进行了实现,并无实质上的区别哦!)

二.开始主活Java代码业务逻辑实现(SecondActivity.java)

首先我们开始导入必要的包,没有导入这些包的话,程序就会报错哦!需要导入的包有:

 

 package com.example.lenovo.activitytest;
 
 import android.net.http.SslError;
 import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.webkit.SslErrorHandler;
 import android.webkit.WebSettings;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;

 

然后开始主活动(或者说第二个活动也可以)的编写!这里我们继承的是AppCompatActivity这个类:

 

  public class SecondActivity extends AppCompatActivity {
      private WebView webView;
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.second_layout);
          init();
      }
  
     private void init(){
         webView = (WebView) findViewById(R.id.webView);
         //需要加载的网页的url
         webView.loadUrl("https://www.baidu.com");
         WebSettings settings = webView.getSettings();
         // 如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
         settings.setJavaScriptEnabled(true);
         webView.setWebViewClient(new WebViewClient(){
             public boolean shouldOverrideUrlLoading(WebView view, String url){
                 view.loadUrl(url);
                 return true;
             }
         });}}

 

利用这种方法的话,就可以十分容易地实现对我们网页的访问了!是不是很激动了呢?但是我们可以看看我们WebView控件的代码后面加载的是https协议所对应的网站,但是仅应用这些代码我们是只能够实现在APP当中查看具有http协议的网站,如果您只想访问具有http协议的网站,那么这就够咯。不过您要是想要实现访问具有https协议的网站的话,我们还必须在onCreate方法下面加上这一段代码了!:

 

 

       webView.setWebViewClient(new WebViewClient() {
             @Override
             public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                 //等待证书响应
                 handler.proceed();
             }
         });

 

这个时候软件后面的逻辑就全部编写完毕了,但是当程序进行运行的时候,Android stuidio也不会报错,可我们打开我们的APP一看就会发现我们还是打不开网页的,APP上会显示NET::ERR_CACHE_MISS的错误,因此我们来到程序编写的最后一步,来华丽的实现我们的webview控件的编写。

 

三.在Manifest.xml当中注册

我们只需要在Manifest.xml文件下面,webview加载网页时提示NET::ERR_CACHE_MISS的错误,原因很简单,就是没有添加网络访问的权限,在AndroidManifest.xml中加下就好了,如下:

 
     

 

这样的话,就可以让安卓应用进行肆无忌惮地访问网站啦!

 

四.实现效果如下:

 

 怎么样,还算简单吧!嘿嘿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/2649.html

相关文章

  • 自定义控件及效果

    摘要:实现炫酷的登录效果美观,动画效果丰富风格底部选择器支持时间,日期,自定义带来一组风格底部选择器控件,虽然我们不提倡安卓使用风格的控件,但是难免有些产品和美工一味追求风格。 Android 动画效果定值范围选择控件 实现固定值的范围选择, 并添加动态效果, 使用方便 项目需求讨论 - Android 自定义 Dialog 实现步骤及封装 根据实际项目需求出发。因为项目中的对话框要配合整个...

    刘德刚 评论0 收藏0
  • 安卓开发笔记(二十二):读取本(内置)html文件并实现和Javascript交互

    摘要:在读取本地并展示在前台的时候,并不需要在文件当中设置相应的网络权限,也不需要设置协议,因为安卓手机的本地服务器应该都是基于协议的,一个手机又不可能去申请一个安全证书。实际上我们通常是使用WebView控件对本地html进行读取,这样就可以体会类似web app和安卓原生混合开发的乐趣了。在读取本地html并展示在前台的时候,并不需要在Androidmenifast.xml文件当中设置相应的网...

    Keagan 评论0 收藏0
  • 安卓组件控件

    摘要:优点这样做的好处是无需适配,不用担心便宜问题缺点是不同的界面要写不同的基本使用学习记录开车指南之最全实用案例学习整理,很全安卓约束控件扁平化布局入门好棒的干货一个强悍而优美的视频播放器最近项目中有需要用在线视频播放。 ExpandableListView一点点 学习ExpandableListView简单用法 FloatingDragButton:炫酷的拖拽浮动按钮 IOS的Assis...

    tainzhi 评论0 收藏0
  • android知识总结 - 收藏集 - 掘金

    摘要:阿里巴巴的,美团的,自定义合集掘金自定义控件学习小良自定义控件合集自定义控件三部曲运行时权限简洁封装掘金运行时权限简洁封装本文原创,转载请注明出处。无论是下载模块,还是换肤模块,还是炫丽的界面。 『Material Design入门学习笔记』动画(含demo) - 掘金之前对Material Design的风格有了一些大体的了解,从这篇文章开始就要介绍代码了。这次文章介绍的代码是比较杂...

    WalkerXu 评论0 收藏0
  • UI仿写 - 收藏集 - 掘金

    摘要:启动页旅行云阅一个仿网易云音乐,使用及豆瓣开发的开源项目掘金一款基于网易云音乐,使用及豆瓣开发的符合阅读类的开源项目。 Android 仿今日头条的开源项目 - Android - 掘金起因 看到众多大神纷纷有了自己的开源项目,于是自己琢磨着也想做一个开源项目来学习下,因为每次无聊必刷的app就是今日头条,评论简直比内容都精彩,所以我打算仿今日头条来练练手,期间也曾放弃过,也遇到很多坑...

    AlienZHOU 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<