Android加载html内容显示图片

首先,从服务器上返回的数据是String类型的html代码


这是一个String类型的html代码段:



为String res;

我写了一个方法getimgae(res);

public void getimage(String res){


Document doc = Jsoup.parse(res);
Elements img = doc.select("img");
//System.out.println("---"+img.attr("src"));
//res.replace("/ajj_oa_test", Contants.IP3+"/ajj_oa_test");
img.attr("src",Contants.IP3+img.attr("src"));
final String html=doc.html();
System.out.println(doc.html());
Thread t = new Thread(new Runnable() {
Message msg = Message.obtain();
@Override
public void run() {
// TODO Auto-generated method stub
/**
* 要实现图片的显示需要使用Html.fromHtml的一个重构方法:public static Spanned
* fromHtml (String source, Html.ImageGetterimageGetter,
* Html.TagHandler
* tagHandler)其中Html.ImageGetter是一个接口,我们要实现此接口,在它的getDrawable
* (String source)方法中返回图片的Drawable对象才可以。
*/
ImageGetter imageGetter = new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
// TODO Auto-generated method stub
URL url;
Drawable drawable = null;
try {
url = new URL(source);
drawable = Drawable.createFromStream(
url.openStream(), null);
drawable.setBounds(0, 0,
drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return drawable;
}
};
CharSequence test = Html.fromHtml(html, imageGetter, null);
msg.obj = test;
handler.sendMessage(msg);
}
});
t.start();


}

这里运用到了jsoup.rar,下载一个插件即可 jsoup.rar地址:http://download.csdn.net/detail/u014000832/7994245

上面开了一个线程去实现图片的转化,运用handler去更新UI

@SuppressLint("HandlerLeak")
private Handler handler=new Handler(){


@Override
public void handleMessage(Message msg) {
// TODO 自动生成的方法存根
if (msg.obj !=null) {
zhengwen.setText((CharSequence) msg.obj);
}
super.handleMessage(msg);
}
};

这里zhengwen是一个TextView控件,可以用Android里面的WebView去实现更多的Html加载。

以上都是在同一个Activity内的。




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值