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. Android(安卓)Studio更新升级方法
  2. Android结构介绍
  3. 自定义View系列教程01--常用工具介绍
  4. 什么是Android?
  5. Android(安卓)studio 快捷键
  6. Android(安卓)AsyncTask
  7. 传智播客—Android(二)数据存储和访问 之文件
  8. Android保存数据几种常用方法解析
  9. Android与JavaScript相互调用(Android和h5交互)

随机推荐

  1. android Paint 设置线宽setStrokeWidth()
  2. android获取mac地址方法
  3. 更改ProgressBar颜色,SwipeBack滑动返回
  4. Android(安卓)之通知Notification应用
  5. android文件解析InputStream问题解决
  6. android studio 启动报nexpected excepti
  7. 开始使用Google Maps Android(安卓)API v
  8. Android电池电量更新 - BatteryService(转
  9. Android完全退出应用程序的方法
  10. 一个Android实现图片的倒影效果的代码示