首页 > 其他分享 >Android Studio接口对接部署

Android Studio接口对接部署

时间:2024-12-31 12:30:51浏览次数:1  
标签:Info val LoginModel 接口 Studio IO Android Dispatchers

1.配置请求BaseUrl地址

建立BaseHelper.kt

object RetrofitInstance {
    private const val BASE_URL = "https://xxxxxxx.com/"
    val retrofit: Retrofit = Retrofit.Builder()
        .baseUrl(BASE_URL)
        .addConverterFactory(GsonConverterFactory.create())
        .addCallAdapterFactory(CoroutineCallAdapterFactory())
        .build()
    val apiService: ApiService = retrofit.create(ApiService::class.java)
}

2.部署请求接口地址

ApiService.kt

interface ApiService {
    //登录接口
    @POST("/api/Login.aspx)
    @Headers("Content-Type:application/json")
    suspend fun getLogin(@Body model: LoginModel?): LoginResult

}

3.建立请求类

LoginModel.kt

class  LoginModel{
    var userid:String= ""
    var password:String= ""
}

 4.建立ViewModel,视图UI和模型数据之间的媒介

 class LoginVM: ViewModel() {
    private val LoginRepo = LoginRepo()
     var loginInfo: LoginResult? = LoginResult()
     suspend fun getLogin(model: LoginModel) {

         try {
             loginInfo = withContext(Dispatchers.IO) {
                 LoginRepo.getLogin(model).invoke()
             }
             Log.d("接口对接:", loginInfo!!.Status)
         } catch (e: Exception) {
             Log.d("错误:1111111", e.toString())
         }

     }
}

5.UI界面请求写法

CoroutineScope(Dispatchers.Main) 通常用于确保协程中的代码在主线程上执行

Dispatchers.IO 是一个预定义的调度器,用于执行可能阻塞 I/O 的任务。它旨在优化 I/O 操作的性能,通过减少线程之间的上下文切换,并允许在等待 I/O 操作完成时释放线程。

withContext 函数用于切换协程的上下文,包括调度器。当你调用 withContext(Dispatchers.IO) 时,它会挂起当前协程,将其移动到 Dispatchers.IO 调度器的线程池中,然后在该线程池中恢复协程的执行。

    private fun Login() {
        //账号密码
        val Info = LoginModel()
        Info.userid=binding.edUserId.text.toString().trim()
        Info.password=binding.edPassword.text.toString().trim()
        CoroutineScope(Dispatchers.Main).launch {
            withContext(Dispatchers.IO) {
                Log.d("登录账号密码", "Login: " + Info.userid + Info.password)
                //请求接口获取数据
                viewModel.getLogin(Info)
                updateLoginUI(Info) // 使用获取的数据来更新UI

            }
        };

    }

 

标签:Info,val,LoginModel,接口,Studio,IO,Android,Dispatchers
From: https://www.cnblogs.com/MaoZhuaShi/p/18643706

相关文章

  • 量化交易API接口主要功能有哪些?
    Python股票接口实现查询账户,提交订单,自动交易(1)Python股票程序交易接口查账,提交订单,自动交易(2)股票量化,Python炒股,CSDN交流社区>>>建立稳定连接量化交易API接口首先要实现与不同交易平台的稳定连接。这一功能至关重要,因为只有稳定的连接才能确保后续交易活动的顺利开展......
  • Python通过locust实现接口压测
    1、下载locust包1pipinstalllocust2、脚本内容如下文件名称为test.pytimeout来调整压测时长,单位是秒1fromlocustimportHttpUser,task2fromdatetimeimportdatetime3importrequests4importtime5importjson6importos78host='http://x......
  • 接口请求的Type显示preflight表示什么呢?
    在前端开发中,当你看到接口请求的Type显示为“preflight”,这通常指的是一个CORS(跨源资源共享)预检请求。CORS是一个W3C规范,它定义了一种浏览器和服务器交互的方式来确定是否允许跨源请求。预检请求(Preflightrequest)是一个实际请求之前的“预备”请求,用于询问服务器是否允许该跨域......
  • Android 编译刷机刷入镜像img到手机
    前言全局说明一、说明1.1环境准备:下载和手机设备相同的驱动:https://developers.google.com/android/drivers?hl=zh-cn二、安装驱动下载对应设备驱动后,是sh后缀文件,运行,按照提示安装即可。(如果是虚拟机则不用装驱动,手机则需要)三、编译3.1环境生效sourcebuild/......
  • Visual Studio Code 1.95.3 官方版
    VisualStudioCode是一个由微软公司发布的免费开源且跨平台的代码编辑器,它本质上是微软将他们的在线编辑器VisualStudioOnline(代号:Monaco)结合Github的Electron实现的一个跨平台编辑器,他们在为程序员创建一个快速且高效工作环境方面取得巨大进步。提供智能感知的自动补......
  • 【汇总】Android 常用知识连接
    前言全局说明一、说明1.1环境:二、链接2.1代号、标记和build号https://source.android.com/docs/setup/reference/build-numbers?hl=zh-cn#source-code-tags-and-buildshttps://source.android.com/docs/setup/about/build-numbers?hl=zh-cn#buildhttps://xmanyou.c......
  • [转] Android源码对应分支、buildID
    一、源码对应分支、BuildID buildID标记版本支持的设备安全补丁级别TQ2A.230505.002.A1android-13.0.0_r44Android13Pixel4a(5G)、Pixel5、Pixel5a(5G)2023-05-05TQ2A.230505.002android-13.0.0_r43Android13Pixel4a、Pixel4a(5G)、Pixel5、Pixel......
  • 【汇总】Android 版本号、版本名称、api版本、内核版本、发布日期
    一、说明网上有大佬,将相关内容整理了,但是每个版本都有一些没有信息,需要来回切换页面查看,所以将所有信息合并。方便查看。 二、表格 Android版本APILevelLinux内核版本代号首次发布日期后续Android版本支持截止日期Android1636 W   Android15356......
  • 自动化测试工具Ranorex Studio(七十五)-录制ANDROID测试
    录制您的ANDROID测试准备好设备,并调制好APK后,,选择对应的设备以及要执行的App,就可以开始录制了。 图:选择设备和移动App进行录制按“开始”按钮后,调制在移动设备上的App将自动运行,并在桌面上弹出通知,告之用户移动设备上的操作将被录制。 图:录制通知在录制过程中,Ranorex......
  • 超低功耗段LCD液晶段码显示屏驱动芯片(ic)VKL128 LQFP44 I2C通信接口/可配置4种功耗模
    产品品牌:永嘉微电/VINKA产品型号:VKL128封装形式:SSOP44概述VKL128是一个点阵式存储映射的LCD驱动器,可支持最大128点(32SEGx4COM)的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据,可配置4种功耗模式,也可通过关显示和关振荡器进入省电模式。其高抗干扰,低功耗的特性适用于......