自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

eclipse_xu

路漫漫其修远兮 吾将上下而求索

  • 博客(440)
  • 资源 (22)
  • 问答 (1)
  • 收藏
  • 关注

原创 Flutter Dojo设计之道——骚气的闪屏动画是如何实现的

这篇文章是对Flutter动画实现思路的一篇剖析,用一个简单的动画,分析Flutter创建动画的一般步骤闪屏,实际上有两个作用。宣传。通过Logo、广告等形式,在启动时,展示要宣传的广告...

2020-08-05 18:45:00 775

原创 Flutter Dojo设计之道——利用Github打造完善的开源项目

Flutter Dojo从最开始就准备打造成一个专业的GitHub开源项目。一个好的GitHub开源项目,不仅仅是一个开发者专业技术的体现,更是一个自我展示的平台,专业的GitHub开源...

2020-08-04 08:30:00 644

原创 Flutter Dojo的设计之道

认识Flutter是在18年,移动端开发日趋成熟的情况下,很多开发者都在寻求跨平台开发的终极法门,在经过了webview、RN的痛苦之后,Flutter的出现,给跨平台开发带来了一线曙光...

2020-07-27 08:30:00 722

原创 你竟然写出这样的代码

上周开会时,跟同事在讨论,什么是好的代码。什么是好的代码,怎么定义好的代码。往简单了说,自己刚写的代码都是好的代码,别人写的都是垃圾。往复杂了说,高内聚,低耦合,OCP、SRP、ISP,...

2020-07-13 08:30:00 1480 2

原创 Flutter你竟是这样的布局

对于Flutter学习者来说,掌握Flutter的布局行为,直接决定了开发者在布局的时候是否能做到高效、快速的开发,但是初学者面对茫茫多的Widget以及各种无法预料的布局行为,总是很难将心中所想,转化为Flutter的代码。本文翻译整理自https://flutter.dev/docs/development/ui/layout/constraints当学习Flutter的人问你,为什么宽度为100的某些小部件在显示的时候,宽度不为100像素时,你的默认答案是告诉他们将小部件放在Center内,对吗?

2020-06-28 09:42:17 7796

原创 那些初学者实践 Flutter 最常出现的错误

哔哩哔哩漫画APP实践Flutter也有大半年时间了,我针对线上收集到的错误进行分析,挑选出了一些有一般代表性的错误,列在本文,可供实践 Flutte...

2020-03-16 08:47:00 3219 1

原创 Flutter修仙传——起源

天地玄黄,宇宙洪荒。日月盈昃,辰宿列张。上古时代,手机的江湖,正经历了第三纪元的更迭,塞班王朝的陨灭,让这个世界又重新恢复到了一片蛮荒之中。而几乎就在同时,天地之间诞生了两位宗师,名曰Android,名曰iOS。一瞬间,整个江湖沸腾了,这两位宗师就好像是新世界的灯塔,让整个大陆的人为之向往。短短几年时间,两位宗师在这片大陆上就建立了当今世上最大的两个门派。Android派门众最多,势力范围也最...

2020-02-20 10:55:58 1939

原创 Flutter修仙指南——初学者到底需要怎样的Demo

Flutter,毫无疑问是今年最火的技术方向,作为最早接触Flutter的一批开发者,从入门,到现在,我也经历了各种阶段,从入门时的无从下手,到略懂之后被各种蜜汁Widget弄的焦头烂额,到现在可以建立起Flutter的整体知识结构,整个过程实际上是非常痛苦的,这跟Flutter的设计思想有关——一切皆组件,这虽然是一个非常好的设计思路,但是茫茫多的Widget,会让开发者陷入泥潭无法自拔,很难建...

2020-02-19 14:03:44 1155 1

原创 Flutter the Future

Flutter Interact 2019在双12的凌晨结束了,6个多小时的大会,每一分钟都让一个开发者感到惊艳。Flutter这一年的发展极其迅速,不仅成为GitHub年度最受欢迎项目...

2019-12-16 08:30:00 767

原创 Draw Text in Deep

