自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xu_1215的博客

Android / 腾讯微信 个人博客:https://dev-xu.cn

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

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

2020-02-06 17:56:45 2708

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

* 本篇文章已授权微信公众号 guolin_blog(郭霖)独家发布本文预计阅读时间为15-20分钟Android 测试简介对于大多数 Android 商业项目,基本都是处于高速迭代的开发阶段,这个阶段不仅仅是对项目的开发效率,也对项目的产品质量提出了更高的要求。通常大型项目都是通过黑盒测试等方式来提供质量相关的保障,但同时笔者认为也需要 Android 端的单元测试以及能自动在 Andr...

2019-07-27 22:51:39 469

原创 Android 深入理解 Notification 机制

本文预计阅读时间为20分钟本文需要解决的问题笔者最近正在做一个项目,里面需要用到 Android Notification 机制来实现某些特定需求。我正好通过这个机会研究一下 Android Notification 相关的发送逻辑和接收逻辑,以及整理相关的笔记。我研究 Notification 机制的目的是解决以下我在使用过程中所思考的问题:我们创建的 Notification 实例最终...

2019-03-06 20:15:42 855

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

本文预计阅读时间为10分钟笔者最近使用Kotlin语言编写一个强化版的Android popupwindow 传送门个人认为Kotlin语言非常优雅,与Java相比,增加了很多新的特性和语法糖,在使用过程中也有了一定的思考,并做了一些简单的记录。关于空安全(Kotlin的四个特殊操作符)Kotlin相比于Java,做出了一个重大的改进,就是提出了一个代码空引用问题(就是俗称的NullPoi...

2018-09-18 11:52:49 442

原创 易用版Popupwindow by Kotlin了解一下

概述XPopupWindow,对系统的PopupWindow进行进一步封装和加强以便于使用。采用Kotlin语言,提供了许多额外的功能方法例如设置弹窗位置,调整弹窗动画等等。项目地址XPopupWindow预览特性简单快速地创建一个自定义弹窗以一种相对便捷的方式设置弹窗位置更加自由地调整你的弹窗动画开始使用Gradle:allpr...

2018-08-11 12:12:42 1129

原创 Butterknife 8.8.1源码解析

一、本文需要解决的问题我研究Butterknife源码的目的是为了解决以下几个我在使用过程中所思考的问题:在很多文章中都提到Butterknife使用编译时注解技术,什么是编译时注解?是完全不调用findViewById()等方法了吗?为什么绑定各种view时不能使用private修饰?绑定监听事件的时候方法命名有限制吗?二、初步分析基于Butterknife 8.8...

2018-06-21 15:59:41 616

原创 EventBus 3.1.1 源码解析

* 本篇文章已授权微信公众号 guolin_blog(郭霖)独家发布一、本文需要解决的问题我研究EventBus源码的目的是解决以下几个我在使用过程中所思考的问题:这个框架涉及到一种设计模式叫做观察者模式,什么是观察者模式?事件如何进行定义,有没有相关限制?观察者绑定观察事件的时候,绑定方法的命名有限制吗?事件发送和接收的原理?二、初步使用为了研究源码的方便,...

2018-06-21 15:56:47 457

原创 Android AccessibilityService机制源码解析

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

2018-06-21 15:54:47 931 1

原创 Android理解Looper、Handler、Message三者关系:

Handler 、Looper、Message都与Android异步消息处理线程有关!当你的应用进程被创建的时候,应用进程的主线程(main thread)就建立一个消息队列,操纵top级别的应用对象(比如activities、broadcast receivers等)和它们创建的任何窗口。因为效率的考虑,所有的View和Widget都不是线程安全的,所以相关操作强制放在同一个线程,这样就可以避免多

2016-05-17 15:01:21 241

原创 Android Volley和Android-async-http两个网络框架比较

Android Volley和android-async-http网络框架使用

2016-04-17 16:20:15 1573 1

原创 Android之PreferenceFragment的使用:

当我们在开发项目的时候,经常需要使用到选项设置。设置由用户选定,并通过Preference保存。Android提供了这样一个便捷的基类PreferenceFragment。简单步骤: 1.创建xml文件<?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/

2016-01-27 23:27:30 341

原创 Android之SurfaceView的使用

使用的一些重点: 1.自定义一个View继承于SurfaceView并实现回调(Callback)和OntouchListener 2.自定义draw和clear方法,利用Paint和Pathpublic class MyView extends SurfaceView implements Callback, OnTouchListener{ private Paint paint =

2016-01-27 12:06:12 301

原创 Android之Widget小组件

下面是我学习Widget的一些笔记:一、特点:1.快捷方便2.个性化定制和功能3.及时控制更新显示内容二、步骤:1.绘制Widget布局2.配置基本属性3.定义AppWidgetProvider4.提供Service或其他,在provider调用三、如何显示具体内容1.创建一个RemoveViews对象,创建该对象时可以指定加

2015-12-06 00:22:41 380

原创 大一新生第一次写java程序,用System.currentTimeMillis() 获取当前时间

大一新生,看到相关书籍有这道题,要用System.currentTimeMillis() 获取当前时间网上似乎都是创建Date或者Calender对象我想了想还是用最原始的方法写吧~代码如下,大神有问题可以指出~

2015-08-11 22:42:14 1427

提示
确定要删除当前文章?
取消 删除