博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 网络编程
阅读量:5094 次
发布时间:2019-06-13

本文共 1084 字,大约阅读时间需要 3 分钟。

一 演变

Android 4.4之前 提供了两种HTTP交互的方式 HttpURLConnection(JDK)和HttpClient(Apache)

Android 4.4开始 引入了OkHttp 用于替代HttpURLConnection(JDK)和HttpClient(Apache)

Android 6.0开始 删除了HttpClient(Apache)

 

二 注意

Android 4.0开始 主线程不能联网

因为联网一定是一个耗时的操作 主线程是负责界面的显示 不能阻塞 如果主线程被阻塞 用户的行为5s内无法被系统响应 就会导致一个异常 ANR(application not response)

 

三 联网必要操作

1. 添加联网权限

2. 开线程 new Thread(){run(){}}.start()

3. 使用Handler + Message完成子线程和主线程之间的通讯(子线程不能操作UI 只有主线程才能操作显示)

 

四 特例

在特定条件下 子线程也可以操作UI

new Thread() {    public void run() {        // 子线程操作UI的第一种方式(内部封装Handler + Message)        runOnUiThread(new Runnable() {            @Override            public void run() {                Toast.makeText(getApplicationContext(), "子线程操作UI", Toast.LENGTH_SHORT).show();            }        });    }}.start();new Thread() {    public void run() {        // 子线程操作UI的第二种方式(内部封装Handler + Message)        Looper.prepare();        Toast.makeText(getApplicationContext(), "子线程操作UI", Toast.LENGTH_SHORT).show();        Looper.loop();    }}.start();

 

五 名词

URL: 网络资源地址

URI: 资源地址(本地资源 + 网络资源 + ...)

 

转载于:https://www.cnblogs.com/huangyi-427/p/9546950.html

你可能感兴趣的文章
【POJ2699】The Maximum Number of Strong Kings(网络流)
查看>>
spring boot配置跨域
查看>>
BZOJ 1996 合唱队(DP)
查看>>
进击吧!阶乘——大数乘法
查看>>
安卓学习资料推荐-25
查看>>
Mysql数据库备份和还原常用的命令
查看>>
关于退出当前页面在火狐的一些问题
查看>>
【项目实施】项目考核标准
查看>>
spring-aop AnnotationAwareAspectJAutoProxyCreator类
查看>>
经典入门_排序
查看>>
Redis Cluster高可用集群在线迁移操作记录【转】
查看>>
二、spring中装配bean
查看>>
VIM工具
查看>>
javascript闭包
查看>>
创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备...
查看>>
mysql8.0.13下载与安装图文教程
查看>>
url查询参数解析
查看>>
http://coolshell.cn/articles/10910.html
查看>>
[转]jsbsim基础概念
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>