HttpUrlConnection
一.访问网页
1.在activity_main.xml中定义布局WebView(要添加权限)
<WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" />
2.在MainActivity中开启线程HttpThread访问网络
new HttpThread("http://www.baidu.com",webView,handler).start();
HttpThread.java
public class HttpThread extends Thread{ private String url; private WebView webView; private Handler handler; public HttpThread(String url, WebView webView, Handler handler) { this.url = url; this.webView = webView; this.handler = handler; } @Override public void run() { try { URL httpUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection)httpUrl.openConnection(); conn.setReadTimeout(5000); //设置访问超时 conn.setRequestMethod("GET"); //访问方式 // 1.访问http网址 final StringBuffer sb = new StringBuffer(); BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String str; while ((str = br.readLine()) != null){ sb.append(str); } handler.post(new Runnable() { @Override public void run() { webView.loadDataWithBaseURL(url, sb.toString(), "text/html", "uft-8", null); } }); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
二.访问图片(要添加权限)
1.在activity_main.xml布局
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView"/>
2.在MainActivity开启线程HttpThread下载并访问图片
public class HttpThread extends Thread{ private String url; private ImageView imageView; private Handler handler; public HttpThread(String url, ImageView imageView, Handler handler) { this.url = url; this.imageView = imageView; this.handler = handler; } @Override public void run() { try { URL httpUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection)httpUrl.openConnection(); conn.setReadTimeout(5000); //设置访问超时 conn.setRequestMethod("GET"); //访问方式 // 2.访问网络图片,下载可省略 conn.setDoInput(true); InputStream in = conn.getInputStream(); FileOutputStream fos = null; String filename = String.valueOf(System.currentTimeMillis()); File downloadFile = null; if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ File parent = Environment.getExternalStorageDirectory(); downloadFile = new File(parent,filename); fos = new FileOutputStream(downloadFile); } byte[] datas = new byte[2*1024]; int len; if(fos != null) { while ((len = in.read(datas)) != -1) { fos.write(datas, 0, len); } } final Bitmap bitmap = BitmapFactory.decodeStream(in); handler.post(new Runnable() { @Override public void run() { imageView.setImageBitmap(bitmap); } }); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关推荐
Android中Http通信
android实现http通信协议的小例子
android 当中涉及到网络编程的部分经常会用到http通信,同时android也为我么您提供了HttpUrlConnection接口和HttpClient接口,大大的方便了开发。Http通信又分为两种方式:get和post,get可以uoqu静态页面,传入参数...
Http通信。通过两个例子: > 网络请求到百度的网页,展示到一个webview上。 > 网络请求一张图片,展示到界面的ImageView上。
讲解android中常用的一些网络通信方式,也是java web中android所应用的部分
使用android与javaWEB进行通信的例子,实现信息的基本传递及文件上传下载
慕课网 Android中的Http通信 笔记及源码
使用Http的Get方式读取网络数据.mp4
Android下的服务与其他组件之间的通信,跨进程通信等示例。具体可以参见博客:http://www.cnblogs.com/plokmju/p/android_ServiceCommunication.html
Android 进程间通信AIDL demo 博客地址:http://blog.csdn.net/bigboysunshine/article/details/70228223
Android蓝牙通信,连个手机直接通信,收发数据,界面简洁友好,代码易懂。使用的是虚拟串口通信,波特率9600,也可以和其他非手机端蓝牙设备通信,只要使用协议相同就行了。我的博客有说明...
3、掌握HTTP通信 4、掌握Socket通信 实验内容:(其中,1必做,2和3选一个) 1、 开发一个简单的浏览器程序,实现网址输入、前进、后退、刷新网页等功能。 2、 利用Socket协议,实现一个简单的聊天程序。 3、 利用...
通过http协议进行数据通信,采用的是json方式,实现Android手机与服务器端进行连接通信
简单Android网络通信实例,易懂,适合初学者,希望对你有帮助
Android与Javaweb服务器通信,通过http协议,非socket方式,代码可以运行,适合初学者。
Android网络编程之Http通信,使用了http和jason
android HTTP通信简单Demo
【eoeAndroid特刊】第六期: 数据通布 ...8.Android SDK 中Android.net.wifi 简要分析 9.在Android 中扫描wifi 热点演示实例教程 10. wifi 模块分析 11.了解HTTP 12.HTTP 协议详解 13. Android 实例 14.编后语 15. 其他
android--http通信示例