Http协议
客户端请求服务器,服务器响应客户端
步骤
1、
生成代表客户端的HttpClient对象
2、生成代表请求的HttpGet对象
3、发送请求,获得 服务器返回的HttpResponse对象
4、判断响应状态是否正常
5、获得相应对象中的数据
/**
 * 子线程Http访问服务器,取得返回的数据
 * 通过Handler,主线程读取数据
 */
public class HttpActivity extends Activity {private Button button;
    private Handler handler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_http);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new MyOnclick());
        handler = new MyHandler();
    }class MyOnclick implements View.OnClickListener {@Override
        public void onClick(View v) {//主线程当中不许访问网络
            WorkThread workThread = new WorkThread();
            workThread.start();
        }}class WorkThread extends Thread {@Override
        public void run() {//生成代表客户端的HttpClient对象
            HttpClient httpClient = new DefaultHttpClient();
            //生成代表请求的HttpGet对象
            HttpGet httpGet = new HttpGet("http://www.marschen.com/data1.html");
            try {//发送请求,获得 服务器返回的HttpResponse对象
                HttpResponse httpResponse = httpClient.execute(httpGet);
                int code = httpResponse.getStatusLine().getStatusCode();
                //code等于200,说明响应状态正常
                if (code == 200) {//获得相应对象中的数据
                    HttpEntity httpEntity = httpResponse.getEntity();
                    InputStream inputStream = httpEntity.getContent();
                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                    String s = bufferedReader.readLine();
                    //将读出的服务器数据放到message的对象中去
                    //使用sendMessage()发送数据
                    Message message = new Message();
                    message.obj = s;
                    handler.sendMessage(message);

                }} catch (IOException e) {e.printStackTrace();
            }}}class MyHandler extends Handler {@Override
        public void handleMessage(Message msg) {//将msg中的对象读取出来
            String s = (String) msg.obj;
            Toast.makeText(HttpActivity.this, "输出的数据为" + s, Toast.LENGTH_SHORT).show();
        }}
}

Http之客户端请求服务器,服务器响应客户端。通过Handler在主线程中读取数据相关推荐

  1. 从零开始学习Node.js例子七 发送HTTP客户端请求并显示响应结果

    From: http://www.cnblogs.com/EricaMIN1987_IT/p/3654233.html wget.js:发送HTTP客户端请求并显示响应的各种结果 options对象描 ...

  2. oracle连接长时间未响应,Oracle的pl/sql客户端请求超时未响应的解决方法及装置与流程...

    本发明涉及计算机技术领域,具体提供一种Oracle的pl/sql客户端请求超时未响应的解决方法及装置. 背景技术: 随着信息技术的发展,Oracle数据库技术越来越广泛地推广应用到各个领域.当pl/s ...

  3. 服务器没有响应客户端,socket编程某些服务器对某些客户端没有响应的问题!!...

    socket编程某些服务器对某些客户端没有响应的问题!! 我是这么用的t=serversocket(inetaddress,2); while(true){ t=y.accept(); out=new ...

  4. NIO编程之三次握手成功而服务器不响应客户端

    下面这篇推文转自微信公众号<阿里技术>:https://mp.weixin.qq.com/s/yH3PzGEFopbpA-jw4MythQ 这篇文章写的是NIO的socket通信,三次握手 ...

  5. 万国觉醒国服服务器未响应,万国觉醒国服与国际服互通吗 数据互通问题解答...

    万国觉醒国际服中最亮眼的一点就是所有的服务器同服,玩家可以和来自世界各地玩家一同进行战斗,不过很多玩家还不清楚国服上线之后是否会和国际服互通,下面趣趣手游网小编就为大家分析一下,感兴趣的话来一起了解下 ...

  6. 西门子博途安装服务器未响应,博途V13.0安装过程中出错

    悬赏: 1西币 | 解决时间:2016-05-21 19:31 博途V13.0安装过程中出错 BUNDLE: SIMATIC STEP 7 Professional V13.0 SEBU Versio ...

  7. 暗影精灵dns服务器未响应,惠普WASD暗影精灵实战中土世界暗影魔多

    惠WASD暗影精灵游戏本 惠普最近力图开拓游戏本市场,WASD暗影精灵游戏本就是惠普对应的新锐产品.其独特的设计风格,以及不错的性能表现吸引了不少用户的关注.就产品本身而言,WASD暗影精灵游戏本采用 ...

  8. Android客户端与PC服务器通过socket进行交互实例

    一直以来对Android socket通信都很模糊,今天终于研究了一个网上的例子,自己又修改了下,算是对Android socket通信有点了解了. 下面是具体的代码,说明都在注释中了.需要注意的是, ...

  9. 【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 服务器端开发 )

    文章目录 一.服务器端 ServerSocket 开发 1.创建服务器端套接字 ServerSocket 2.等待客户端请求 3.管理客户端连接 4.接收客户端数据线程 5.向客户端发送数据线程 二. ...

  10. Android客户端 和 pc服务器 建立socket连接并发送数据

    服务器使用java代码 1.服务端需要创建一个ServerSocket(port) 2.port(端口) 地址范围在0~65535请使用1024以上的端口,尽量偏大使用,否则可能和你主机上的其他应用程 ...

最新文章

  1. mysql 清空row_MySQL_TRUNCATE_清空table里的记录
  2. 在IIS上安装 thinkphp的方法
  3. 如何查找SAP Fiori launchpad Designer的准确路径即url地址
  4. Red5 webapp配置
  5. pandas处理日期的几种常用方法
  6. 教你如何窃取网络信息
  7. Win8(X64)下MySQL5.6版本安装及配置
  8. c语言程序设计全文阅读,C语言程序设计(谭浩强).doc
  9. ad转3d视图快捷键_AD 常用快捷键
  10. vue学习笔记二:HBuilder X框架搭建
  11. 新的一年,知足,上进,不负野心!
  12. MyBatis 关于order by失效
  13. 工业互联网+5G 发展策略研究
  14. 目前有哪些比较好的App流量变现的方法?
  15. call和calling的用法_英语词汇call的短语及用法
  16. 用户登录程序C语言实现
  17. C语言中的循环语句(while、dowhile、for)
  18. 武汉前端技术和找工作微信交流群
  19. python相对路径找不到文件_Python 解决相对路径问题:No such file or directory
  20. 华为设备配置篇——DHCP配置

热门文章

  1. C++ 好的博客??
  2. Audio播放流程(三)---NuPlayer流程之setAudioStreamType以及prepare
  3. Linux电源管理系统架构和驱动(1)-Linux电源管理全局架构
  4. linux内存源码分析 - 内存回收(匿名页反向映射)
  5. 土壤重金属含量分布、Cd镉含量、Cr、Pb、Cu、Zn、As和Hg、土壤采样点、土壤类型分布
  6. ‘module‘ object has no attribute ‘computation‘
  7. hdu1598-----Kruscal+枚举
  8. php变成基础答案,高校邦《PHP语言程序设计》答案教程2020优学院《读写教程(基础篇) —— 成功之路大学英语综合教...
  9. java私有 公开 保护_性能与设计相关的java中的私有/受保护方法
  10. google海底光缆图_谷歌地图资讯-2013版“海底光缆地图”发布