1. 事件原委 事情是这样的,厂子搞性能优化,有个同事在一个季度中完成了好几个不错的指标,并兴高采烈地加入到了将要发布的版本中。但是Team Leader知道后,直接让先下架...
1. 事件原委 事情是这样的,厂子搞性能优化,有个同事在一个季度中完成了好几个不错的指标,并兴高采烈地加入到了将要发布的版本中。但是Team Leader知道后,直接让先下架...
1. 前言 因疫情及国家政策影响(如双减政策),大环境持续下行,大公司业务线收缩及裁撤成常规操作,公司内“卷”成常态。作为一个螺丝钉,想要卷出重围,APM必须了解一下! 推荐...
1. 简介 inline、noinline、crossinline 是 Kotlin 中的三个关键字。在 Kotlin 源码中我们可以发现,这三个关键字被大量使用,那么它们究...
@程序猿男神 哈哈,主要看你获取结果后需要在什么线程中操作,文中只是个伪代码例子!给出的github案例中,网络框架直接使用的是Retrofit的协程方式,这样网络请求全都由Retrofit处理了,withContext中只是拿取结果,所以才有那样的伪代码。
Android开发之MVVM模式实践(四):协程的简单认识和使用前言 大家好,我是小益!众所周知,在2017年Google I/O大会上,Google宣布将Kotlin作为Android的第一开发语言,而且近年来很多中大型公司招聘Ando...
@程序猿男神 这就尴尬了,项目确实是public的,理论上不应该clone不下来的!
Android开发之MVVM模式实践(六):协程与网络请求的结合前言 大家好,我是小益!在经过前两章对协程的介绍后,我们终于又回到了MVVM的封装。协程在Android开发中最常用的场景应该是网络请求了,其次是一些使用Thread的场景,...
对的哈,文中有误, 不调用await(),async{} 方法体中的代码块也依旧会执行,感谢提醒!
Android开发之MVVM模式实践(五):async/await与suspend的讲解前言 大家好,我是小益!在上章内容中,我们简单了解了什么是协程以及协程的基本使用,主要提到了协程的launch与withContext用法。但是launch与withCont...
oroutineScope.launch(Dispatchers.IO) {
val a = async{ getUserInfo() }
// 执行协程
val userInfo = a.await()
}
我有不同看法,await即使不调用,协程体的逻辑也会执行,await只是为了得到结果
@b9afe40b3222 已经安排上了,之前(五)因为广告原因被官方给封锁了
Android开发之MVVM模式实践(六):协程与网络请求的结合前言 大家好,我是小益!在经过前两章对协程的介绍后,我们终于又回到了MVVM的封装。协程在Android开发中最常用的场景应该是网络请求了,其次是一些使用Thread的场景,...
前言 大家好,我是小益!在上章内容中,我们简单了解了什么是协程以及协程的基本使用,主要提到了协程的launch与withContext用法。但是launch与withCont...
使用Thymeleaf 三大理由:简洁漂亮 容易理解完美支持HTML5 使用浏览器直接打开页面不新增标签 只需增强属性 学习目标 快速掌握Thymeleaf的基本使用(五大基...
场景:有时候我们修改一个Bug或者一段代码的时候, commit 一次之后,发现 Bug 没改对或者这段代码需要再优化之类的,改完之后又 commit 了一次或多次,这样就会...
一、前言 Git是目前流行的版本管理工具,大家应该都使用过。虽然Git能为我们的项目管理提供极大的帮助,但是如果使用不当也会造成一些不必要的麻烦,特别是在多人协作的情况下。本...
@一只小码农 哈哈,支持!相互学习!
彻底明白ip地址,区分localhost、127.0.0.1和0.0.0.0通俗的了解IP地址是什么 对于IP地址,大家并不陌生,特别是在网络访问中我们会经常使用到(平时对域名如百度的www.baidu.com的访问,本质就是对域名所绑定的IP地址的...
前言 大家好,转眼春节假期已经结束,但在此还是向大家道一声新年快乐!眼下已是二月,过不久就是我们所谓的“金三银四”,一年中换工作的高峰时间,并且过不久也有一大批新同学将踏入实...
本文同步到CSDN 现在二维码使用越来越广泛了,几乎处处可见,并且 公司相关的项目中几乎全部都和二维码扫描有关,所以总结一下自己的使用心路历程,总觉得要做点什么来记录自己的成...
一:使用线程池的原因 在android开发中经常会使用多线程异步来处理相关任务,而如果用传统的newThread来创建一个子线程进行处理,会造成一些严重的问题: 1:在任务众...
@aliasenor 不是啊,虽然看上去doSuccess是回调,但是其实不是的,是顺序执行的。即你在外部定义一个变量来接收doSuccess中的返回结果,然后procceed方法执行后根据变量来判断是否执行成功,整个流程完全是串行的,你可以去打印一下执行顺序的。
Android开发之MVVM模式实践(六):协程与网络请求的结合前言 大家好,我是小益!在经过前两章对协程的介绍后,我们终于又回到了MVVM的封装。协程在Android开发中最常用的场景应该是网络请求了,其次是一些使用Thread的场景,...
如果觉得加变量不美观,可以在requestSafely这里,判断返回的ParseResult是否是Success类型的,如果是的话就取出结果处理并执行下一个请求
Android开发之MVVM模式实践(六):协程与网络请求的结合前言 大家好,我是小益!在经过前两章对协程的介绍后,我们终于又回到了MVVM的封装。协程在Android开发中最常用的场景应该是网络请求了,其次是一些使用Thread的场景,...
最简单的方式就是加个变量
launchOnUI {
var isFirstSuccess = false
ApiClient.getInstance()
.requestSafely(FlyInterface::class.java) {
it.get_article_list(20)
}.doSuccess {
articleList.value = it!!.results
Log.e("XXX", ">>>>>>>第一次完毕")
isFirstSuccess = true
}
.doFailure { code, msg -> showToast(msg ?: "获取文章列表失败") }
.doError { ex, error -> showToast(error.message) }
.procceed()
if (isFirstSuccess) {
Log.e("XXX", ">>>>>>>第二次请求")
ApiClient.getInstance()
.requestSafely(FlyInterface::class.java) {
it.get_article_list(20)
}.doSuccess {
articleList.value = it!!.results
}
.doFailure { code, msg -> showToast(msg ?: "获取文章列表失败") }
.doError { ex, error -> showToast(error.message) }
.procceed()
}
}
Android开发之MVVM模式实践(六):协程与网络请求的结合前言 大家好,我是小益!在经过前两章对协程的介绍后,我们终于又回到了MVVM的封装。协程在Android开发中最常用的场景应该是网络请求了,其次是一些使用Thread的场景,...
@想象之中丶意料之外 em...,s1="abc",s2=new String("abc"),s1指向的内存地址在常量池中,s2指向的地址应该是堆中,s1==s2理论上是false,我目前使用的是jdk8,你是如何测出s1==s2为true的?
经典问题:String s1 = "abc" 与 String s2 = new String("abc")的区别这是以前刚学Java那会经常被问到的问题,并且也会经常出现在面试中。这个问题不仅仅只局限于Java,可以适用于其他大部分语言,正好最近有个小朋友在学编程,特此整理一下。 首先...