Android系统提供了Textview来提供文字的显示,但很多时候开发者还需要使用Canvas来绘制Text,这时候,canvas.drawText()就不像Textview的使用这么简单了,需要掌握文字的测量以及渲染的流程。Paint.FontMetricsFontMetrics是文字测量的重要方法,它提供了下面这些变量,来展示文字测量的相关参数:baseline:字符绘制基线asc...

2019-12-11 09:44:38 1345

原创 Draw Text in Deep

Android系统提供了Textview来提供文字的显示,但很多时候开发者还需要使用Canvas来绘制Text,这时候,canvas.drawText()就不像Textview的使用这么...

2019-12-10 08:30:00 549

原创 Kotlin修炼指南(二):lambda表达式的精髓

lambda表达式是Kotlin函数式编程的一个重要概念,要想掌握函数式编程,就必须熟练掌握lambda表达式,并掌握它的各种写法和实现,这些都是掌握函数式编程的基础。lambda基本形式lambda表达式有三大特征:lambda表达式存在于{}中参数及参数类型(可省略)在->左边函数体在->右边lambda表达式返回值总是返回函数体内部最后一行表达式的值这三种形式的l...

2019-11-04 09:19:52 1685 1

原创 Kotlin修炼指南

Kotlin修炼指南作用域函数作用域函数是Kotlin中的一个非常有用的函数,它主要分为两种,一种是拓展函数式,另一种是顶层函数式。作用域函数的主要功能是为调用函数提供一个内部范围,同时结合kotlin的语法糖提供一些便捷操作。作用域函数主要有下面这几种,它们的主要区别就是函数体内使用对象和返回值的区别。run函数体内使用this代替本对象。返回值为函数最后一行或者return...

2019-10-10 09:12:21 1387

原创 我做讲师那些年

最近从鸿洋那里看见一张照片,让我想起了4、5年前做讲师的那段经历,有很多感慨,跟大家分享分享。照片里面的人,从左到右分别是“郭霖”、“张鸿洋”和eclipse_xu,相信...

2019-08-05 08:40:00 982 2

原创 App安全二三事

首先插播一条自己的广告——有些朋友可能都知道了,我最近创建了一个知识星球,在这里试了一周,发现私密圈子的效率果然比群要好很多,付费门槛过滤掉了大部分广告和没有意愿学习分享的人,希望在这里能聚集更多的热爱学习热爱分享的朋友,长按下面的二维码来加入《程序员修仙指南》App安全二三事客户端防作弊,是一个很重要,但又很难做好的事情,矛与盾永远是道高一尺,魔高一丈。为什么要安全现在几...

2018-06-04 18:22:33 2752 2

原创 创建后台任务的两种代码模式

创建后台任务的两种代码模式后台任务是每个App都需要的一些行为,毕竟主线程是大爷,拖不起,伤不起,脏活累活都只能在不见天日的后台去做。最简单的后台任务,可以说是直接开一个线程就可以了,或者说来个Service,再开个线程。但这些并不是官方认证的最佳实践,实际上,Google早就考虑到了这一点,并把这些需求进行了封装,给我们提供了非常好的后台任务解决方案,并在Training上进行了讲解:官网镇楼:

2017-04-04 10:51:25 16136 7

原创 跳槽?社保?买房?

前言本文专门写给那些想在限购地区买房,又担心跳槽会影响买房资格的开发者,一篇文章了解『跳槽对限购资格的影响,到底是杞人忧天,还是危机四伏』首先我们来了解下现在买房的限购条件(以下均是外地户籍,本地户籍,你可以看看其它技术文章),我们以上海为例:结婚 && (社保连续5年 || 个税连续5年)我们可以发现,实际上最困难的地方,就是这个5年连续的社保或者个税,结婚毕竟只要9块钱,可这个社保、个税,可是

2017-02-23 11:21:32 5850 11

原创 PathInterpolator

PathInterpolator在v4 support library:Revision 22.1.0的时候,Google在兼容库中增加了几个新的类,用于创建更加真实的动画效果。Added the following interpolation classes for animation: FastOutLinearInInterpolator, FastOutSlowInInterpolator

2017-02-07 13:31:47 4447 1

原创 看AspectJ在Android中的强势插入

