• andoird webiew使用有道辞典实例


    模仿网上的例子练手的。

    注意:

    1.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。

     

    添加WiFi以及访问网络的权限:
         <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" ></uses-permission>
         <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" ></uses-permission>
         <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>
         <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ></uses-permission>
         <uses-permission android:name="android.permission.INTERNET" ></uses-permission>
         <uses-permission android:name="android.permission.WAKE_LOCK" ></uses-permission>
    


    2.如果访问的页面中有Javascript,则webview必须设置支持Javascript。
        webview.getSettings().setJavaScriptEnabled(true);  
    3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象。

    4.如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网 页回退而不是推出浏览器,需要在当前Activity中处理并消费掉Back事件。

    package hit.edu.cn;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.KeyEvent;
    import android.view.View;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;

    public class YoudaoActivity extends Activity {
    private Button bntSearch;
    private Button bntClean;
    private EditText textContent;
    private WebView mWebViewRes;

    String youdao_URL = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&q=";
    String jinshan_URL = "http://www.iciba.com/";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // 获得布局的几个控件
    bntSearch = (Button) findViewById(R.id.buttonSearch);
    bntClean = (Button) findViewById(R.id.buttonClean);
    textContent = (EditText) findViewById(R.id.editTextContent);
    mWebViewRes = (WebView) findViewById(R.id.myWebViewRes);

    // 如果有js必须设置js使能
    mWebViewRes.getSettings().setJavaScriptEnabled(true);

    // 如果页面中链接,如果希望点击链接继续在当前browser中响应,
    // 而不是新开Android的系统browser中响应该链接,必须覆盖
    // webview的WebViewClient对象
    mWebViewRes.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    return true;
    }
    });

    // 查询按钮添加事件
    bntSearch.setOnClickListener(new Button.OnClickListener() {

    @Override
    public void onClick(View arg0) {
    String strURI = (textContent.getText().toString());
    strURI = strURI.trim();
    // 如果查询内容为空提示
    if (strURI.length() == 0) {
    Toast.makeText(getApplication(), "查询内容不能为空!",
    Toast.LENGTH_SHORT).show();
    }
    // 否则则以参数的形式从http://dict.youdao.com/m取得数据,加载到WebView里.
    else {
    String strURL = youdao_URL + strURI;
    // String strURL= "www.baidu.com";
    mWebViewRes.loadUrl(strURL);
    }
    }
    });

    // 清空按钮添加事件,将EditText置空
    bntClean.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
    textContent.setText("");
    }
    });
    }

    // 设置回退,覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebViewRes.canGoBack()) {
    // goBack()表示返回WebView的上一页面
    mWebViewRes.goBack();
    return true;
    }
    //使用系统的回退设置
    return super.onKeyDown(keyCode, event);
    }
    }


    效果图:

  • 相关阅读:
    选择语句(if else) 习题(2017/12/1)
    Java代码空格问题
    设置背景图片
    寄存器
    8086微处理器的组成和工作原理
    8086引脚
    换行的训练
    彩票 双色球 36选7
    函数
    字符串
  • 原文地址:https://www.cnblogs.com/yixiaoyang/p/2315138.html
Copyright © 2020-2023  润新知