java - Android:登录的后台进程

标签 java android multithreading rest api

我目前正在开发一个 Android 应用程序,它向 Rest API 调用 HTTPS 请求(如登录等)。我的第一个方法是使用 AsyncTask 不在主线程上完成这项工作。不幸的是,我需要知道登录是否成功才能继续执行代码,因为如果您未登录,您对应用程序其他部分的访问权限将受到限制。

我尝试过使用 AsyncTask,因为我在之前的项目中使用过它,但我注意到返回值的问题有点晚了,现在我不知道应该使用什么技术来:

  • 不要遮挡主 UI
  • 等待回复
  • 使用 boolean 值或类似的值评估响应

如果有人可以帮助我选择解决问题的最佳方法,我将不胜感激

最佳答案

使用Retrofit用于 API 调用。

但是,它也将是异步的。这是你无法避免的。 如果您必须等待调用完成并处理到应用程序/仪表板,则没有其他方法。

练习是在屏幕上显示加载程序,在异步任务中发送请求,等待响应,隐藏加载程序,处理到应用程序。

不确定您的实现,但其他方法可能是:

  • 设置为用户未登录
  • 处理应用句柄用户,因为他尚未登录
  • 当登录请求成功时,设置他登录的一些全局变量

关于java - Android:登录的后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56966331/

相关文章:

java - OGNL类型转换器演示

java - 如果java中线程数量未知,如何通知所有线程

java - 如何使用 Java 从具有多个 namespace 的 XML 中获取特定节点?

Android TListBox 滚动不流畅

c++ - pthread_self() 很贵吗?

c++ - malloc/new 锁和多线程

java - notify() 表现得像 notifyAll()

java - 构建前将jar添加到maven本地仓库

android - 通缉 : API to get multilingual product information from UPC/EAN barcode for mobile app

android - 使用 AppCompat 主题的动态壁纸