Android Weekly Issue #284

发布在 Android Weekly

November 19th, 2017

Android Weekly Issue #284

本期内容丰富.有趣的有如何搭建真机测试平台,Proguard里面各类keep的区别,如何运行时获得泛型类型,Android的Internal Storage到底是什么,以及Android Things的一篇文章.

代码部分有介绍了一个twiiter的序列化库,还有个比较炫酷的圆形Menu可以应用到自己项目中去.

阅读全文

Android Weekly Issue #283

发布在 Android Weekly

November 12th, 2017

Android Weekly Issue #283

本期内容包括Gradle相关的几篇,如封装繁杂依赖的技巧,通过kotlin dsl让gradle支持kotlin,以及gradle入门指南等,还包括RxJava2的迁移介绍,以及关于IoT,图片压缩,Security相关的文章.
AS3.0也正式发布,feature满满,Firebase退出了Rx版本,Kata 测试教程也放出Kotlin版本供大家学习.

阅读全文

Android Weekly Issue #282

发布在 Android Weekly

November 5th, 2017

Android Weekly Issue #282

本期内容相较上期丰富许多, 技术干货当然也有不少, 如Koin来替代Dagger应用在Kotlin项目,Grox做一个面向状态的程序,以及Room实现Relation的介绍,如何解决Architecture Component在Fragment上的漏洞,还有Kotlin Coroutines里面的一些新概念(Actor,Channel等).
当然也包含一些方法论,如将项目转Kotlin的好处及其方法,Java数据结构的基础介绍,伦敦Droidcon大会概况等等.

代码亮点主要在Koin的使用,可以特别关注一下.

阅读全文

Android Weekly Issue #281

发布在 Android Weekly

October 29th, 2017

Android Weekly Issue #281

本期内容不多,包含了小众DI库牙签帮助测试的文章,Kotlin中Delegate的强大之介绍,以及基于Google Actions与Dialog Flow的AI应用,Android 8.1 API的改动与增强.
第三方库有一个kotlin写的时间计算库比较有趣,代码部分Kolin的Delegate可以看两眼,没准可以简化你的项目哦.

阅读全文

Android Weekly Issue #280

发布在 Android Weekly

October 22nd, 2017

Android Weekly Issue #280

本期主要内容包含几篇关于迁移kotlin以及kotlin帮助提升test与其他实践的文章,还包含迁移过程遇到的一些坑的总结,以及为什么要迁移的方法论.还包含Clean Architecture的HighLevel分析,以及为何要坚持Native App开发的讨论分析.

比较有意思的是开启文本大小测试模式,文字都变成了火星文,帮助你测试多语言环境truncate的问题.

Lib部分有一个比较炫酷的开源App, Ribble, 可以作为学习Modern Android开发的playground.

阅读全文

Android Weekly Issue #279

发布在 Android Weekly

October 15th, 2017

Android Weekly Issue #279

本期主要内容包含与Clean Architecture相关的两篇(包结构,离线app),IoT,Google AI (DialogFlow),以及Kotlin Coroutines的相关知识,还包含如何使用Kotlin以及RxJava2提升编码效能的文章,以及Dagger与Firbase配置的文章,以及一篇有意思的制作世界上最小APK的文章.

代码主要看点在于Kotlin Coroutines.

阅读全文

Android Weekly Issue #276

发布在 Android Weekly

September 24th, 2017

Android Weekly Issue #276

本期内容包括LifeCycle与Architecture的相关文章,以及新的JSON解析库Moshi的介绍,还有
ConstraintLayout的一些特性,还包括一个加速你Debug的小技巧,喜欢数据库的也不容错过,有介绍Realm,Room,ObjectBox,Anko SQLite等等的对比与分析的文章哦.

阅读全文

朝花夕拾

发布在 nonsense

许久未来, 博客已落草, 也不知是否有人记得, 那个曾经热爱技术与生活的男孩, 曾经来过这里.

时间总是停不下来, 一天一天的过着, 形形色色的人, 穿插于你的身旁, 总有那么一段时间, 你为自己定下了一个目标, 留下了一个梦想, 或许不只一个.

阅读全文

清楚与明白

发布在 nonsense

许久未更新, 已渐渐落草, 回顾过去一年, checklist总归是完成为多, pending为少, 但这并不意味着很多事情都得到了清楚的解决, 也有很多事情可能还需要时间去琢磨才能想的明白.

阅读全文

