洛克王国神台处在哪,杜达雄2012天体图片,类似nuvid
本文实例讲述了android编程实现网络图片查看器和网页源码查看器。分享给大家供大家参考,具体如下:
网络图片查看器
清单文加入网络访问权限:
<!-- 访问internet权限 --> <uses-permission android:name="android.permission.internet"/>
界面如下:
示例:
public class mainactivity extends activity { private edittext imagepath; private imageview imageview; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); imagepath = (edittext) this.findviewbyid(r.id.imagepath); imageview = (imageview) this.findviewbyid(r.id.imageview); button button = (button) this.findviewbyid(r.id.button); button.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { string path = imagepath.gettext().tostring(); try{ byte[] data = imageservice.getimage(path);//获取图片数据 if(data!=null){ //构建位图对象 bitmap bitmap = bitmapfactory.decodebytearray(data, 0, data.length); imageview.setimagebitmap(bitmap);//显示图片 }else{ toast.maketext(getapplicationcontext(), r.string.error, 1).show(); } }catch (exception e) { toast.maketext(getapplicationcontext(), r.string.error, 1).show(); } } }); } }
public class imageservice { /** * 获取图片 * @param path 网络图片路径 * @return 图片的字节数据 */ public static byte[] getimage(string path) throws exception{ url url = new url(path); httpurlconnection conn = (httpurlconnection) url.openconnection(); //设置超时时间 conn.setconnecttimeout(5000); conn.setrequestmethod("get"); if(conn.getresponsecode()==200){ inputstream instream = conn.getinputstream(); byte[] data = streamtool.read(instream); return data; } return null; } }
public class streamtool { /** * 读取输入流数据 * @param instream * @return */ public static byte[] read(inputstream instream) throws exception{ bytearrayoutputstream outstream = new bytearrayoutputstream(); byte[] buffer = new byte[1024]; int len = 0; while( (len = instream.read(buffer)) != -1 ){ outstream.write(buffer, 0, len); } instream.close(); return outstream.tobytearray(); } }
网页源码查看器
如果网页的源码超过屏幕的显示位置的话,要求出现滚动条.
<scrollview android:layout_width="wrap_content" android:layout_height="wrap_content" > <textview android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/htmlsource" /> </scrollview>
界面如下:
示例
@override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); pathtext = (edittext) this.findviewbyid(r.id.path); htmlsource = (textview) this.findviewbyid(r.id.htmlsource); button button = (button) this.findviewbyid(r.id.button); button.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { string path = pathtext.gettext().tostring(); try{ //获取源码 string html = pageservice.gethtml(path); htmlsource.settext(html); }catch (exception e) { toast.maketext(getapplicationcontext(), r.string.error, 1).show(); } } }); }
public class pageservice { /** * 获取网页源代码 * @param path 网页路径 * @return */ public static string gethtml(string path) throws exception{ url url = new url(path); httpurlconnection conn = (httpurlconnection) url.openconnection(); conn.setconnecttimeout(5000); conn.setrequestmethod("get"); if(conn.getresponsecode() == 200){ byte[] data = streamtool.read(conn.getinputstream()); return new string(data, "utf-8"); } return null; } }
希望本文所述对大家android程序设计有所帮助。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio 解决logcat无过滤工具栏的操作
Android Studio 恢复小窗口停靠模式(Docked Mode)
Android studio保存logcat日志到本地的操作
Android Studio快捷键生成TAG、Log.x日志输出介绍
网友评论