Android 支持网络协议以及简单用法
2013-10-09 17:21
645 查看
Android对网络编程提供3中接口,即:Java接口,Apache接口,Android接口。Android提供了对 HTTP,SSL,Cookie,DHCP等协议的封装,并支持套接字编程,同时对UTI也提供了支持。另外,还提供了连接管理器和WiFI管理器来增强对网络的支持。
1、HTTP协议:
Android中HTTP协议的主要体现在android.net.http和org.apache.http等包中。在 android.net.http包中,主要通过AndroidHttpClient来实现HTTP协议,AndroidHttpClient实际上就是实现了org.apache.http.client.HttpClient,实际上就是DefaultHttpClient的子类,通过 AndroidHttpClient newInstance(String userAgent, Context context)方法获得一个实例。其能够处理Cookie,但是在默认情况下无法维护Cookie,设置Cookie的方法:
context.setAttribute(ClientContext.COOKIE_STORE,cookieStore);
AndroidHttpClient通常和HttpHost、HttpUriRequest、HttpContext、ResponseHandler一起发起HTTP请求以及处理服务器响应。
2、SSL协议:
针对Web的网络安全协议,常见的HTTPS链接就采用了SSL技术,SSL协议的实现与数字证书密切相关。在android.net.http包中提供了SslCertificate和SslError来描述X509数字证书信息。在WebView中通过getCertificate()方法可以 查看当前页面是否拥有SSL证书。
3、Cookie实现:
Cookie用于识别用户信息,进行Session跟踪而存储在用户本地终端的数据,Cookie拥有自己的生命周期,可以存储用户信息,因此可能暴露用户信息,使用Cookie具有一定风险。Android中,Cookie的管理主要位于 WebView,java.net,org.apache.http.cookie中,可以通过 httpClient.getCookieStore().getCookies()来或得Cookie,使用Cookie的相关方法可以获得 Cookie的信息。在WebView中,CookieManager可以用来设置、清除和获取Cookie。清空Cookie的方法
CookiewManager.getInstance().removeAllCookie();
另:Cookie的信息保存在data\data\com.android.browser\databases目录下的webview.db中。
4、连接性管理:
Android通过ConnectivityManager提供对网络如WiFi,UMTS,GPRS的连接性管理。通过 ConnectivityManager。getActiveNetworkInfo()方法可以获得介入方式,判断网络类型和当前状态。需要有权限 android.permission.ACCESS_NETWORK_STATE.当网络发生变化时,系统会广播Action为 android.net.conn.CONNECTIVITY_CHANGE的Intent消息。
5、WiFi管理:
对WiFi的管理,Android提供了WifiManager来进行管理。获取WiFi服务的的方法,context.getSystemService(WIFI_SERVICE);通过该服务可以获得设备可用网络的列表,获得当前激活网络的信息,执行热点扫描,测定信号强度等等。其具体方法可以自行查看API。Android4.0开始支持WiFi点对点的通信,获得WifiP2pManager 服务的方法如下:
WifiP2pManager p2pManager = (WifiP2pManager) getSystemService(WIFI_P2P_SERVICE);
为了进行点对点同学需要下面几个步骤:
①通过initialize()初始化P2P连接
②通过discoverPeers()发现附近的设备
③通过connect()启动P2P连接。
1、HTTP协议:
Android中HTTP协议的主要体现在android.net.http和org.apache.http等包中。在 android.net.http包中,主要通过AndroidHttpClient来实现HTTP协议,AndroidHttpClient实际上就是实现了org.apache.http.client.HttpClient,实际上就是DefaultHttpClient的子类,通过 AndroidHttpClient newInstance(String userAgent, Context context)方法获得一个实例。其能够处理Cookie,但是在默认情况下无法维护Cookie,设置Cookie的方法:
context.setAttribute(ClientContext.COOKIE_STORE,cookieStore);
AndroidHttpClient通常和HttpHost、HttpUriRequest、HttpContext、ResponseHandler一起发起HTTP请求以及处理服务器响应。
2、SSL协议:
针对Web的网络安全协议,常见的HTTPS链接就采用了SSL技术,SSL协议的实现与数字证书密切相关。在android.net.http包中提供了SslCertificate和SslError来描述X509数字证书信息。在WebView中通过getCertificate()方法可以 查看当前页面是否拥有SSL证书。
3、Cookie实现:
Cookie用于识别用户信息,进行Session跟踪而存储在用户本地终端的数据,Cookie拥有自己的生命周期,可以存储用户信息,因此可能暴露用户信息,使用Cookie具有一定风险。Android中,Cookie的管理主要位于 WebView,java.net,org.apache.http.cookie中,可以通过 httpClient.getCookieStore().getCookies()来或得Cookie,使用Cookie的相关方法可以获得 Cookie的信息。在WebView中,CookieManager可以用来设置、清除和获取Cookie。清空Cookie的方法
CookiewManager.getInstance().removeAllCookie();
另:Cookie的信息保存在data\data\com.android.browser\databases目录下的webview.db中。
4、连接性管理:
Android通过ConnectivityManager提供对网络如WiFi,UMTS,GPRS的连接性管理。通过 ConnectivityManager。getActiveNetworkInfo()方法可以获得介入方式,判断网络类型和当前状态。需要有权限 android.permission.ACCESS_NETWORK_STATE.当网络发生变化时,系统会广播Action为 android.net.conn.CONNECTIVITY_CHANGE的Intent消息。
5、WiFi管理:
对WiFi的管理,Android提供了WifiManager来进行管理。获取WiFi服务的的方法,context.getSystemService(WIFI_SERVICE);通过该服务可以获得设备可用网络的列表,获得当前激活网络的信息,执行热点扫描,测定信号强度等等。其具体方法可以自行查看API。Android4.0开始支持WiFi点对点的通信,获得WifiP2pManager 服务的方法如下:
WifiP2pManager p2pManager = (WifiP2pManager) getSystemService(WIFI_P2P_SERVICE);
为了进行点对点同学需要下面几个步骤:
①通过initialize()初始化P2P连接
②通过discoverPeers()发现附近的设备
③通过connect()启动P2P连接。
相关文章推荐
- Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强
- 简单介绍HttpURLConnection请求网络以及AsyncTask异步任务的用法
- Android中AsyncTask的简单用法及实现网络图片下载的实例
- 【Java/Android性能优 4】PreloadDataCache支持预取的数据缓存,使用简单,支持多种缓存算法,支持不同网络类型,扩展性强
- 【Java/Android性能优5】 Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强
- Android 网络连接工具类封装,支持wifi以及3G网络
- 【Java/Android性能优 6】Android 图片SD卡缓存 使用简单 支持预取 支持多种缓存算法 支持不同网络类型 支持序列化
- 【Java/Android性能优 6】Android 图片SD卡缓存 使用简单 支持预取 支持多种缓存算法 支持不同网络类型 支持序列化
- 本文介绍媒体的编解码器、容器和Android平台所支持的网络协议。
- Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强
- Android UDP通信的简单实例和用法归纳,以及与TCP对比、常见问题
- AFN框架实现简单的网络状态监测以及支持https安全证书
- 【Java/Android性能优 4】PreloadDataCache支持预取的数据缓存,使用简单,支持多种缓存算法,支持不同网络类型,扩展性强
- Android Volley网络通信框架的使用(一):Volley的简单用法
- Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强
- Android PreloadDataCache支持预取的数据缓存,使用简单,支持多种缓存算法,支持不同网络类型,扩展性强 (七)
- Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强
- Android 图片SD卡缓存 使用简单 支持预取 支持多种缓存算法 支持不同网络类型 支持序列化
- fastjson-1.1.34.android,和xUtils-2.6.13简单用法1,将网络新闻转化到app
- Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强