首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java/Android工具库
乐征skyline
创建于2023-05-05
订阅专栏
本专业记录一些工作中积累下来的Java/Android实用工具
等 7 人订阅
共44篇文章
创建于2023-05-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Android小技巧:利用动态代理自动切换线程(续)
本文是针对上文Android小技巧:利用动态代理自动切换线程的一个补充,补充一种简单的实现方式。 上文中我们提到利用动态代理将对某个对象的方法调用自动切换到对应线程中去,只是探讨了可行性和局限,但如果
Android小技巧:利用动态代理自动切换线程
日常开发中,多线程编程是个难以避免的话题,开发者可以小心翼翼、谨慎地、严谨地编程来编写出高效的、安全的多线程程序,但是在长时间的维护中,难免因为其中某个人的某个疏忽而导致出现预料之外的并发问题,比如下
尝试编写一个不需要记忆的工具(以RecyclerView的Adapter为例)
过去开发Android的时候,RecyclerView是一个非常常用的类,但是RecyclerView.Adapter却用起来有些麻烦,于是就根据需要写了很多XXXAdapter之类的工具,也有很多开
Android小工具:利用解构来简化Cursor内容的读取
Cursor这个类是Android开发者难以避免的,比如数据库、ContentResolver内容的读取,但通过这个类读取内容非常的繁琐,针对要读取的每一个字段都会有这样一段代码: 这种代码基本没法复
Android小工具:利用解构来简化Bundle读写
我想所有的Android开发者都接触过类似下面这样的代码: 这是典型的利用Bundle传参的示例,这里只有读取参数,自然有对应的写入参数,因为代码差不多,就省略了。 这段代码几乎就是纯手工代码,每个词
Java小技巧:创建带缓存的过程
在平常开发中,我们经常遇到这样一类过程:有一定计算量,被频繁调用,但对于任意一个参数,结果是恒定的(换句话说,就是纯函数),为了减少频繁调用的性能开销,我们可能会写出这样的代码: 但是,这样写的话,每
NeoPreference延伸:为SharedPreferences配置项生成配置页面
代码地址:https://github.com/Nagi1225/NeoPreference.git 最初在开发NeoPreference这个SharedPreferences工具的时候,就期望完成三
Andorid小技巧:TransactionTooLargeException的简洁处理
示例代码:https://gitee.com/spectre1225/big-data-demo.git 问题场景 在Activity之间跳转时,可能因为传递大型数据导致抛出TransactionTo
Java小技巧:利用异常中断当前任务
在日常开发中,我们经常遇到调用别人的代码来完成某个任务,但是当代码比较耗时的时候,没法从外部终止该任务。本文介绍一种利用异常来终止这样的任务的方法。
函数式编程-将过程作为返回值的应用:获取未来的数据
之前的文章利用一等函数(First-class Function)的“可以将过程作为返回值”这一点来实现分步过程,本文介绍一种该性质极其相似另一种用途-获取未来的数据。
函数式编程-将过程作为返回值的应用:分步过程
之前的文章提到函数式编程的一等函数(First-class Function)四个性质中有“可以将过程作为返回值”这一点,但这一点在实际使用中不如“将过程作为参数”(高阶函数)用得多。
Java集合工具:列表查找之position和find
操作集合时,查找列表中的元素是常见操作,本文记录两个平常使用的List查找工具方法。(因为我不认为null是空集合,所以没有进行判空的处理)
NeoPreference:一个简化SharedPreferences使用的工具
针对Android平台键值对的存储,虽然Jetpack出了新的DataStore,但实际项目中SharedPreferences还是有大量使用,本文结合以前的使用经验给出一种极简且优雅且安全的实践
Android小技巧:在通知RemoteViews中显示动画
在Android Notification显示中,我们通常显示一些静态元素,即便使用自定义布局,也不例外,因为RemoteViews有着诸多限制,例如使用的控件只有那些个基本控件,更新界面也必须通过R
Java小技巧:利用局部函数来隐藏和保护函数
有过一些开发经验的开发者应该都知道:尽量用局部变量,尽可能避免用全局变量。过于暴露的变量可能被滥用而导致安全问题,对于代码维护也造成一些麻烦(得仔细检查该变量是不是被很多地方用到,等等)。
Java集合工具:first和last
在平常开发过程中,我们经常会遇到截取列表片段的需求,比如取列表中前4个元素、取后四个元素。Java的List提供了subList方法,可以用来完成这些工作,但是使用起来并没有那么便利,比如取前四个元素
Java小技巧:利用蹦床和CPS消除递归中栈溢出
在编写递归程序时候,出现栈溢出并不是什么稀奇的事,这种时候,我们有时候可以利用尾递归优化,有时候可以改为循环写法,甚至还可以调整java虚拟机参数来改变栈大小。但是并非所有的递归都可以改写为其他形式,
Java集合操作工具:some、any以及every
最近学习PAIP的时候,顺便看了下回味了下Common Lisp,注意到几个实用的集合操作函数,本文记录下在Java中的实现。 场景 我想大家在平常开发中应该经常遇到这样场景:想要从集合中找到符合某个
EventBus 注册过程简化(or优化)
EventBus是一个流行的Android开发库,使用非常方便,但是这个工具的使用并非一直都很顺利。下面是一段使用示例: 这段示例对于了解EventBus使用的人来说非常简单,但是这里可能会遇到以下问
小建议:为Activity的启动添加约束条件
回想起刚开始做Android开发工作时,有一个烦恼:当拿到一个新项目的时候,想从界面的跳转来梳理整个App的功能,结果发现根本没有对应的产品文档,然后代码中启动Activity的代码散落在Activi
下一页