【OkHttp】Android 项目导入 OkHttp ( 配置依赖 | 配置 networkSecurityConfig | 配置 ViewBinding | 代码示例 )(一)

简介: 【OkHttp】Android 项目导入 OkHttp ( 配置依赖 | 配置 networkSecurityConfig | 配置 ViewBinding | 代码示例 )(一)

文章目录

OkHttp 系列文章目录

前言

一、OkHttp 导入流程

1、配置依赖

2、配置 networkSecurityConfig ( 兼容 HTTP )

二、ViewBinding 配置

1、启用 ViewBinding

2、Activity 初始化 ViewBinding

三、OkHttp 同步 Get 请求

四、代码示例

1、MainActivity 代码

2、build.gradle 构建脚本

3、AndroidManifest.xml 清单文件

4、network_security_config.xml 配置文件

5、执行结果


前言

在上一篇博客 【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) 中简要介绍了 OkHttp 及 Http , 本博客开始介绍 OkHttp 框架的使用 ;






一、OkHttp 导入流程



1、配置依赖


导入 OkHttp3 依赖库 : 在 Module 下的 build.gradle 配置文件中的 dependencies 节点 , 进行如下配置 ;


implementation 'com.squareup.okhttp3:okhttp:3.14.+'



2、配置 networkSecurityConfig ( 兼容 HTTP )


配置 HTTP : Android 9.0 9.09.0 之后不允许使用 HTTP, 只能使用 HTTPS , 如果要使用 HTTP , 必须在 application 节点的 android:networkSecurityConfig 属性中配置 <network-security-config> 节点的 XML 配置文件 ;


<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <!-- Android 9.0 之后不允许使用 HTTP, 只能使用 HTTPS,
         如果要使用 HTTP , 必须在 application 节点的 android:networkSecurityConfig 属性中
         配置本文件 -->
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>



清单文件配置 : 关注两个点 ,① 配置 android.permission.INTERNET 网络权限 , ② 配置 application 节点的 android:networkSecurityConfig 属性 ;


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.okhttp">
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:networkSecurityConfig="@xml/network_security_config"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.OkHttp">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>






二、ViewBinding 配置



1、启用 ViewBinding


启用 ViewBinding : 在 Module 下的 build.gradle 配置文件中的 android 节点 , 进行如下配置 ;


android.buildFeatures.viewBinding = true



2、Activity 初始化 ViewBinding


Activity 初始化 ViewBinding :


① 声明视图绑定成员 : 定义 ActivityMainBinding 成员变量 , ActivityMainBinding 是 activity_main 布局映射出来的类 ;


 

/**
     * ViewBinding 类
     * activity_main 布局映射出来的类
     * 该类主要作用是封装组件的获取
     */
    ActivityMainBinding binding;



② 初始化视图绑定类 : 在 onCreate 方法中初始化 ActivityMainBinding 成员变量 ;


binding = ActivityMainBinding.inflate(getLayoutInflater());



③ 设置 Activity 布局显示 :


setContentView(binding.getRoot());



目录
相关文章
|
2月前
|
Android开发
Android 配置蓝牙遥控器键值
本文详细介绍了Android系统中配置蓝牙遥控器键值的步骤,包括查看设备号、配置键位映射文件(kl文件)、部署kl文件以及调试过程,确保蓝牙遥控器的按键能正确映射到Android系统对应的按键功能。
46 1
|
2月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
48 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
2月前
|
搜索推荐 Android开发
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
本文分享了不同价位电脑配置对于编译AOSP安卓系统源代码的影响,提供了从6000元到更高价位的电脑配置实例,并比较了它们的编译时间,以供学习AOSP源代码时电脑配置选择的参考。
86 0
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
|
2月前
|
Ubuntu Android开发
安卓系统调试与优化:(一)bootchart 的配置和使用
本文介绍了如何在安卓系统中配置和使用bootchart工具来分析系统启动时间,包括安装工具、设备端启用bootchart、PC端解析数据及分析结果的详细步骤。
86 0
安卓系统调试与优化:(一)bootchart 的配置和使用
|
2月前
|
XML 安全 Android开发
Flutter配置Android和IOS允许http访问
Flutter配置Android和IOS允许http访问
50 3
|
2月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
44 0
|
2月前
|
监控 安全 API
Android项目架构设计问题之保证线上用户不会进入到本地配置页面如何解决
Android项目架构设计问题之保证线上用户不会进入到本地配置页面如何解决
23 0
|
2月前
|
JSON Android开发 数据格式
Android项目架构设计问题之在远端动态配置中添加相应配置如何解决
Android项目架构设计问题之在远端动态配置中添加相应配置如何解决
26 0
|
Android开发
【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入代码示例 )(二)
【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入代码示例 )(二)
207 0
【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入代码示例 )(二)
|
Java Android开发
【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入代码示例 )(一)
【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入代码示例 )(一)
163 0
【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入代码示例 )(一)
下一篇
无影云桌面