Xu的博客


  • 首页

  • 标签

  • 分类

  • 归档

Kotlin-Android-Extensions 库使用及源码解析

发表于 2020-02-06 | 分类于 Android | 阅读次数:

本文预计阅读时间为 15-20 分钟

一、Kotlin-Android-Extensions 简介

Kotlin 从首次推出到现在,可谓发展的十分迅速,独特的空安全特性吸引了很多 Android 开发者去使用,Google 也正式将 Kotlin 这门语言作为 Android 开发的首选语言。Kotlin 官方也为各位开发者提供了一系列的插件,开发文档以及 IDE 支持,本文介绍的 Kotlin-Android-Extensions 就是一款 Kotlin 的安卓开发扩展插件。

阅读全文 »

Android 单元测试和 UI 测试初步实践

发表于 2019-06-30 | 分类于 Android | 阅读次数:
* 本篇文章已授权微信公众号 guolin_blog(郭霖)独家发布

本文预计阅读时间为15-20分钟

Android 测试简介

对于大多数 Android 商业项目,基本都是处于高速迭代的开发阶段,这个阶段不仅仅是对项目的开发效率,也对项目的产品质量提出了更高的要求。

阅读全文 »

Android深入理解Notification机制

发表于 2019-02-09 | 分类于 Android | 阅读次数:

本文预计阅读时间为20分钟

本文需要解决的问题

笔者最近正在做一个项目,里面需要用到 Android Notification 机制来实现某些特定需求。我正好通过这个机会研究一下 Android Notification 相关的发送逻辑和接收逻辑,以及整理相关的笔记。我研究 Notification 机制的目的是解决以下我在使用过程中所思考的问题:

  1. 我们创建的 Notification 实例最终以什么样的方式发送给系统?
  2. 系统是如何接收到 Notification 实例并显示的?
  3. 我们是否能拦截其他 app 的 Notification 并获取其中的信息?
阅读全文 »

使用Kotlin的一些心得体会以及部分语法解析

发表于 2018-09-16 | 分类于 Android | 阅读次数:
本文预计阅读时间为10分钟

笔者最近使用Kotlin语言编写一个强化版的Android popupwindow 传送门
个人认为Kotlin语言非常优雅,与Java相比,增加了很多特性和语法糖,在使用过程中也有了一定的思考,并做了一些简单的记录。

阅读全文 »

易用版Popupwindow by Kotlin了解一下

发表于 2018-08-08 | 分类于 Android | 阅读次数:

概述

XPopupWindow,对系统的PopupWindow进行进一步封装和加强以便于使用。采用Kotlin语言,提供了许多额外的功能方法例如设置弹窗位置,调整弹窗动画等等。

项目地址

XPopupWindow

阅读全文 »

Android AccessibilityService机制源码解析

发表于 2018-06-18 | 分类于 Android | 阅读次数:

一、本文需要解决的问题

之前本人做了一个项目,需要用到AccessibilityService这个系统提供的拓展服务。这个服务本意是作为Android系统的一个辅助功能,去帮助残疾人更好地使用手机。但是由于它的一些特性,给很多项目的实现提供了一个新的思路,例如之前大名鼎鼎的微信抢红包插件,本质上就是使用了这个服务。我研究AccessibilityService的目的是解决以下几个我在使用过程中所思考的问题:

  1. AccessibilityService这个Service跟一般的Service有什么区别?
  2. AccessibilityService是如何做到监控并捕捉用户行为的?
  3. AccessibilityService是如何做到查找控件,执行点击等操作的?
阅读全文 »

EventBus 3.1.1 源码解析

发表于 2018-01-20 | 分类于 Android | 阅读次数:
* 本篇文章已授权微信公众号 guolin_blog(郭霖)独家发布

一、本文需要解决的问题

我研究EventBus源码的目的是解决以下几个我在使用过程中所思考的问题:

  1. 这个框架涉及到一种设计模式叫做观察者模式,什么是观察者模式?
  2. 事件如何进行定义,有没有相关限制?
  3. 观察者绑定观察事件的时候,绑定方法的命名有限制吗?
  4. 事件发送和接收的原理?
阅读全文 »

Butterknife 8.8.1源码解析

发表于 2017-12-17 | 分类于 Android | 阅读次数:

一、本文需要解决的问题

我研究Butterknife源码的目的是为了解决以下几个我在使用过程中所思考的问题:

  1. 在很多文章中都提到Butterknife使用编译时注解技术,什么是编译时注解?
  2. 是完全不调用findViewById()等方法了吗?
  3. 为什么绑定各种view时不能使用private修饰?
  4. 绑定监听事件的时候方法命名有限制吗?
阅读全文 »

Android 7.0 startActivity()源码解析以及对几个问题的思考

发表于 2017-12-05 | 分类于 Android | 阅读次数:

一、本文需要解决的问题

本文并不是非常详细地解释startActivity()源码每行代码的具体作用(实际上也根本做不到),所以我省略了很多代码,只保留了最核心的代码。我研究这段源码的目的是为了解决以下几个我在开发应用的过程中所思考的问题:

  1. 是通过何种方式生成一个新的Activity类的,是通过java反射生成的吗?
  2. Activity的生命周期回调方法是通过哪个类调用的,在什么时候调用的?
  3. 界面的绘制是在执行Activity#onResume()之后还是之前?
  4. 在之前的学习中,我了解到应用程序的真正入口是ActivityThread类,那么ActivityThread#main()方法是在哪里调用的?
阅读全文 »

Android adb命令的一些实际运用

发表于 2017-11-04 | 分类于 Android | 阅读次数:

在开发应用的过程中,安卓平台给大家提供了非常多的调试工具,包括Android Studio本身自带的工具,如果不想使用Studio的话,也可以在终端使用adb工具进行调试。

关于adb的用法网上有很多教程,这里推荐一个较为完整的指南https://github.com/mzlogin/awesome-adb。

今天记录一下我在实际情况中对adb的运用。

阅读全文 »
12
Xu

Xu

Tencent / 一个自律的Developer

13 日志
1 分类
5 标签
GitHub E-Mail 掘金 简书 CSDN 简历
© 2017 — 2020 Xu
0%