zoukankan      html  css  js  c++  java
  • Android的三种网络联接方式(URL / HttpURLConnection | HttpClient | InetAddress )

    Android SDK 中一些与网络有关的package,如下:
    包描述

    java.net 提供与联网有关的类,包括流和数据包(datagram)sockets、Internet 协议和常见 HTTP 处理。该包是一个多功能网络资源。有经验的 Java 开发人员可以立即使用这个熟悉的包创建应用程序。
    java.io 虽然没有提供显式的联网功能,但是仍然非常重要。该包中的类由其他 Java 包中提供的 socket 和连接使用。它们还用于与本地文件(在与网络进行交互时会经常出现)的交互。
    java.nio 包含表示特定数据类型的缓冲区的类。适合用于两个基于 Java 语言的端点之间的通信。
    org.apache.* 表示许多为 HTTP 通信提供精确控制和功能的包。可以将 Apache 视为流行的开源 Web 服务器。
    android.net 除核心 java.net.* 类以外,包含额外的网络访问 socket。该包包括 URI 类,后者频繁用于 Android 应用程序开发,而不仅仅是传统的联网方面
    android.net.http 包含处理 SSL 证书的类。
    android.net.wifi 包含在 Android 平台上管理有关 WiFi(802.11 无线 Ethernet)所有方面的类。并不是所有设备都配备了 WiFi 功能,特别是 Android 在 Motorola 和 LG 等手机制造商的 “翻盖手机” 领域获得了成功。
    android.telephony.gsm 包含用于管理和发送 SMS(文本)消息的类。一段时间后,可能会引入额外的包来来为非 GSM 网络提供类似的功能,比如 CDMA 或 android.telephony.cdma 等网络。

    1 > java.net 联网 URL / HttpURLConnection
    2 >org.apache.http联网实现 HttpClient
        Android使用HttpClient完成Post和Get方式的联网请求 
    3> android.net   InetAddress

       InetAddress address=InetAddress.getByName (strHostName);   

      除核心java.net.* 类以外,包含额外的网络访问 socket。该包包括 URI 类,后者频繁用于 Android 应用程序开发,而不仅仅是传统的联网方面

    Android的三种网络联接方式

    1、标准Java接口:java.net.*提供相关的类
    //定义地址
    URL url = new URL("http://www.google.com/");
    //打开连接
    HttpURLConnection http = (HttpURLConnection) url.openConnection();
    2、Apache接口:android.net.http.*
    //DefaultHttpClient表示默认属性
    HttpClient httpClient = new DefaultHttpClient();
    //HttpGet实例
    HttpGet get = new HttpGet("http://www.google.com/");
    HttpResponse rp = httpClient.execute(get);
    其中post的方式请求步骤比较复杂
    3、Android接口:android.net.*
    //IP地址
    InetAddress inetAddress = InetAddress.getByName("192.168.1.1");
    //端口
    Socket client = new Socket(inetAddress,61203,true);
    //取得数据
    InputStream in = client.getInputStream();
    OutputStream out = client.getOutputStream();
    文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/jdkf/20100719/450932.html

  • 相关阅读:
    C#扩展方法学习
    如何用PS快速做出3D按钮效果的图片
    比较C#中几种常见的复制字节数组方法的效率[转]
    GUID的学习
    委托与事件的区别
    利用Marshal.AllocHGlobal申请非托管内存,unsafe代码
    JAVASE(十三) 异常处理
    JAVASE(十二) Java常用类: 包装类、String类、StringBuffer类、时间日期API、其他类
    JAVASE(十一) 高级类特性: abstract 、模板模式、interface、内部类、枚举、注解
    面试题: SpringBoot 的自启动原理
  • 原文地址:https://www.cnblogs.com/csj007523/p/2063079.html
Copyright © 2011-2022 走看看