Some words about me

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas a urna sit amet leo sagittis cursus a at lectus. Donec bibendum facilisis ultricies. Maecenas nec arcu dui, ut lobortis erat. In nec condimentum quam. Vivamus euismod scelerisque ligula vitae fermentum. Nulla dignissim rutrum eleifend.

Donec mi eros, congue ut consectetur eget, pretium vitae orci. Aliquam pharetra ultricies lobortis. Morbi eget nisi lectus. Maecenas felis augue, molestie in vestibulum et, lacinia et leo. Suspendisse potenti. Maecenas eget est augue. Donec tincidunt mollis fermentum.

Contact me?

 
 
 

Donec mi eros, congue ut consectetur eget, pretium vitae orci. Aliquam pharetra ultricies lobortis. Morbi eget nisi lectus. Maecenas felis augue, molestie in vestibulum et, lacinia et leo. Suspendisse potenti. Maecenas eget est augue. Donec tincidunt mollis fermentum.

Send the message
 

Android中利用webView访问网页

                  利用android中的webview控件访问网页

大家可能又会疑惑了。因为在android中如果默认的话,我们是看不到系统中的webview控件的,但是,你可以敲出来,xml文件是不会排斥的。所以,今天我们来看一看如何利用webview来访问网页。

我们需要一个webview.xml文件,

代码如下:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

 

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="this is a webview" />

    <WebView

        android:id="@+id/webView"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        />

 

</LinearLayout>

这里我们弄好了控件爱你,接下来我们来写代码:

当然这里我们有两种方式来访问网页:

一种是就在java文件里面通过StringBuffer的追加来写网页代码

另一种是直接在资源文件里面引入一个网页文件,这样,我们就可以得到网页资源,然后引用。

这里我们先将第一种:

建立一个java文件:

代码如下:

package cn.web.view;

 

import java.io.UTFDataFormatException;

 

import android.app.Activity;

import android.os.Bundle;

import android.webkit.WebView;

 

public class WebViewActivity extends Activity {

    /** Called when the activity is first created. */

private WebView mWebView;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        // to get the webview

        mWebView=(WebView)findViewById(R.id.webView);

        StringBuffer sb=new StringBuffer();

        sb.append("<html>");

        sb.append("<body>hello:weView!</body>");

        sb.append("</html>");

       mWebView.loadDataWithBaseURL(null, sb.toString(), "text/html", "utf-8", null);

    }

}

效果如下:

当然,这里我们还有第二种方式:

Xml里面的代码跟第一种一样,主要是一丁点代码的问题:

代码如下:

package cn.web.view;

 

import java.io.UTFDataFormatException;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.KeyEvent;

import android.webkit.WebView;

 

public class WebViewActivity extends Activity {

    /** Called when the activity is first created. */

private WebView mWebView;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        // to get the webview

        mWebView=(WebView)findViewById(R.id.webView);

   

     

    

    }

    //在这里我们需要去重写按下键这个方法,为了去扑捉用户的动作

    @Override

    public boolean onKeyDown(int keyCode, KeyEvent event) {

     if(keyCode==KeyEvent.KEYCODE_SEARCH){

        mWebView.loadUrl("http://www.baidu.com");

     return true;

     }

    

     return super.onKeyDown(keyCode, event);

    }

}

这里最重要的是不要忘记在配置文件里面添加权限:

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

第三种呢?就是经一个html页面导进我们熟知的assets目录下,这样,我们就可以得到assetMananage来得到网页信息啦!

代码如下:

package cn.zuxia.android.app;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import android.R.string;
import android.app.Activity;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;

public class WebViewTestActivity extends Activity {
    /** Called when the activity is first created. */

    //定义WebView控件,在当前应用中加载网页
    private WebView mWebView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        mWebView=(WebView) findViewById(R.id.webView);
       
       
        //使用当前应用上下文得到AssetManager对象
       
        AssetManager assetManager=this.getAssets();
        try {
   InputStream inputStream=assetManager.open("index.html");
   BufferedReader br=new BufferedReader(new InputStreamReader(inputStream));
   
   //定义StringBuffer对象,存放所有的页面数据
   StringBuffer stringBuffer=new StringBuffer();
   
   String str=null;
   
   while((str=br.readLine())!=null){
    
    stringBuffer.append(str+"\n");
   }
   
   br.close();
   inputStream.close();
   
   mWebView.loadDataWithBaseURL(null, stringBuffer.toString(), "text/html", "utf-8", null);
   
   
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
    }

   
   
   
 
   
   
}

效果图如下:

over!

posted @ 2013-12-18 23:14  Catherine_Brain  阅读(739)  评论(0编辑  收藏  举报