展会信息港展会大全

WebView的使用心得与范例!android应用开发
来源:互联网   发布日期:2015-10-02 21:16:27   浏览:1164次  

导读:最近一个哥们在弄新闻客户端,看起来不是很难,使用一个ListView,然后点击之后进入一个界面里面,在里面显示资讯,这个做起来看似不难,其实还是 有点麻烦的!尤其是解析数据,一般情况下我们解析网页中的时间......

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

其中要大家注意的一个问题:

注意解析文本和图片,那个图片如果你直接把图片加载进去,有可能不行,这个需要进一步调试,尤其是字数的方面,

你如果不设置字数的宽度的话那么你的这个页面是很大的,可以左右拖动,但是这样体验就不好了!

如果你想知道怎么做的话,最好的办法反解码!记得有一个哥们之前写过,你们可以看看!

有可能的话,过段时间我给你们再发一个反解码的东西,全部集成,不会的话,看着里面的一个txt 文档做就可以了!只需要借个步骤而已!

文档中对于WebView的解释:

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

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

下面看看WebView的使用吧:

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

接下来去实现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);

}

}

效果截图:

①:有时候我们我们需要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,进行处理!

赞助本站

人工智能实验室

相关热词: WebView

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港