提升效率
文章平均质量分 85
李小白lt
kotlin yyds
展开
-
使用插件重命名安卓项目内的资源名称
如果是组件化开发,组件内的资源要重命名,不能和宿主名称相同,否则可能会出现因资源名相同导致宿主资源覆盖组件资源的问题,严重可导致崩溃(比如id找不到导致空指针)所以我们需要给资源进行重命名,手动重命名比较耗时且容易遗漏,因此使用插件。原创 2024-04-25 22:45:11 · 334 阅读 · 3 评论 -
使用Kotlin写脚本
前言Kotlin不仅可以用来写Android,也可以写后端,Desktop桌面程序,脚本(和未来的ios,网页,native等)比如开发时使用Gradle的build.gradle也可以使用kotlin脚本编写,只需要将后缀改为kts即可声明为kotlin脚本文件,如build.gradle.kts,迁移指南:迁移gradle至kts可以说kotlin的功能非常的全,基本学会一门语言吃遍天下了那普通的脚本如何用kotlin来写呢?配置首先需要下载安装jdk并配置一下jdk的环境变量:原创 2022-02-28 21:15:00 · 4720 阅读 · 0 评论 -
超简单-用协程简化你的网络请求吧,兼容你的老项目和旧的网络请求方式
前言在Kotlin协程(后简称协程)出来之后,颠覆了我们很多工具类的封装方式,大大简化了我们很多api的调用,并且使异步操作逻辑更清晰了其中一个很标志性的地方就属网络请求了,以前的网络请求方式声明很麻烦,请求和响应也很麻烦,总结一句话就是啰嗦且易出错ps:最终的使用方式示例:比如使用网络请求的进化过程:1.从一开始的HttpURLConnection的一把梭,直接一个请求写一串代码(代码太多就不写了)2.到后续使用三方封装的网络框架,如XUtils,Volly,OkHttp等,这原创 2021-12-31 17:23:37 · 2333 阅读 · 0 评论 -
解决:The application could not be installed: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
一般这种情况,你都可以在清单文件顶部找到类似如下的代码:他的作用是:在AndroidManife.xml 中添加android:sharedUser可以将不同的程序加入到同一个进程中,方便数据的共享。但是有个前提是需要签名相同而报这个错有可能是因为签名和系统签名不相同, android.uid.system是表示系统进程解决方案1.如果是自己定制的系统可以使用系统签名,如果是上传到应用市场的,每个应用市场都不相同,所以可能就用不了2.如果不想和系统一个进程,就删掉这行代码扩.原创 2021-09-08 16:27:07 · 23137 阅读 · 5 评论 -
ViewModel优雅的弹加载窗和获取Context
前言目前安卓开发一般都是用的mvvm模式,Jetpack的ViewModel是必不可少的一部分,而vm的生命周期要比Activity和Fragment长的,所以其一般不推荐其直接持有A或F,因为可能会造成内存泄漏的问题,但是不传入,Context的获取和显示网络加载弹窗又成了问题.正文首先解决显示网络加载弹窗的问题,其有两种方案:1.使用MutableLiveData首先我们在BaseViewModel中加入弹窗的MutableLiveDataval dialogShow = Mu原创 2021-07-31 16:22:18 · 4763 阅读 · 0 评论 -
Gradle自动化之自动打包并上传到fir测试网站
前言原创 2021-06-03 15:54:59 · 627 阅读 · 6 评论 -
使用Retrofit的方式请求Socket,且Socket可以和Http无缝切换
前言一般来说前端的app和服务器通讯都是用的Http,Http使用方便,请求流程好控制,但有时候app需要实时接收服务端的推送或保持长连接,这时就需要使用Socket了java提供的Socket接口还是比较难用的,而网上有一个开源库OkScoket封装的还是挺好用的,Github地址:https://github.com/xuuhaoo/OkSocket但即使如此,其没有一对一回调或同步请求方法,只能通过一个或几个统一的回调方法,就造成了使用比较麻烦且容易出错而Retrofit使用比较好用,原创 2021-02-27 23:04:56 · 2532 阅读 · 0 评论 -
更易于使用的Retrofit(不用写注解)
1.处理如果参数不加任何注解,则默认是@Field,并且value为参数名,因为添加了kt反射,检查一下那个传入注解数组到底是干啥的,有没有影响2.POST注解自带FormUrlEncoded注解,可以在第二个参数isUseFormUrlEncoded设置为false............原创 2020-09-29 17:30:24 · 963 阅读 · 2 评论 -
以回调形式使用startActivityForResult方法,并解决Activity被回收的问题
前言之前写过一篇文章写一个逻辑清晰的startActivityForResult(),拒绝来回扒拉代码,写了使用回调形式使用startActivityForResult方法,配合Kotlin的语法,可以很简单的处理startActivityForResult的返回数据和返回时机.ps:由于之前名字使用startActivityForResult会导致有时导错包,所以现在名字改成了jumpForResult问题(假设A页面启动B页面,下面简称A和B)但是也引出了一个问题,由于这个lam原创 2020-08-31 21:58:13 · 3519 阅读 · 2 评论 -
写一个测试工具类,只在debug时运行,而release时自动移除代码,适用于gradle项目(idea,android studio等)
前言平时开发有很多测试期间需要写的代码(比如日志),如何不让其在正式环境下运行呢?或者不让其在正式环境下存在(防止反编译查到重要信息)实现方法1.通过混淆工具类示例: 这是一个打印当前堆栈信息的方法,可以用来跟踪调用栈,测试环境下运行没有问题,但是到正式环境下,会不断的创建String对象,并且调用打印方法消耗资源object TestUtil { /** ...原创 2019-12-31 17:41:38 · 549 阅读 · 2 评论 -
超级封装RecyclerView的适配器Adapter 只需二三十行代码
前言android开发中,RecyclerView是很常用的控件,而且功能也很强大,并且各种三方封装或者扩展库也是非常多,如:BaseQuickAdapter,XRecyclerview,当然还有我以前封装的LtRecyclerView比如BaseQuickAdapter虽然封装的非常方便,但那是相对于java语言,那用kotlin能不能使Adapter的封装更方便呢?答案是可以第一次...原创 2019-11-05 16:36:48 · 893 阅读 · 2 评论 -
安卓UI图分离器(支持ios@2x3x图转成安卓xhdpi,xxhdpi图,最新支持拖入并自动解压.zip图片压缩包)
如果UI是个ios粉的话,可能给的切图可能只会给ios分类,而不会给安卓分类,这样安卓用图片资源的话就苦逼了,,,如下图...人生苦啊...思来想去,这种搬砖的活应该交给程序来做,于是用了几个小时写了个小软件,为广大被坑的安卓开发者做一点微小的贡献,软件截图:然后去后缀处填 _w 把所有文件选中并拖入,一秒生成,如下图..nice具体怎么用软件上写的很清楚,都是中文,e......原创 2019-08-14 14:21:44 · 1585 阅读 · 0 评论 -
提高开发效率之安卓模板(上面有四种模板的教程,我之前会两种,看完之后还是只会两种2333)
原文地址: juejin.im/post/5c7339…在平时的开发工作中,我们经常将一个地方的代码,复制粘贴到另外一个地方,俗称搬砖,搬砖搬多了,作为一个资深的挨踢民工,难免会总结一些提高生产力的搬砖经验 Android Studio 模板是个提高生产力的好东西,使用过 MVPArms 的朋友,都应该使用过我提供的配套模板,使用该套模板,一键即可生成整个页面需要的所有...转载 2019-02-25 18:06:43 · 344 阅读 · 0 评论 -
安卓屏幕适配方案(根据今日头条方案,升级版)
屏幕适配方案有很多,比如原生的dp,鸿洋大神的AutoLayout,宽高限定符,今天我用缺点比较小的今日头条方案头条适配方案的文章链接:https://mp.weixin.qq.com/s/d9QCoBP6kV9VSWvVldVVwA使用效果测试后可以适配我身边的所有机型(其他的应该是都可以)设置Activity后Activity可以适配 设置Activity后Activ...原创 2018-08-15 18:57:41 · 4528 阅读 · 3 评论 -
Intellij IDEA(Android Studio)好用的插件和软件
好插件有很多,合理利用插件可以提高开发效率,遇到好用的记录下,找到新的就更新1.Key Promoter Xidea的快捷键提醒和快速设置快捷键如果在idea上无法下载,则在官网下载:http://plugins.jetbrains.com/plugin/9792-key-promoter-x2.GsonFormat根据json串生成一个java类,很好用3.FindBug...原创 2018-07-23 17:51:43 · 15276 阅读 · 4 评论