ChaosLeong's Blog

有志则不甘为下流


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 更多信息

修改 Android Studio 创建 module 时默认的 compileSdkVersion

发表于 2016-11-23 | 分类于 Android |

今天下午的时候有人问到,AS 哪里能配置 build.gradle 的模板,从而达到每次新建 module 时默认的 compileSdkVersion 用指定的值而不是取最新 SDK 的 api-string。

阅读全文 »

Forking a Repository

发表于 2016-11-18 | 分类于 Git |

某些场景下,我们需要基于某个仓库的 tag、branch 或者 commit 来进行二次开发。

阅读全文 »

[译] 使用 ColorFilter 快速地主题化

发表于 2016-11-16 | 分类于 Android |

原文地址:Fast Android asset theming with ColorFilter

从 Android L 开始,Material Theme 能够借助某些属性主题化 APP(图标及其他)

1
2
3
4
5
<style name="AppTheme" parent="android:Theme.Material">
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<item name="android:colorAccent">@color/accent</item>
</style>
阅读全文 »

LoaderManager 源码分析

发表于 2016-07-28 | 分类于 Android |

文中提及的 Loader 相关知识基于 supprot.v4 24.0.0 中的 Loader 相关源码,android framework 的基本大同小异。

简介

关于 LoaderManager,Android Developer 上写道:LoaderManager 是与 Activity 或 Fragment 相关联的抽象类,用于管理一个或多个 Loader 实例。LoaderManager 有助于管理与 Activity 或 Fragment 生命周期相关联的、运行时间较长的操作。最常见的用法是与 CursorLoader 一起使用,但应用可以使用自定义的 Loader 用于加载其他类型的数据。

那么 LoaderManager 到底是如何管理 Loader,又是做到与 Activity、Fragment 的生命周期关联呢?本文将围绕这两个问题进行探究。

阅读全文 »

Loader 浅析

发表于 2016-07-25 | 分类于 Android |

文中提及的 Loader 为 support v4 的 Loader。

简介

Loader 机制在 android 3.0 后加入 android framework,其目的主要在于方便在 Activity 和 Fragment 中加载异步数据。

Loader 本身不具备异步加载的能力,真正赋予了异步加载能力的是 AsyncTaskLoader,而且 Loader 基本会跟 LoaderManager 绑定一起使用,如独立使用 Loader,意义并不大,因为真正将 Loader 和 Activtiy、Fragment 的生命周期关联的是 LoaderManager。所以说,Loader 本身不具备太多能力,基本是负责对 Loader 状态标记的修改以及调用部分相关的回调。

阅读全文 »

Activity 数据恢复时移除 Fragment 数据

发表于 2016-05-14 | 分类于 Android |

某些场景下(如内存不足),系统销毁 Activity 时会调用 onSaveInstanceState(),而 Fragment 也会在此方法中保存自身的状态。之后用户重新打开对应的 Activity 时,系统则会通过 onCreate(Bundle) 或者 onRestoreInstanceState(Bundle) 恢复 Activity 的状态,而 Fragment 的状态会在 onCreate(Bundle) 中恢复。

某些特殊需求下,我们并不需要 Fragment 恢复之前的状态,那么就需要在 Fragment 数据恢复前移除 Fragment 的数据。首先我们来看一下 Activity 中是如何恢复 Fragment 数据的:

阅读全文 »

Android Gradle 获取 APK 签名状态及对齐状态

发表于 2016-05-08 | 分类于 Android |

最近由于公司 CI 对所有项目做规范化处理,现有项目都需要按照规范修改 APK 的文件名。 由于 CI 只需要已签名并已对齐的 APK,所以需要获取 APK 的签名状态及资源对齐状态。

在 StackOverflow 及 Google 上搜索了一番只找到 zipAlign 的代码,没办法只能去看 ApplicationVariant 的代码。费了些时间才找到获取签名状态的 API,遂记录之。

阅读全文 »

[译] ProGuard 选项

发表于 2015-12-03 | 分类于 工具 |

注:只针对 Android 平台翻译了 ProGuard 选项的相关用法,更多信息请查看官方原文。

Input/Output Options

@filename
简短版 -include filename

-include filename
读取指定文件的配置参数

阅读全文 »

Android 动态加载 layout 资源

发表于 2015-11-28 | 分类于 Android |

在阅读前,请确保你已经了解动态加载资源的基本知识,相关知识请阅读 《从高德 SDK 学习 Android 动态加载资源》

由于 LayoutInflater 在 inflate 的过程中会调用 Context 的 getResources()、getTheme() 方法,所以在进行动态加载 layout 资源前,我们需要修改上述方法的返回值。根据不同的情况,存在两种修改方法。

阅读全文 »

从高德 SDK 学习 Android 动态加载资源

发表于 2015-10-25 | 分类于 Android |

前不久跑去折腾高德 SDK 中的 HUD 功能,相信用过该功能的用户都知道 HUD 界面上的导航转向图标是动态变化的。从高德官方导航 API 文档中 AMapNaviGuide 类的描述可知,导航转向图标有23种类型。

诶,等等,23 种?那图标应该是放在 assets 文件夹吧?总不可能是在服务器上下载吧?

阅读全文 »
123
Chaos Leong

Chaos Leong

个人博客,技术分享

25 日志
6 分类
14 标签
RSS
© 2017 Chaos Leong
由 Hexo 强力驱动
主题 - NexT.Pisces