WebView的使用心得与范例!

虫虫 发布于 2011/12/15 19:56
阅读 3K+
收藏 4
最近一个哥们在弄新闻客户端,看起来不是很难,使用一个ListView,然后点击之后进入一个界面里面,在里面显示资讯,这个做起来看似不难,其实还是 有点麻烦的!尤其是解析数据,一般情况下我们解析网页中的时间的时候,是通过Pull 解析的,但是这个哥们使用SAX解析,虽然说也是可以的,但是最好使用Pull,Pull是专门对移动设备的解析使用的!方便开发者的使用!以后记住了 哦!

其中要大家注意的一个问题:
       注意解析文本和图片,那个图片如果你直接把图片加载进去,有可能不行,这个需要进一步调试,尤其是字数的方面,
你如果不设置字数的宽度的话那么你的这个页面是很大的,可以左右拖动,但是这样体验就不好了!

如果你想知道怎么做的话,最好的办法反解码!记得有一个哥们之前写过,你们可以看看!
有可能的话,过段时间我给你们再发一个反解码的东西,全部集成,不会的话,看着里面的一个txt 文档做就可以了!只需要借个步骤而已!



文档中对于WebView的解释:

                  WebView是进行web网页显示的,我们使用这个类为基础进行开发推出自己的Web浏览器,或者我们可以直接在当前的Activity中显示在线的内容。

                  WebView使用WebKit进行渲染来显示网页,通过于此,我们可以进行实现网页后退,前进,放大,缩小或者搜索或者更多功能;


下面看看WebView的使用吧:


  【注意】使用WebView,,因为用处到了网络,所以我们必须在AndroidManifset.xml文件中进行权限设置

20111209021232944.gif


          接下来去实现WebView,需要下面一些步骤

    一:要在布局文件那边声明WebView组件

   二:在Activity中进行实例化

   三:调用WebView的loadUrl()方法来实现。加载指定的URL地址的网页

   Demo源代码:

package com.android_jiangqq.iweibo.ui;

import com.android_jiangqq.iweibo.R;

import android.app.Activity;

import android.os.Bundle;

import android.view.Window;

import android.view.WindowManager;

import android.webkit.WebView;

public class WebView_Test extends Activity {

    private WebView webView;

    private static final String URL = "http://www.google.com";

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        // 取消标题

        this.requestWindowFeature(Window.FEATURE_NO_TITLE);

        // 进行全屏

        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.webview);

        // 实例化WebView

        webView = (WebView) this.findViewById(R.id.wv_oauth);

        /**

         * 调用loadUrl()方法进行加载内容

         */

        webView.loadUrl(URL);

        /**

         * 设置WebView的属性,此时可以去执行JavaScript脚本

         */

        webView.getSettings().setJavaScriptEnabled(true);

    }

} 


效果截图:


20111209021232217.gif


①:有时候我们我们需要WebView能够实现超链接的功能。我们可以调用setWebViewClient()方法试着WebView的客户端,

      此时我们只要重写一下WebViewClient类下的public boolean shouldOverrideKeyEvent (WebView view, KeyEvent event)就可以了

       源代码如下:

private class myWebViewClient extends WebViewClient {

    @Override

public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {

webView.loadUrl(URL);

return true;

}


} 

②:考虑到网页的加载速度,我们可以调用setWebChromeClient()方法

      我们此时只要重写一下WebChromeClient类中的

public void onProgressChanged (WebView view, int newProgress)来显示页面的加载进度,实例代码如下:

webview.setWebChromeClient(new WebChromeClient() {

        @Override

        public void onProgressChanged(WebView view, int newProgress) {

            if (newProgress == 100) {

                handler.sendEmptyMessage(CLOSE_DIA);

            }

            super.onProgressChanged(view, newProgress);

        }

    }); 

在代码里面可以使用handle,如果加载的进度是100,发出消息让handler,进行处理!

来源:http://www.apkbus.com/android-18646-1-1.html

加载中
返回顶部
顶部