紧接上期

账号系统建立 Account Authenticator

如果只需要借助系统更新服务(SyncAdapter)来做定期维护, 那么通过前两部分的介绍, 已经可以达到所预期的目标了.

本期话题将会解决

  • 添加账号
  • 获得授权

这些服务全部都是可以跨进程的操作, 完成了这些操作, 我们就可以完成像QQ 新浪微博 一样的功能, 账号系统可以为第三方应用授权.

阅读全文

紧接上一部分

更新系统的建立

更新系统即是所说的SyncAdapter, 实现了这个系统服务, 就可以利用系统的定时器对程序数据ContentProvider进行更新, 也可以在系统设置->账号里面控制开启或者关闭(如果SyncAdapter的配置文件允许的话)

完成这些服务的布置大概有三步

  • 创建SyncService并提供SyncAdapter的IBinder接口以便让系统调用
  • 声明Sync服务, 并制定SyncAdapter的配置文件
  • 生成账户启动Sync
阅读全文

账号与同步

Android从API Level5就有了自己的同步服务, 但很少有程序使用到, 一来大多数程序不需要所谓的同步,二来很多程序自己实现了后台的同步更新. 随着Android程序开发的逐渐程序, 越来越的的程序使用到了系统提供的服务来完成账号认证同步更新, 我们可以打开系统设置–>账号进行查看, 就能看到很多应用都这么做了. 这样做有两个好处, 一来系统服务做更新同步(SyncAdapter)唤醒更加绿色环保, 二来实现了账号认证(Authenticator)还可以为其他应用提供第三方认证服务, 如大家常见的使用QQ或者微博账号登录, 由于你手机上安装的QQ与微博实现了该接口, 便可以通过开发者账号获得授权Token来做第三方认证.

本期博客分三部分来讲, 通过一个小应用(Part Three提供源码)来概述所有相关内容, 大体章节如下

  • 数据模型建立与加载 (ContentProvider LoaderManager)

  • 更新系统建立 (SyncAdapter)

  • 账号系统建立 (Account Authenticator)

下面先来讲讲如何轻松本地数据库并完成数据到界面的加载

阅读全文

依赖注入(DI)
有些人说Android使用依赖注入是因为很多J2EE的人带来的异域思想, 满天飞的注解让人莫不找头脑, 使简单的行为变得复杂, 表面简化, 实则复杂.

但是在使用其一段时间后, 确实还是挺不错的. 正如其思想之精髓, 让你只关注结果,而忽略制作过程, 呵呵, 跟周星驰他老母恰巧相反.

那么下面就讲讲Android开发中常常的用的一些DI框架, 来简化亲们的开发流程吧.

阅读全文

Joda Time

Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。

Install

Joda已经更新到2.6版本,jar包的下载可以到Joda Jar进行下载.
如果使用gradle管理,可添加

1
2
3
dependencies {
compile 'joda-time:joda-time:2.6'
}
阅读全文

Android Activity所涉及的四种Launch Mode与其重要的几个属性,如taskAffinity,allowTaskReparenting等,包括Intent内的各种Flag的功效,一直是为广大开发者所苦恼,网上文章众说纷纭,开发文档又及其模糊且与实际情况有一定偏差,那么今天我们就来真正的揭秘,还原事实的真相。
阅读全文

Robolectric in Android Studio

发布在 Android

Robolectric

Robolectric is a unit test framework that de-fangs the Android SDK jar so you can test-drive the development of your Android app. Tests run inside the JVM on your workstation in seconds. With Robolectric you can write tests like this:

1
2
3
4
5
6
7
8
9
10
11
12
// Test class for MyActivity @RunWith(RobolectricTestRunner.class)
public class MyActivityTest {

@Test public void clickingButton_shouldChangeResultsViewText()
throws Exception {
Activity activity = Robolectric.buildActivity(MyActivity.class).create().get();
Button pressMeButton = (Button) activity.findViewById(R.id.press_me_button);
TextView results = (TextView) activity.findViewById(R.id.results_text_view);

pressMeButton.performClick();
String resultsText = results.getText().toString();
assertThat(resultsText, equalTo("Testing Android Rocks!")); } }

Robolectric makes this possible by rewriting Android SDK classes as they’re being loaded and making it possible for them to run on a regular JVM.


阅读全文

Prince Chen

Xidian B/M EE
热爱生活, 关爱老婆
友情链接 圣骑士


Worker


Xi'an