ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Android开发 >> Android WebView简单应用

Android WebView简单应用

来源:网络整理     时间:2015-03-04     关键词:

本篇文章主要介绍了"Android WebView简单应用",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下: WebView是View的一个子类,可以让你在activity中显示网页。在布局中拉入一个WebView,一个Button,一个EditText 布局代码如下...

WebView是View的一个子类,可以让你在activity中显示网页。在布局中拉入一个WebView,一个Button,一个EditText
布局代码如下:

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.shendan.webrowser.MainActivity" ><EditText
android:id="@+id/editText1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:ems="10" /><Button
android:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBottom="@+id/editText1"android:layout_alignParentRight="true"android:text="GO" /><WebView
android:id="@+id/webView1"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_alignLeft="@+id/editText1"android:layout_below="@+id/editText1" />RelativeLayout>

源码代码如下:

package com.shendan.webrowser;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;

publicclassMainActivityextendsActionBarActivity {    EditText editText;
    Button button;
    WebView webView;

    @OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = (EditText)findViewById(R.id.editText1);
        editText.setText("http://www.baidu.com");
        button = (Button)findViewById( R.id.button1);
        webView = (WebView)findViewById(R.id.webView1);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setDomStorageEnabled(true);

        //点击页面内连接直接打开
        webView.setWebViewClient(new WebViewClient(){       
            publicbooleanshouldOverrideUrlLoading(WebView view, String url) {       
                view.loadUrl(url);       
                returntrue;       
            }       
        });

        button.setOnClickListener( new View.OnClickListener() {         
            @OverridepublicvoidonClick(View v) {
                // TODO Auto-generated method stub
                String urlstr = editText.getText().toString();
                webView.loadUrl(urlstr);
            }
        });
    }

    //点击后退按钮返回前面的网页publicbooleanonKeyDown(int keyCode,KeyEvent event)
    {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {       
            webView.goBack();       
            returntrue;       
        }       
        returnsuper.onKeyDown(keyCode, event);

    }

    @OverridepublicbooleanonCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        returntrue;
    }

    @OverridepublicbooleanonOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();
        if (id == R.id.action_settings) {
            returntrue;
        }
        returnsuper.onOptionsItemSelected(item);
    }
}

有几个注意点:
1、网址一定要包括http://,
2、要增加网络权限

<uses-permissionandroid:name="android.permission.INTERNET"/><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />

这样就可以简单进行网页浏览了。

webview的API的合理调用,就可以实现比较完整的浏览器功能
比如打开页面:

myWebView.loadUrl("http://www.google.com");
myWebView.loadUrl("file:///android_asset/XX.html");
//HTML文件事先保存到asset文件夹。String htmlString = "

Title

This is HTML text
Formatted in italics
Anothor Line

"
; // 载入这个html页面。 myWebView.loadData(htmlString, "text/html", "utf-8"); //假如有中文,使用. myWebView.loadDataWithBaseURL(null,htmlString, "text/html", "utf-8",null);

当你的WebView覆写了URL载入的行为,它会自动地对访问过的网页积累一个历史,你可以利用 goBack() 和 goForward()方法在这个历史中前进或后退。

通过重写WebViewClient,可以更好地控制页面内的行为。

publicclassMyWebViewClientextendsWebViewClient
    {@OverridepublicvoidonPageFinished(WebView view, String url) {
            // TODO Auto-generated method stubsuper.onPageFinished(view, url);
        }

        @OverridepublicvoidonPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stubsuper.onPageStarted(view, url, favicon);
        }

        @OverridepublicvoidonScaleChanged(WebView view, float oldScale, float newScale) {
            // TODO Auto-generated method stubsuper.onScaleChanged(view, oldScale, newScale);
        }

        @OverridepublicbooleanshouldOverrideKeyEvent(WebView view, KeyEvent event) {
            // TODO Auto-generated method stubreturnsuper.shouldOverrideKeyEvent(view, event);
        }

        @OverridepublicbooleanshouldOverrideUrlLoading(WebView view, String url) {
            // TODO Auto-generated method stubreturnsuper.shouldOverrideUrlLoading(view, url);
        }

    }

接下来讲一点比较重要的,就是Webview与js交互。

以上就介绍了Android WebView简单应用,包括了方面的内容,希望对Android开发有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_115829.html

相关图片

相关文章