码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录


    Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录

    目录

    Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录

    一、简单介绍

    二、OKHttp 4.xx 的 SDK 封装 aar 给 Unity 的使用注意

    三、附录 OKHttp 的一些基础知识

    1、这个程序下载一个URL,并将其内容作为字符串打印出来

    2、Post 请求服务

    3、OkHttp 的使用要求


    一、简单介绍

    整理一些在Unity上可以方便调用 Android 方法的一些接口脚本,便于后期开发使用。

    本次介绍在Android 中使用 OkHttp 进行的功能封装,然后打包成 aar 给Unity使用,OkHttp 4.0之前没有带 kotlin 代码的,以正常的方式封装给Unity 调用即可,但是OkHttp 4.0之后SDK有 kotlin 代码 就需要其他的处理,再给 Unity 使用的时候。

    OkHttp 官网:Overview - OkHttp

    OkHttp GitHub 地址:GitHub - square/okhttp: Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

    HTTP是现代应用程序的网络方式。这是我们交换数据和媒体的方式。高效地使用HTTP可以让你的东西加载得更快,节省带宽。

    OkHttp是一个默认高效的HTTP客户端:

    • HTTP/2支持允许同一个主机上的所有请求共享一个套接字。
    • 连接池可以减少请求延迟(如果HTTP/2不可用)。
    • 透明的GZIP压缩下载大小。
    • 响应缓存完全避免了重复请求的网络。

    当网络出现问题时,OkHttp会持续运行:它会静默地从常见的连接问题中恢复。如果你的服务有多个IP地址,OkHttp会在第一次连接失败时尝试其他地址。对于IPv4+IPv6和托管在冗余数据中心的服务来说,这是必要的。OkHttp支持现代TLS特性(TLS 1.3、ALPN、证书钉扎)。它可以配置为支持广泛连接。

    使用OkHttp很简单。它的请求/响应API使用流畅的构建器和不可变性设计。它既支持同步阻塞调用,也支持带回调的异步调用。

    二、OKHttp 4.xx 的 SDK 封装 aar 给 Unity 的使用注意

    1、处理需要对应的 okhttp 包之外,还需要 okio-jvm 对应包

    2、然后封装到成 aar 即可,如果是 compileOnly,注意对应的 okhttp 和 okio-jvm 也需要引入Unity 的 Plugin-Android 文件夹中

    3、在配置中勾选 一下 Custom Main Gradle Tempale

    4、在 mainTemplate.gradle 中 添加  implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.4.10'

    5、以上,少了一些配置可能打包运行会报错

    三、附录 OKHttp 的一些基础知识

    1、这个程序下载一个URL,并将其内容作为字符串打印出来

    1. OkHttpClient client = new OkHttpClient();
    2. String run(String url) throws IOException {
    3. Request request = new Request.Builder()
    4. .url(url)
    5. .build();
    6. try (Response response = client.newCall(request).execute()) {
    7. return response.body().string();
    8. }
    9. }

    2、Post 请求服务

    1. public static final MediaType JSON = MediaType.get("application/json");
    2. OkHttpClient client = new OkHttpClient();
    3. String post(String url, String json) throws IOException {
    4. RequestBody body = RequestBody.create(json, JSON);
    5. Request request = new Request.Builder()
    6. .url(url)
    7. .post(body)
    8. .build();
    9. try (Response response = client.newCall(request).execute()) {
    10. return response.body().string();
    11. }
    12. }

    3、OkHttp 的使用要求

    OkHttp支持Android 5.0+ (API level 21+)和Java 8+。

    OkHttp依赖Okio来实现高性能I/O和Kotlin标准库。它们都是具有强大向后兼容性的小型库。

    我们强烈建议你保持OkHttp的最新状态。与自动更新web浏览器一样,与HTTPS客户端保持同步是防范潜在安全问题的重要手段。我们跟踪动态TLS生态系统并调整OkHttp以提高连通性和安全性。

    OkHttp使用你平台内置的TLS实现。在Java平台上OkHttp还支持Conscrypt于一体的BoringSSL与Java。如果Conscrypt是第一个安全提供者,OkHttp会使用它:

    Security.insertProviderAt(Conscrypt.newProvider(), 1);

    OkHttp 3.12。x分支支持Android 2.3+ (API级别9+)和Java 7+。这些平台不支持TLS 1.2,不应该被使用。

  • 相关阅读:
    图像识别流程学习总结
    梦开始的地方 —— C语言常用字符函数汇总
    vue-router滚动行为
    基于结构应力方法的焊接结构疲劳评估及实例分析(上篇)
    生成器建造者模式(Builder)——创建型模式
    Python基础——文件的基本操作
    阿里云PolarDB自研数据库详细介绍_兼容MySQL、PostgreSQL和Oracle语法
    力扣每日一题55:跳跃游戏
    【油猴脚本 Greasemonkey】GM_xmlhttpRequest内部实现原理
    一个更快的YOLOv5问世,附送全面中文解析教程
  • 原文地址:https://blog.csdn.net/u014361280/article/details/132617165
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号