当前位置: 首页 > article >正文

Android 网络通信(三)OkHttp实现登入

学习笔记

目录

一. 先写XML布局

二、创建 LoginResponse 类 :封装响应数据

目的和作用:

三、创建 MyOkHttp 类 :发送异步请求

代码分析

可能改进的地方

总结

四、LoginActivity  类中实现登录功能

详细分析与注释:

总结:

改进建议:


零、响应数据样例

通过 Post 登入请求

对API不做过多的细节描述。仅供代码理解

{
    "code": 200,
    "msg": "接口调用成功",
    "data": 1
}

一、先写XML布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">
  
    <EditText
        android:id="@+id/ed_username_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入账号"
        />

    <EditText
        android:id="@+id/ed_password_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入账号"
        />
    <Button
        android:id="@+id/btn_dengru_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="登入"
        />
</LinearLayout>

二、创建 LoginResponse 类 :封装响应数据

        写一个 LoginResponse 类,目的是:用来封装从服务器返回的响应数据,通常用于解析 API 响应的 JSON 数据。它包含两个成员变量 codemsg,分别用于存储响应的状态码和消息。这个类在代码中被用于存储和处理登录请求的返回结果。

public class LoginResponse{
    private int code;
    private String msg;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}

目的和作用:

  1. 封装响应数据:
    PostDemo 类提供了 getCode()getMsg() 方法来访问服务器返回的状态码和消息。这些字段通常在 API 响应中用于指示请求的结果(例如,code 可能表示成功或错误状态,msg 可能包含描述或错误信息)。

  2. 与 JSON 映射
    在登录请求中,使用 Gson 将响应的 JSON 字符串解析为 PostDemo 对象。比如,如果服务器返回的数据是 { "code": 200, "msg": "Login success" },Gson 会将其映射到 PostDemo 类的 codemsg 字段中。

  3. 简化处理
    通过 PostDemo 类,可以方便地在业务逻辑中处理 API 返回的状态信息,进而决定后续的操作,如登录成功或失败。

总结来说,PostDemo 类的目的是为了将服务器响应的 JSON 数据结构映射为 Java 对象,便于后续的处理和使用。

 

三、创建 MyOkHttp 类 :发送异步请求

再写一个 MyOkHttp 类,目的是:使用了 OkHttp 库来发送异步 HTTP POST 请求,执行一个登录操作。请求发送到指定的 URL,传递用户名和密码,返回响应后进行处理。代码主要结构包括请求的构建、发起、回调以及数据的解析等内容。ps.已备注详细注解

public class MyOkHttp {

    // 定义登录请求的 URL 地址
    private static final String Login_URL = "your_API";  // API地址
    // 发送登录请求的公共方法
    public static void loginRequest(String username, String password, Context context, NetworkCallback_login c

http://www.kler.cn/a/412084.html

相关文章:

  • 计算机基础(下)
  • 结构方程模型(SEM)入门到精通:lavaan VS piecewiseSEM、全局估计/局域估计;潜变量分析、复合变量分析、贝叶斯SEM在生态学领域应用
  • 从零开始学GeoServer源码(二)添加支持arcgis切片功能
  • ffmpeg视频滤镜:提取缩略图-framestep
  • 【华为】配置VXLAN构建虚拟网络实现相同网段互通(静态方式)
  • LabVIEW实现TCP/IP通信
  • 【es6进阶】vue3中的数据劫持的最新实现方案的proxy的详解
  • java-使用HSSFWorkbook编辑excel文件
  • 《Hello YOLOv8从入门到精通》5,颈部网络(Neck)结构、核心源码和参数调优
  • 用 C++ 写一个 AWS Lambda Hello World
  • zabbix“专家坐诊”第265期问答
  • 【AI系统】Tensor Core 架构演进
  • CTF之密码学(密码特征分析)
  • 【SpringBoot】HttpClient
  • SSL/TLS,SSL,TLS分别是什么
  • 三、表格布局与表单交互
  • 计算机网络-GRE(通用路由封装协议)简介
  • Redis基础配置
  • springboot vue工资管理系统源码和答辩PPT论文
  • 报表工具功能对比:免费易上手的山海鲸报表 vs 庞大用户群体的Tableau
  • Homebrew切换成国内源
  • (免费送源码)计算机毕业设计原创定制:Java+SSM+JSP+Ajax+MySQLSSM国外鞋服代购平台
  • MySQL 内置函数
  • 家庭智慧工程师:如何通过科技提升家居生活质量
  • Vue——【路由】
  • 【Linux】查看文件权限