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

本文介绍如何在Android应用中使用WebView加载远程网页,并解决常见的乱码问题。通过设置WebView的属性,实现网页内容的正确显示,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

[color=red]1、展示web服务器的网页[/color]


[b]A: layou.xml[/b]


 <?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]B: activity[/b]


 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");


这样 就解决了乱码问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值