Android日常学习笔记整理(一)

写在前面

随着Android技术的不断发展和从业开发者人群剧增,现在越来越多的公司对Android开发者要求不断增高,如何从公司面试或同行竞争中脱颖而出,这就不得不要求自己不断学习或总结技术知识。本系列旨在跟同行分享平时开发学习中的一些技术及知识,文中若有不得体或不正确之处,请联系我修改。

Android日常学习笔记整理(二)

Android 指南

原文

曾经因为过时的无关紧要的一次性博客文章和教程中的信息而感到沮丧吗?您搜寻了多少次才发现答案仅存在于2岁的StackOverflow帖子中?我们认为必须有更好的方法。为什么社区不能一起为Android(或任何平台)的各个方面创建有用且详细的文档?我们绝对没有理由再去处理含糊不清的内容。

CI做到90%的行覆盖率,真能发现BUG吗

原文

如何优雅的评估测试有效性?
为了全自动的进行测试有效性评估,我们做了一个变异机器人,其主要运作是:

  • 往被测代码中写入一个BUG(即:变异);
  • 执行测试;
  • 把测试结果和无变异时的测试结果做比对,判断是否有新的用例失败;
  • 重复1-3若干次,每次注入一个不同的Bug;
  • 统计该系统的“测试有效性” 。

GraphQL入门有这一篇就足够了

原文

在实际工作中往往会有这种情景出现:比如说我需要展示一个游戏名的列表,可接口却会把游戏的详细玩法,更新时间,创建者等各种各样的 (无用的) 信息都一同返回。

问了后端,原因大概如下:

原来是为了兼容PC端和移动端用同一套接口
或者在整个页面,这里需要显示游戏的标题,可是别的地方需要显示游戏玩法啊,避免多次请求我就全部返回咯
或者是因为有时候项目经理想要显示“标题+更新时间”,有时候想要点击标题展开游戏玩法等等需求,所以把游戏相关的信息都一同返回

简单说就是:

  • 兼容多平台导致字段冗余
  • 一个页面需要多次调用 API 聚合数据
  • 需求经常改动导致接口很难为单一接口精简逻辑

Kotlin 在Android开发中那些让人舒适的地方

原文

  • 字符模板
  • 空安全
  • 延迟加载
  • 方便易读的循环
  • 强大易用的迭代器
  • 默认参数
  • DataClass
  • 简短而强大的标准函数库
  • 通吃的when(结合密封类会让代码更舒适)
  • 扩展
  • 简单的Bundle 快速的Parcelable

关于 BadTokenException,Toast 可能会出现这个问题

原文
解决Toast崩溃几点方法
https://www.wanandroid.com/wenda/show/9702

屏蔽连续点击的方案有哪些?

基本的判断逻辑,能想到的有三种,分别是:
1.每次计算最后点击时间与当前时间的间隔,并判断是否超过指定时长。这种方法也是最最常见的;
2.举例的ButterKnife,它原理也很简单,就是:必须要等上一次事件处理完成之后,才接受新的事件(用flag标记,事件处理期间忽略多余的事件)。
3.借助线程池的延迟执行机制:每次处理事件之前,根据一个flag来判断应不应该处理该事件,当接收了事件之后,把这个flag标记为无效。事件处理完成后,向线程池提交一个延时执行的任务,这个任务就是把flag重新标记为可用,延时的时长,就是我们指定的间隔时长。所以,在指定的间隔时长之内到达的事件,也是会被直接忽略掉的,直到延时任务被执行(flag被重新标记可以)后,才继续接收新的事件,周而复始。这也是Rxjava的throttleFirst操作符的原理。
4.最简单粗暴的方案:在BaseActivity中重写事件分发函数,判断Down事件的间隔事件(简单粗暴,代码量少,全局防重复点击,改动少,可能存在潜在问题,但是目前没遇到)
5.aop,分为注解的方式和直接定位,注解的方式用于自己定义那些地方需要拦截,直接定位onclick的方式用于全局。
6.j神的rxbinding(好像是基于rxjava操作符的)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,924评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,781评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,813评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,264评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,273评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,383评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,800评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,482评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,673评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,497评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,545评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,240评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,802评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,866评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,101评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,673评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,245评论 2 341