这里有新鲜出炉的精品教程,程序狗速度看过来!
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
本文介绍的示例适用于 android 中需要解析带图片的 htlm 数据, 需要的朋友可以参考下
- public class MainActivity extends Activity {
private Handler handler;
private String html;
private TextView tv;
private ProgressBar bar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 网上找的 html 数据
html = "
强调
斜体
"超链接 HTML 入门学习 HTML!
颜色 1"
颜色 2
大于 > 小于 <
"
tv = (TextView) this.findViewById(R.id.id);
bar = (ProgressBar) this.findViewById(R.id.id_bar);
tv.setMovementMethod(ScrollingMovementMethod.getInstance());// 滚动
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if (msg.what == 0x101) {
bar.setVisibility(View.GONE);
tv.setText((CharSequence) msg.obj);
}
super.handleMessage(msg);
}
};
// 因为从网上下载图片是耗时操作 所以要开启新线程
Thread t = new Thread(new Runnable() {
Message msg = Message.obtain();
@Override
public void run() {
// TODO Auto-generated method stub
bar.setVisibility(View.VISIBLE);
/**
* 要实现图片的显示需要使用 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.what = 0x101;
msg.obj = test;
handler.sendMessage(msg);
}
});
t.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
来源: http://www.phperz.com/article/17/0709/195637.html