什么是AOPAOP是Aspect Oriented Programming的缩写,即『面向切面编程』。它和我们平时接触到的OOP都是编程的不同思想,OOP,即『面向对象编程』,它提倡的是将功能模块化,对象化,而AOP的思想,则不太一样,它提倡的是针对同一类问题的统一处理,当然,我们在实际编程过程中,不可能单纯的安装AOP或者OOP的思想来编程,很多时候,可能会混合多种编程思想,大家也不必要纠结该使用

2017-01-16 09:58:02 25735 23

原创 微信Mars——xlog使用全解析

微信Mars——xlog使用全解析如约而至,微信在12月19日开源了底层的通信库——Mars,其中有一个部分,是一个高性能的日志模块——xlog。xlog的详细介绍,大家可以参考微信技术公众号的这篇文章——微信终端跨平台组件 mars 系列(一) - 高性能日志模块xlog。本篇文章将带领大家将xlog模块抽取出来,作为一个单独的模块来使用。编译so库首先,我们clone下Mars的源码,然后进入其

2017-01-03 10:31:57 22770 6

原创 上次发版我就改了一行代码!

动态更换应用Icon产品:我们可以动态更换App在Launcher里面的Icon吗 开发:不可以 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:不可以 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:不可以 产品:我们可以动态更换App在Launcher里面的Icon吗 开发:让我想想……原理1——activity-alias在Androi

2016-12-22 09:55:54 7488 21

原创 为信仰充值——GoogleDeveloperDay

GoogleDeveloperDay12月14日有幸参加了GoogleDeveloperDay大会,本来当天晚上就准备连夜记录下这些参会的感受,但是由于一些事情给耽误了,所以直到周末才有时间给大家分享下。本次大会会场很多,所以我也没法参加所有的会场,这里就我参加的一些会场来进行下分享,总得来说,我将这次大会的分享分为以下几个主题:未来新技术Web引领技术变革Android走向标准化下面我们一

2016-12-19 10:09:18 5660 1

原创 AccessibilityService从入门到出轨

AccessibilityService从入门到出轨AccessibilityService根据官方的介绍,是指开发者通过增加类似contentDescription的属性,从而在不修改代码的情况下,让残障人士能够获得使用体验的优化,大家可以打开AccessibilityService来试一下,点击区域,可以有语音或者触摸的提示,帮助残障人士使用App。当然,现在AccessibilityServi

2016-12-13 11:04:31 22110 6

原创 ELK前端日志分析、监控系统

前端日志与后端日志不同,具有很强的自定义特性,不像后端的接口日志、服务器日志格式比较固定,大部分成熟的后端框架都有非常完善的日志系统,借助一些分析框架,就可以实现日志的监控与分析,这也是运维工作的一部分。什么是ELKELK在服务器运维界应该是运用的非常成熟了,很多成熟的大型项目都使用ELK来作为前端日志监控、分析的工具。那么首先,我们来了解下什么是ELK,ELK实际上是三个工具的集合:E:Elas

2016-11-28 10:23:11 15054 2

原创 华山论剑之契约式编程与防御式编程

背景事情的来由还要从几十几亿年前的一次星球大爆炸说起,sorry,背错台词了,是从几天前讨论接口返回数据和几个月前讨论课件本地数据结构说起,简单的说,就是碰到约定好的内容出现异常,是我们在程序中内部作兼容处理,还是抛出去。打个比方,我们要解析一段json,约定这个json的格式,只能是正常格式,或者是空,那么一旦返回json的方法返回了一个『既不是正常格式,又不是空的异常值』,程序该如何处

2016-11-21 10:05:10 9086 11

原创 Clipboard还能玩出花

Clipboard是Android提供的一个系统服务,它提供了一个全局的剪贴板,让文字、图片、数据,在多App间共享成为可能,今天,我们来了解下它的真面目,以及被玩坏的新姿势。老规矩,Google API文档镇楼: https://developer.android.com/guide/topics/text/copy-paste.html说实话,如果不是为了让Clipboard玩出花,我真不想写

2016-11-16 10:17:58 10159 5

原创 一触即发——App启动优化最佳实践

一触即发 App启动优化最佳实践 文中的很多图都是Google性能优化指南第六季中的一些截图Google给出的优化指南来镇楼 https://developer.android.com/topic/performance/launch-time.html闪屏定义Android官方的性能优化典范,从第六季开始,发起了一系列针对App启动的优化实践,地址如下: https://www.yout

