Failed to resolve com.android.support
排查 Android Studio 编译 module 报 Failed to resolve com.android.support 的过程,根因是 Refactor Rename 重命名 xml 文件时把 build.gradle 中的 test 误改成 test_page,改回原名后即可编译通过。
排查 Android Studio 编译 module 报 Failed to resolve com.android.support 的过程,根因是 Refactor Rename 重命名 xml 文件时把 build.gradle 中的 test 误改成 test_page,改回原名后即可编译通过。
推荐 GitHub 上适合练手的五款 Android 开源项目,包括仿知乎客户端 ZhiHuMVP、新闻应用 ColorfulNews、B 站多媒体选择器 boxing、天气应用 MinimalistWeather 与划词翻译 TranslateApp,均基于 MVP 架构并涉及 RxJava、Retrofit2、Dagger2 等主流库。
分析 Android 使用 Fragment 时报 java.lang.IllegalStateException commit already called 的原因,根源是把 Fragment 事务定义成全局变量重复 commit,解决办法是每次提交都获取新的局部事务再 commit。
面向程序员的 Git 命令行入门指南,从安装与 git config 配置用户名邮箱讲起,覆盖 init、add、commit、status、diff、log 等常用命令,并整理了 git log 十余个选项的速查表,推荐配合廖雪峰教程学习。
梳理 Java 内存管理与垃圾回收机制,依据《Java虚拟机规范》介绍堆、虚拟机栈、栈帧与方法区的职责划分,并说明 GC 由 JVM 低优先级线程自动执行,System.gc() 只能建议而无法强制立即回收。
用 Java 实现输入年月日计算该日期是当年第几天,思路是利用 switch 穿透从大月份向前累加天数,按 1、3、5、7、8、10、12 月 31 天并结合闰年判断 2 月取 28 或 29 天,附完整可运行代码。
讲解 Java 中 == 运算符与 equals 方法的区别,== 对基本类型比较值、对引用类型比较地址,未重写的 equals 等价于 ==,而 String 与包装类已重写为比较内容,并用字符串常量池示例说明两者结果差异。
总结 Android ListView 分割线的设置方法,用 divider 属性控制颜色、dividerHeight 控制高度,去掉分割线可在代码中 setDivider(null) 或在布局里把 divider 设为 @null,透明色方案仅是隐藏且仍占高度。
通过十万次循环实测 Java 基本数据类型转 String 的三种方式,结论是 toString() 最快、String.valueOf() 与之接近、加空字符串拼接最慢,但差距都在毫秒级,实际开发中对用户几乎无感知。
复盘 Android 编译报 Multiple dex files define okhttp3 WebSocketProtocol 的排查过程,根因是多个 library 重复依赖了 3.3.1 与 3.9.1 两个版本的 okhttp,去除重复依赖并统一版本号后 rebuild 即可解决。