随笔分类 - Android 高级
摘要:NYTimes Stores 是一个缓存库,在 2017年的 AndroidMakers 大会上被介绍过。 https://github.com/NYTimes/Store 实现一个 Disk Cache 需要以下几个步骤: 1. 在 Retrofit 的 API 下 @GET("/v1/event
阅读全文
摘要:Kotlin 有 extension 可以很方便的让类继承 Parcelable 接口。 1. 项目中引入一个较新版本的 Kotlin 2. 引入 Kotlin extensions classpath "org.jetbrains.kotlin:kotlin android extensions:
阅读全文
摘要:给项目升级 gradle(3.0)和 build(27)后发现 Dagger 2 无法自动生成 Dagger Component 类了。 原因竟是我把 : kapt 'com.google.dagger:dagger compiler:2.13' 换成了 annotationProcessor 'c
阅读全文
摘要:1. 减少条目的 View 的层级。层级越少效率越高,尤其避免使用 weight。用 ConstraintLayout 可以最大程度减少层级。 2. 使用 ViewStub。如果某个 view 可能不需要被加载,可以使用 ViewStub 来实现按需加载。 3. 开启 Déboguer les co
阅读全文
摘要:sharedUserId 给不同的应用使用同一个 sharedUserId 可以运行在这几个应用间互相访问数据(数据库,SharedPreferences,文件)。 sharedUserId 一旦使用后,不可以再更改。 使用限制: 两个应用ShareUserId相同,包名相同或不同,打包时签名文件必
阅读全文
摘要:Dagger 2 依赖注入 1. 基本概念 最重要有四个概念,也是四个注解(annotation),Provide,Inject,Module,Component。 Provide 是提供者,创建实例。 Inject 就是注入,意思是去寻找这个实例。这个实例由之前的 Provide 提供。 Modu
阅读全文
摘要:Locale 是用来适配语言和地区的。在实际使用过程中,如果使用不当还是会出现错误。 首先,需要了解的是,Locale 分两种,一种是语言,一种是地区。语言比如英语,地区比如美国。区别显而易见,说英语的不止英国,而美国地区语言为英语。所以使用地区还是语言要根据实际需求进行选择。严格来说,如果针对每个
阅读全文
摘要:安卓支持的协议 RTSP (RTP, SDP)HTTP/HTTPS progressive streamingDynamic adaptive streaming on HTTP => MPEG DASHHTTP/HTTPS live streaming => VLS (m3u, m3u8) 不支持
阅读全文
摘要:基础知识: 一个统计条目包含两类,一种是 screen,另一种是 event。 Screen 包括 screen name。 Event 包括 category,action,label 和 value 四个信息。其中 value 只能是数值。 项目中integrate了GA,碰到过一些问题: 1.
阅读全文
摘要:项目中需要导入库,一般有两种情况,一种是直接路径导入,一种是导入库的 aar 文件。 1. 设置库项目 1. 在库项目的 src 目录下设置 debug 目录,里面可以添加代码或者 res 文件夹。 2. 库项目在默认情况下只按照 release 编译。所以需要在 build.gradle 下添加
阅读全文
摘要:常量 val a: Int = 5 变量 var a: Int = 5 Any:匹配任何类型 ?:nullable,比如 a?.toString,如果 a 为 null 不会出错。 函数基本结构 String 字符串中可以加参数 print("First argument: ${array[0]}"
阅读全文
摘要:从 M 开始,permission 分为 Normal permission Runtime permission Normal permission 直接在 manifest 里声明就可以用了。 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS a
阅读全文
摘要:Android 安卓使用 GCM (Google Cloud Messaging) 接收推送,然后应用根据实际情况决定做什么反应,比如显示一个 Notification。 所以安卓下,推送 Push 和 消息 Notification 是独立的。当用户紧致消息通知权限的时候,用户无法收到 Notif
阅读全文
摘要:在一个项目中,我有一种情况下启动一个新 Activity 后,按 Back 按钮时不想返回到后台的 Activity。 具体方法是, 在启动新的 Activity 的时候:
阅读全文

浙公网安备 33010602011771号