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通信,以及涉及的相关知识点。 一、HTTP协议基础 HTTP(超文本传输协议)是一种用于分布式、...
在Android应用开发中,Http通信是连接服务器获取或发送数据的重要手段。本笔记及源码主要探讨了如何在Android环境中实现Http通信,包括基础理论、常用库的使用以及实际操作中的注意事项。 一、Http通信基础 Http...
在Android开发中,进行HTTP通信是常见的操作,用于与服务器交换数据。HTTP(超文本传输协议)是一种基于TCP/IP通信协议来交换数据的应用层协议,广泛应用于网页浏览、API交互等场景。本教程将深入讲解如何在Android...
Android网络编程是移动应用开发中的一个重要组成部分,而Http通信则是网络编程中最常用的协议之一。在Android平台上,我们通常会使用HttpURLConnection或者第三方库如Apache HttpClient和OkHttp等进行Http通信。 1....
android 当中涉及到网络编程的部分经常会用到http通信,同时android也为我么您提供了HttpUrlConnection接口和HttpClient接口,大大的方便了开发。Http通信又分为两种方式:get和post,get可以uoqu静态页面,传入参数...
Android 中常用的网络通信方式有 Socket 通信、HTTP 通信等。本文将详细介绍 Socket 通信在 Android 中的应用。 一、Socket 通信 Socket 是一种常用的网络通信方式,用于描述网络上的一个设备中的一个进程或者应用...
在Android应用开发中,HTTP通信是连接客户端与服务器端的重要桥梁,主要用于数据交换、文件上传和下载等操作。本示例将重点讲解如何在Android应用中实现基于HTTP的JSON数据传递,以及如何处理文件的上传和下载。 ...
在Android系统中,跨进程通信(IPC,Inter-Process Communication)是实现不同应用程序之间数据交换的关键技术。Android的IPC机制主要包括Binder、AIDL(Android Interface Definition Language)、ContentProvider...
在Android系统应用开发中,网络通信是至关重要的一个环节,特别是在构建交互性强的应用时。本实验旨在让学生深入了解Android网络通信技术,并通过实际操作掌握不同类型的网络通信方式,包括利用WebView实现浏览器...
在Android应用开发中,与服务器进行通信是必不可少的环节,特别是在构建涉及用户登录、数据交换等应用场景时。本文将深入探讨Android与服务器通信的基本概念、技术选型以及具体实现方式,以标题“android与服务器...
"Android HTT.ppt"这份资料很可能详细介绍了上述内容,包括Android开发环境的搭建、HTTP协议详解、Android中HTTP通信的实现方式以及相关的最佳实践。通过学习,你可以深入理解Android网络编程的核心概念,并具备实际...
Http通信。通过两个例子: > 网络请求到百度的网页,展示到一个webview上。 > 网络请求一张图片,展示到界面的ImageView上。
在Android系统中,数据通信是应用之间以及应用与外部设备之间交换信息的关键环节。这篇博客“android中的数据通信”可能涵盖了Android数据通信的各种方法和技术,包括本地数据存储、网络通信和蓝牙等。以下是对这些...
在Android开发中,网络通信是不可或缺的一部分,而Netty是一个高效、强大的网络应用程序框架,它为构建高性能、稳定的网络服务器提供了便利。本示例“Android-netty和socket通信的demo”将展示如何在Android平台上...
使用Http的Get方式读取网络数据.mp4
**Android串口通信**是Android应用开发中的一个重要领域,它允许设备通过串行接口与其他硬件设备进行数据交换,如Arduino、PLC等。在本文中,我们将深入探讨如何在Android Studio中实现串口通信,以及如何利用提供的...
Android下的服务与其他组件之间的通信,跨进程通信等示例。具体可以参见博客:http://www.cnblogs.com/plokmju/p/android_ServiceCommunication.html
在提供的"android与服务器端交互demo"文件中,可能包含了Android客户端的HTTP请求示例代码以及简单的Java Servlet示例,通过分析和运行这些代码,你将更深入地理解Android与服务器通信的过程。记得在实际项目中,...
Android蓝牙通信,连个手机直接通信,收发数据,界面简洁友好,代码易懂。使用的是虚拟串口通信,波特率9600,也可以和其他非手机端蓝牙设备通信,只要使用协议相同就行了。我的博客有说明...