2010.11.28(2)———android 展示网页 和 调用js代码

2010.11.28(2)———android 展示网页 和 调用js代码

1、展示web服务器的网页


A: layou.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">
  	
  	<LinearLayout
  	android:layout_width="fill_parent"
  	android:layout_height="wrap_content"
  	android:orientation="horizontal"
  	>
  		<Button
  			android:layout_width="wrap_content"
  			android:layout_height="wrap_content"
  			android:id="@+id/gis"
  			android:text="@string/gc_jbxx_gis"
  			/>
  		<Button
  			android:layout_width="wrap_content"
  			android:layout_height="wrap_content"
  			android:id="@+id/dtxx"
  			android:text="@string/gc_jbxx_dtxx"
  			/>
  		<Button
  			android:layout_width="wrap_content"
  			android:layout_height="wrap_content"
  			android:id="@+id/baxx"
  			android:text="@string/gc_jbxx_baxx"
  			/>
  	</LinearLayout>
  	<WebView 
	    android:layout_width="fill_parent" 
	    android:layout_height="fill_parent" 
	    android:id="@+id/webView"
    />
  
</LinearLayout>



注意使用WebView 控件

这里 我遇到一个问题 很是无奈 

最外层的LinearLayout的width和height 我刚开始设为了wrap-content 网页 就是不能显示





B: activity



 package com.huitu.project;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class GC_JBXXActivity extends Activity {
	
	private ImageView iv;
	private TextView tv_gcmc;
	private Button bn_gis;
	private Button bn_dtxx;
	private Button bn_baxx;
	private WebView wv;
	private String GCBM;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.gc_jbxx);
		
		wv = (WebView)findViewById(R.id.webView);
		//允许执行 js代码
		wv.getSettings().setJavaScriptEnabled(true);
		
		Intent intent = this.getIntent();
		GCBM = intent.getStringExtra("GCBM");
		
	}
	


	@Override
	protected void onResume() {
		super.onResume();
		wv.loadUrl("http://10.169.53.126:8080/CPJW_2/android_queryGCXXByGCBM.action?GCBM="+GCBM);
	}		

}


其实很简单 只需要

wv.loadUrl("http://10.169.53.126:8080/CPJW_2/android_queryGCXXByGCBM.action?GCBM="+GCBM);


调用这个就ok了

但是 有时候 会有乱码的问题 网上大多数 都是说 使用
wv.loadDataWithBaseURL
或者
wv.loadData

这两个方法 因为 这两个方法 可以设置编码

但是 这两个 都是读取 程序里面的html字符串的 而我是想从网络上获取html 的 不是data字符串数据

所以

在loadUrl前面 设置

wv.getSettings().setDefaultTextEncodingName("utf-8");


这样 就解决了乱码问题








你可能感兴趣的:(android,xml,Web,OS,webkit)