• Android 网络编程


    一 演变

    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: 资源地址(本地资源 + 网络资源 + ...)

  • 相关阅读:
    Fixed Function Shader
    sqlserver 2014 数据库作业 通过脚本创建注意事项
    块存储、文件存储、对象存储意义及差异
    程序员如何成为架构师
    那些编程水平很高的程序员是怎么练成的?
    在ASP.NET Core调用WebService
    .net core 调用webservice同步方法
    Sqlserver中如何创建链接服务器
    JWT实现鉴权
    JWT原理实现代码
  • 原文地址:https://www.cnblogs.com/huangyi-427/p/9546950.html
Copyright © 2020-2023  润新知