注册 留言板
当前位置:首页 > 移动开发 > Android开发 > 正文

Android实现webview

来源:CSDN   发布时间: 2017-06-19   作者:baidu_32353439   浏览次数:
摘要: webview是一个很简单的功能,代码没有什么逻辑上的难度,只是需要注意权限上的问题。其实在安卓编程的过程当中,权限问题可以...

webview是一个很简单的功能,代码没有什么逻辑上的难度,只是需要注意权限上的问题。其实在安卓编程的过程当中,权限问题可以算是出现的比较多的BUG。

1.MainAct

package com.lxq.webview01;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

    private EditText et_url;
    private Button btn_request;
    private WebView wv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();
        initSetting();
        initEvent();

    }

    private void initSetting() {
        //webview设置属性
        WebSettings ws=wv.getSettings();
        ws.setBuiltInZoomControls(true);
        ws.setDefaultZoom(WebSettings.ZoomDensity.FAR);
        ws.setJavaScriptEnabled(true);
        ws.setSupportZoom(true);
        //点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象
        wv.setWebViewClient(new WebViewClient(){       
            public boolean shouldOverrideUrlLoading(WebView view, String url) {       
                view.loadUrl(url);       
                return true;       
            }       
        });   

    }

    //初始化控件
    private void initView() {
        et_url =(EditText)findViewById(R.id.et_url);        
        btn_request = (Button)findViewById(R.id.btn_request);       
        wv= (WebView)findViewById(R.id.wv);     
    }
    //按键监听
    public boolean onKeyDown(int keyCode, KeyEvent event) {       
        if ((keyCode == KeyEvent.KEYCODE_BACK) && wv.canGoBack()) {       
            wv.goBack();       
            return true;       
        }       
        return super.onKeyDown(keyCode, event);       
    } 
    //初始化事件
    private void initEvent() {

        btn_request.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                String url=et_url.getText().toString().trim();
                wv.loadUrl(url);
            }
        });
    }

}

2.最重要的是在manifest中添加权限,否则是无法显示的。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lxq.webview01" android:versionCode="1" android:versionName="1.0" >

    <uses-sdk  android:minSdkVersion="8" android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.INTERNET"/>

    <application  android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >
        <activity  android:name="com.lxq.webview01.MainActivity" android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </ app```` ication>

</manifest>


android webview
我来说两句
评论内容:
验  证  码:
 
(网友评论仅供其表达个人看法,并不表明本站同意其观点或证实其描述。)
评论列表
已有 0 条评论(查看更多评论)
精彩专题
友情链接:
QQ交流群:①群 155252576 ②群 469193068 ③群 531831996 ④群 243504572
设为首页 - 加入收藏 Copyright @2016 Infocool 版权所有 粤ICP备16000626号