findViewById后浪们
findViewById
相信大家对这个方法已经烂熟于心,我们刚开始学习Android就接触到了,顾名思义,根据布局文件所写的id
拿到View对象
,然后就可以对这个View对象
进行操作啦。但是一但布局复杂起来,便少不了很多声明变量+findViewById绑定
的模板代码,首先会增加代码行数,其次就是浪费时间。懒是进步的动力源,为了方便和提高效率,findViewById
的后浪们来了~
相信大家对这个方法已经烂熟于心,我们刚开始学习Android就接触到了,顾名思义,根据布局文件所写的id
拿到View对象
,然后就可以对这个View对象
进行操作啦。但是一但布局复杂起来,便少不了很多声明变量+findViewById绑定
的模板代码,首先会增加代码行数,其次就是浪费时间。懒是进步的动力源,为了方便和提高效率,findViewById
的后浪们来了~
官方说协程可以被认为是轻量级线程,但是在我的使用体验下来,Kotlin协程更像是一个助手,协助我们更好地使用线程,它可以在不同的线程间灵活切换,让代码以我们想要的顺序去执行,最直观的感受就是我可以少写很多回调操作,优雅地处理异步任务。
在build.gradle(:app)
做如下配置,实现包名不同的demo1和demo2两个渠道:
manifestPlaceholders
配置不同的应用名称和应用图标,需在AndroidManifest.xml
中配置android:label="${app_name}"
和android:icon="${app_icon}"
。buildConfigField
配置不同的服务器地址,代码中直接使用BuildConfig.SERVER_URL
即可,需注意字符串要加一层转义。相信各位攻城狮们多多少少都会有访问GitHub的需求,毕竟开源与分享(Copy and Paste)是一件多么美妙的事情😜。什么?你还没听说过这个神奇的网站?那没事了,看官可以不用往下看了。但如果你在国内经常浏览此网站,你应该会发现,因为一些众所周知的原因,这个网站表现得并不稳定。还好我们可以通过以下方法改善我们的体验。