2016-11-07 10:11:25 18772 9

原创 模拟自然动画的精髓——TimeInterpolator与TypeEvaluator

模拟自然动画的精髓——TimeInterpolator与TypeEvaluator在今天的文章开始之前,有个忙想请大家帮一下,希望在京东、淘宝、当当、亚马逊购买了我的书《Android群英传:神兵利器》的朋友们,帮忙去网店上给个简短的评价,举手之劳,还是多谢大家啦~~ 本文绘图软件 https://www.desmos.com/calculator通过属性动画,我们可以模拟各种属

2016-09-29 10:23:37 12868 9

原创 自律给你自由——设计布局的新姿势

ConstraintLayout基本界面在今天的文章开始之前,有个忙想请大家帮一下,希望在京东、淘宝、当当、亚马逊购买了我的书《Android群英传:神兵利器》的朋友们,帮忙去网店上给个简短的评价,举手之劳,还是多谢大家啦~~更新Android Studio 2.2之后,更新了布局设计器,同时,引人了ConstraintLayout,这一布局,旨在降低布局层级,其主要界面如下所示:这个界面主要分成下

2016-09-22 09:59:47 17001 18

原创 推送 从入门到放弃

推送推送简直就是一种轻量级的骚扰方式自从有了推送,各个公司基本上都在使用推送,这确实是一个比较好的提醒方式,Android较iOS强的一个部分,也就是在于Android的Notification。Google教育我们利用好Android的通知模块,做更多友好的交互,可这句话,翻译成中文,不知不觉,就变成了在Notification中推送各种广告,而且仅仅就是一些广告,Notificatio

2016-09-19 10:14:22 17316 9

原创 《Android群英传:神兵利器》勘误

我的新书《Android群英传:神兵利器》刚刚上市不久,得到了很多开发者的鼓励和肯定,我在此表示由衷的感谢!本篇为本书的勘误,由于时间仓促,书中难免会存在一些错误,特在此列出这些勘误,也希望广大读者发现错误后,及时在本文评论中贴出来,我将收录到下次的修订中,感谢大家的支持和包容~~第二章Git这一章中的代码都是从Mac终端中直接复制出来的,有些开发者可能不太熟悉终端的显示格式,所以看上去可能有点疑惑

2016-08-28 11:08:03 6445 10

原创 PathMeasure之迷径追踪

PathMeasure之迷径追踪Path,不论是在自定义View还是动画,都占有举足轻重的地位。绘制Path,可以通过Android提供的API,或者是贝塞尔曲线、数学函数、图形组合等等方式,而要获取Path上每一个构成点的坐标,一般需要知道Path的函数方法,例如求解贝塞尔曲线上的点的De Casteljau算法,但对于一般的Path来说,是很难通过简单的函数方法来进行计算的,那么,如何来定位任意

2016-07-22 10:49:18 14769 12

原创 贝塞尔曲线开发的艺术

贝塞尔曲线开发的艺术一句话概括贝塞尔曲线:将任意一条曲线转化为精确的数学公式。很多绘图工具中的钢笔工具,就是典型的贝塞尔曲线的应用,这里的一个网站可以在线模拟钢笔工具的使用:http://bezier.method.ac/贝塞尔曲线中有一些比较关键的名词,解释如下:数据点:通常指一条路径的起始点和终止点控制点:控制点决定了一条路径的弯曲轨迹,根据控制点的个数,贝塞尔曲线

2016-07-20 10:06:04 25318 22

原创 Android Vector曲折的兼容之路

Android Vector曲折的兼容之路两年前写书的时候,就在研究Android L提出的Vector,可研究下来发现,完全不具备兼容性,相信这也是它没有被广泛使用的一个原因,经过Google的不懈努力,现在Vector终于迎来了它的春天。 在文章后面,会给出本文的Demo和效果图,并开源在GithubVector DrawableAndroid 5.0发布的时候,Google提供了Vect

2016-07-06 13:29:13 24638 24

原创 Android Studio集成Bug管理系统

