• webviewactivity


    WebView注意点,注释里有说明

      1 package com.example.suneyaenews;
      2 
      3 import com.example.http.HttpThread;
      4 
      5 import android.app.Activity;
      6 import android.content.Intent;
      7 import android.net.Uri;
      8 import android.os.Bundle;
      9 import android.os.Handler;
     10 import android.view.KeyEvent;
     11 import android.view.View;
     12 import android.view.View.OnClickListener;
     13 import android.webkit.WebView;
     14 import android.webkit.WebViewClient;
     15 import android.widget.ImageButton;
     16 import android.widget.Toast;
     17 
     18 public class WebViewActivity extends Activity implements OnClickListener {
     19     private static String HAO123 = "https://www.hao123.com/";
     20     private static String BAIDU = "https://www.baidu.com/";
     21     private static String HOME = "http://m.hao123.com/?vit=h123&from=3w123";
     22     private WebView webView;
     23     private ImageButton imgbtn_back, imgbtn_ahead, imgbtn_home, imgbtn_more,
     24             imgbtn_tag;
     25 
     26     @Override
     27     protected void onCreate(Bundle savedInstanceState) {
     28         // TODO Auto-generated method stub
     29         super.onCreate(savedInstanceState);
     30         setContentView(R.layout.webview);
     31         initImgbtn();
     32         webView = (WebView) findViewById(R.id.id_webview);
     33         // new HttpThread("www.baidu.com", webView, new Handler()).start();
     34         webView.loadUrl(HAO123);// 打开网页的第一种方式:使用webview来访问
     35 
     36         setWebView();// 设置默认打开行为
     37         // webView.loadUrl("file:///android_asset/xx.html ");//没成功,
     38         // Uri uri = Uri.parse("https://www.hao123.com/");
     39         // Intent intent = new Intent(Intent.ACTION_VIEW,uri);
     40         // startActivity(intent);//打开网页的第二种方式:使用intent
     41         // boolean flag = webView.isPressed();
     42         // prompt("webView.isPressed():"+flag);
     43 
     44         webView.getSettings().setJavaScriptEnabled(true);// 设置启动javascript
     45 
     46     }
     47 
     48     private void setWebView() {
     49         // //覆盖webView默认使用第三方或者系统浏览器打开网页的行为,
     50         webView.setWebViewClient(new WebViewClient() {
     51             @Override
     52             public boolean shouldOverrideUrlLoading(WebView view, String url) {
     53                 // TODO Auto-generated method stub
     54                 // true:在webview中打开, false:用系统或者第三方浏览器打开
     55                 view.loadUrl(url);
     56                 return true;
     57             }
     58 
     59             @Override
     60             public void onLoadResource(WebView view, String url) {
     61                 // TODO Auto-generated method stub
     62                 // prompt("正在加载资源,onLoadResource,url:"+url);
     63             }
     64             // 这个WebViewClient的作用:帮助WebView去处理一些页面控制,和请求通知。
     65         });
     66     }
     67 
     68     private void initImgbtn() {
     69         // imgbtn_back, imgbtn_ahead, imgbtn_home, imgbtn_more,
     70         // imgbtn_tag
     71         imgbtn_back = (ImageButton) findViewById(R.id.id_btn_back);
     72         imgbtn_ahead = (ImageButton) findViewById(R.id.id_btn_ahead);
     73         imgbtn_home = (ImageButton) findViewById(R.id.id_btn_home);
     74         imgbtn_more = (ImageButton) findViewById(R.id.id_btn_more);
     75         imgbtn_tag = (ImageButton) findViewById(R.id.id_btn_tag);
     76         imgbtn_back.setOnClickListener(this);
     77         imgbtn_ahead.setOnClickListener(this);
     78         imgbtn_home.setOnClickListener(this);
     79         imgbtn_more.setOnClickListener(this);
     80         imgbtn_tag.setOnClickListener(this);
     81     }
     82 
     83     /**
     84      * 改写物理按钮返回的逻辑,
     85      */
     86     @Override
     87     public boolean onKeyDown(int keyCode, KeyEvent event) {
     88         // TODO Auto-generated method stub
     89         if (keyCode == event.KEYCODE_BACK) {
     90             if (webView.canGoBack()) {
     91                 prompt("返回上一页面...");
     92                 webView.goBack();// 返回上一页面
     93                 return true;
     94             } else {
     95                 prompt("退出程序...");
     96                 System.exit(0);
     97             }
     98         }
     99         return super.onKeyDown(keyCode, event);
    100     }
    101 
    102     private void prompt(String hint, int duration) {
    103         Toast.makeText(this, hint, duration).show();
    104     }
    105 
    106     /**
    107      * 弹出提示
    108      * 
    109      * @param hint
    110      */
    111     private void prompt(String hint) {
    112         Toast.makeText(this, hint, 100).show();
    113     }
    114 
    115     @Override
    116     public void onClick(View v) {
    117         int ic_id = v.getId();
    118         switch (ic_id) {
    119         case R.id.id_btn_back:
    120             if (webView.canGoBack()) {
    121                 prompt("返回上一页面...");
    122                 webView.goBack();
    123             }
    124             break;
    125         case R.id.id_btn_ahead:
    126             if (webView.canGoForward()) {
    127                 prompt("返回下一页面...");
    128                 webView.goForward();// 返回上一页面
    129             } else {
    130                 prompt("小主,这已经是最后一页了...");
    131             }
    132             break;
    133         case R.id.id_btn_home:
    134             // 如果当前url不是HOME页,那么就加载到home页,否则什么也不干
    135             if (!HOME.equals(webView.getUrl())) {
    136                 prompt("回到主页...  " + webView.getUrl());
    137                 webView.loadUrl(HOME);
    138                 setWebView();// 设置默认打开行为
    139             }
    140             break;
    141         case R.id.id_btn_more:
    142 
    143             break;
    144         case R.id.id_btn_tag:
    145 
    146             break;
    147         default:
    148             break;
    149         }
    150     }
    151 }

      

  • 相关阅读:
    JMeter性能测试中控制业务比例
    软件版本命名规范
    软件测试方法——静态测试与动态测试
    安装BugFree 3.0.4时出现的问题
    Linux下给mysql创建用户分配权限
    LoadRunner 测试脚本
    linux dd命令详解
    Linux查看CPU和内存使用情况
    Error:java: 无效的源发行版: 10
    rf接口自动化之结果校验
  • 原文地址:https://www.cnblogs.com/Sunnor/p/5469549.html
Copyright © 2020-2023  润新知