• Android网络通信(1):Android网络基础


    参考链接:http://www.cnblogs.com/qingblog/archive/2012/06/15/2550735.html

    Android平台浏览器采用了WeBKit引擎,这款名为Chorme Lite的Web浏览器拥有强大扩展特性,每个开发者都以为编写自己的插件,使得浏览器的功能更加完善。

    目前Android平台有3种网络接口,分别是:java.net.*(标准JAVA接口)、org.apache(Apache接口)和android.net.*(Android网络接口)。
    1、java.net.*(标准java接口)

    此接口提供与联网有关的类,包括流和数据包套接字、Internet协议、常见HTTP处理。如:创建URL以及URLConnection/HttpURLConnection对象、设置连接参数、连接服务器、向服务器写数据、从服务器读取数据等通信。
    下例为常见java.net包的Http例子:
     

    /*使用java.net.*包连接网络*/
    //... 
    try{
        URL url = new URL("http://www.google.com")//定义地址
        HttpURLConnection http = (HttpURLConnection) url.openConnection();//打开连接
        int nRC = http.getResponseCode();//得到连接状态
        //因是连接网络,不免会出现一些异常,所以必须处理这些异常
        if(nRC == HttpURLConnection.HTTP_OK){
         InputStream is = http.getInputStream();//取得数据
         .....//处理数据
        }
       }catch(Exception e){
       }
    //...

    2、Apache接口
       Android提供的Apache HttpClient,它是一个开源项目,功能更加完善,为客户端的Http编程提供高效、最新、功能丰富的工具包。Android目前使用的是HttpClient4.0(org.apache.http.*),可将Apache看为目前流行的开源Web服务器,主要包括创建HttpClient以及Get/Post、HttpRequest等对象,设置连接参数,执行HTTP操作,处理服务器返回结果等功能。下例为使用android.net.http.*包的例子:

    /*使用android.net.http.*连接网络*/
    try{
        HttpClient hc = new DefaultHttpClient();//创建HttpClient,这里使用DefaultHttpClient表示默认属性
        HttpGet hg = new HttpGet("http://www.google.com");//HttpGet实例
        HttpResponse rp = hc.execute(hg);//连接
        if(rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
         InputStream is = rp.getEntity().getContent();
         .....//处理数据
        }
       }catch(IOEeception e){
       }


    3、Android网络接口
       android.net.*包实际是通过Apache中HttpClient的封装来实现的一个HTTP编程接口,同时还提供了Http请求队列管理以及Http连接池管理,以提高并发请求情况下(如装载网页时)的效率
       还包括 网络状态监视等接口,网络访问的Socket,常用的Uri类以及有关WiFi相关的类等等。
       下例为最简单的Socket连接
     

    /*使用android中的socket连接网络*/
    //... 
     try{
        InetAddress ia = InetAddress.getByName("192.168.1.110");//IP地址
        Socket sk = new Socket(inetAddress,61203,true);//端口
        InputStream is =sk.getInputStream();//得到数据
        OutputStream os = sk.getOutputStream();
        .....//数据处理
        os.close();
        is.close();
        sk.close();
       }catch(UnknownHostException e){
       }catch(IOException e){
       } 
    //...
    作者:快乐出发0220 ;Android群:151319601 ; Linux群:96394158 ;转载请注明出处 http://klcf0220.cnblogs.com/ !!!
  • 相关阅读:
    微信 token ticket jsapi_ticket access_token 获取 getAccessToken get_jsapi_ticket方法
    PHP 日志 记录 函数 支持 数组 对象 新浪 sae 环境 去掉 空格 换行 格式化 输出 数组转字符串
    原生 原始 PHP连接MySQL 代码 参考mysqli pdo
    PHP 数字金额转换成中文大写金额的函数 数字转中文
    使用PHPMailer发送带附件并支持HTML内容的邮件
    设置输出编码格式 header 重定向 执行时间 set_time_limit 错误 报告 级别 error_reporting
    html5 bootstrap pannel table 协议 公告 声明 文书 模板
    指向指针的指针
    二级指针
    c语言:当指针成为参数后
  • 原文地址:https://www.cnblogs.com/klcf0220/p/3084733.html
Copyright © 2020-2023  润新知