Android Studio集成Bug管理系统在Android开发中,对于Bug的管理、追踪是非常重要的,通常,开发和Bug追踪是分开的,提交代码后,需要打开网页来进行Bug管理。但是!!!你不觉得很麻烦吗,在Android Studio中,你可以进行版本管理,那么为什么就不能进行Bug管理呢?确实,你说的对,完全是可以的!!!配置Bug管理服务器选择Tools菜单中的Tasks & Context

2016-06-08 17:37:28 8338 5

原创 隐藏Boss——ddmlib使用入门

ddmlib使用入门ddmlib是DDMS工具的核心,堪称Android SDK中最不为人知的隐藏Boss,它封装了一系列对ADB的功能封装。DDMS工具虽然已经非常强大,可以展示非常多的Android性能监测数据,但是,它有一个很大的缺点,就是很多数据不能导出,而且很多功能也不能达到自定义的需求,因此,基于这些问题,利用ddmlib来完成自定义的功能定制,就是非常有用的了。完成DDMS功能的自定义

2016-05-04 17:10:26 13347 4

原创 一个字符解决Gradle aar编译参数传递问题是怎样一种体验

aar是Android Studio提供的一个依赖库系统,可以很方便的让主项目来使用库项目的代码、资源。但如何来给一个aar库传递编译参数呢(传递代码配置是很方便的,通过接口即可,但编译参数是不行的)?这个场景还是非常常见的,例如下面的这样一个项目:├── app│ ├── build.gradle│ ├── libs│ └── src├── build.gradle├── g

2016-04-29 17:22:18 8831 11

原创 Gradle自定义插件

Gradle自定义插件在Gradle中创建自定义插件,Gradle提供了三种方式:在build.gradle脚本中直接使用在buildSrc中使用在独立Module中使用开发Gradle插件可以在IDEA中进行开发,也可以在Android Studio中进行开发,它们唯一的不同,就是IDEA提供了Gradle开发的插件,比较方便创建文件和目录,而Android Studio中,开发者需要手动

2016-04-22 17:31:56 40766 9

原创 30天入门 Android 开发, Google 与你一起圆梦

Google Study Jams

2016-03-26 10:52:24 5903 1

原创 Bitmap.recycle引发的血案

从Bitmap.recycle说起在Android中,Bitmap的存储分为两部分,一部分是Bitmap的数据,一部分是Bitmap的引用。在Android2.3时代,Bitmap的引用是放在堆中的,而Bitmap的数据部分是放在栈中的,需要用户调用recycle方法手动进行内存回收,而在Android2.3之后,整个Bitmap,包括数据和引用,都放在了堆中,这样,整个Bitmap的回收就全部交给

2016-01-25 16:26:23 14013 9

ListViewAcyncLoader

ListViewAcyncLoader

2015-04-03

IntentServiceTest

IntentServiceTest、

2015-03-31

ASM_2_50 android screen monitor

android screen monitor

2014-11-25

ASM android screen monitor

ASM android screen monitor

2014-11-25

ASM_2_50手机屏幕监视工具

ASM_2_50 Android Screen Monitor Android Screen Monitor

2014-11-25

android动画图标

android动画图标I am not a gif maker,I am a developer

2014-10-31

Android动画机制全解析source

Android动画机制全解析source

2014-08-06

4.2到4.4后栈结构变化

4.2到4.4后栈结构变化

2014-05-23

Python Standard Library

Python Standard LibraryPython Standard Library

2014-05-20

50.Android.Hacks

50.Android.Hacks

2014-05-12

通过正则表达式生成数据

通过正则表达式生成满足条件的随机数据

2014-03-20

path菜单控件封装

path菜单控件封装

2014-01-03

android sdk r21 part2

android sdk r21 part2

2013-03-15

android sdk r21 part1

android sdk r21

2013-03-15

Access实例

Access实例

2013-03-14

android UI

android ui 设计

2013-03-14

VBA代码格式化工具

在VBA代码中点击右键选择Indent就可以选择格式化相应的代码

2012-11-22

电信光猫与TP-Link无线路由器连接设置.doc

电信光猫与TP-Link无线路由器连接设置.doc

2012-11-11

FlexPaper源码

FlexPaper源码和修改后的源码,包括去logo等功能

2012-11-06

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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