Android实现webview

来源:互联网 发布:面包车拉货选什么软件 编辑:程序博客网 时间:2024/06/05 03:34

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>
原创粉丝点击