Android 产生随机数
总结 Java 与 Android 生成随机数的两种写法,用 Math.random 乘九加一再乘十万可得到六位随机数,用 Random 的 nextInt 对区间宽度取模再加最小值可生成 10 到 99 这类指定范围内的随机数。
总结 Java 与 Android 生成随机数的两种写法,用 Math.random 乘九加一再乘十万可得到六位随机数,用 Random 的 nextInt 对区间宽度取模再加最小值可生成 10 到 99 这类指定范围内的随机数。
讲解 Android 颜色 ARGB 中透明度的换算方法,用透明度百分比乘以 255 再转成十六进制即为颜色值前两位,并列出从百分之百对应 FF 到百分之零对应 00、每隔百分之五一档的二十一档常用对照表。
实现 Android 删除指定目录下特定前缀或后缀文件的工具,DeleteRunnable 接收目录路径、前后缀标志与规则字符串三个参数,内部用实现 FilenameFilter 接口的过滤器配合 listFiles 筛选文件后逐个删除。
分析 Android 冷启动白屏的成因与四种处理方案,重点对比把 windowDisablePreview 设为 true 与用 layer-list 占位图配置 windowBackground 两种做法,前者会让启动看似延迟数秒,后者能有效消除白屏。
演示 Android 帧动画的实现,在 drawable 目录用 animation-list 标签按顺序声明三十多帧图片,给每帧设置 32 毫秒的 duration,用 oneshot 属性控制是否只播放一次,再在代码中启动动画。
解决使用 EventBus 时报 ViewRootImpl 的 CalledFromWrongThreadException 异常,原因是订阅方法用 BACKGROUND 线程模式更新了 UI,把模式改为 MAIN 或在更新控件处包一层 runOnUiThread 即可。
实现 Android 监控服务 MonitoringService 检测应用是否存活,用 Timer 每 10 秒调用 isClsRunning 检查三个 Activity 的运行状态,全部挂掉时携带 FLAG_ACTIVITY_NEW_TASK 重启入口页面,并注册 kill_self 广播用于停止监控。
分享 Android 工具类 BrightnessManager 的实现,通过修改 Window 的 LayoutParams 中 screenBrightness 字段设置当前页面亮度,取值 0 到 1.0f,并提供 setAlpha、lightoff 调暗至 0.3f 与 lighton 恢复 1.0f 等透明度方法。
记录 Android 从一个应用打开另一个应用的写法,构造 ACTION_MAIN 加 CATEGORY_LAUNCHER 的 Intent,再用目标应用包名与 MainActivity 全类名创建 ComponentName 并调用 setComponent 后 startActivity 即可完成跳转。
实现 Android Bitmap 高斯模糊的工具类 BlurBitmapUtil,先按 0.4 倍比例缩小图片,再用 RenderScript 的 ScriptIntrinsicBlur 配合 Allocation 渲染,模糊半径最大可设 25f,并给出加载到 ImageView 的调用示例。