自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SAHADEV的专栏

希望我的文章可以促进您的进步

翻译 Android官方开发文档Training系列课程中文版:目录

本博客翻译文章源文件都已开源。 在翻译了一篇安卓的官方文档之后,我觉得应该做一件事情,就是把安卓的整篇训练课程全部翻译成英文,供国内的开发者使用,尤其是入门开发者,虽然现在网络上有很多入门课程,但是还是依靠官方文档学习来的靠谱,安卓官方文档是一系列的课程,使每个人可以系统的掌握安卓的知识。

2016-03-15 13:30:27 8668 15

原创 前端开发者的福音!通过拖拽就可生成Vue代码的平台来了!

Vue组件代码生成平台 Vue组件代码生成平台是一款面向Vue开发者的拖拽式组件代码生成工具。通过它可以快速搭建Vue组件的代码骨架结构。开发者可在此基础上进行二次开发。 目前该平台非常适合快速搭建一个常见的数据查询组件,仅需要拖三个组件进来即可完成,例如: 界面及操作介绍 主界面主要分为三块区...

2020-11-12 10:13:21 1370 0

原创 我在小程序工程化方面的一些实践

我在小程序工程化方面的一些实践 早期做小程序时,还是原始时代,项目结构混乱,各种冗余代码,每次迭代时由于高昂的维护成本,极为头疼。遂在一次次的更迭中完成了基础组件的初版,极为酸爽。从此之后在当时的情况下只需要关注于业务,对于通用的该封装分装,该分层分层,该解耦解耦,也出了一款独立于业务之外的基础组...

2020-03-04 20:20:36 285 0

原创 随机/线性颜色生成器(RandomColorGenerator)

最近在实现https://javascript30.com/的课程,其中有一门课程要求利用Canvas实现一个效果,我发现这个效果其中的颜色是线性生成的。结合我之前已经写过一个随机颜色生成器,就想将这个随机颜色生成器写出来,作为一个工具使用,虽然实际应用场景不大,就当练练手了。 本示例中使用了大量...

2020-02-25 21:39:14 2329 0

原创 整理一波国外前端学习网站

国内的普通开发者对于掌握一门新的技术不知道从哪里下手,看哪些书。为了获得相关知识会关注各种公众号、购买各种视频课程来学习,但由于这些内容本身有碎片化的特点,效果往往不太理想。以至于付出了大量的时间到最后不能够形成系统化的知识。 我同样也遇到过类似的问题,不是说公众号与视频课程不好,这些也有自身的优...

2020-02-14 16:58:50 6837 3

原创 前端应用开发架构图谱

个人整理的前端架构图谱,之后会根据这个图谱不断的完善内容。希望这个图谱可以对开发同学的知识脉络有个梳理的作用。 项目创建 脚手架 IDE脚手架 IDE或社区提供的脚手架 业务型脚手架 根据业务特点通过Node写的工具,用于降低高频手写操作 通用组件 Element UI Ech...

2020-02-11 17:52:50 3256 4

翻译 Webpack构建性能优化指南

本指南翻译自webpack官方性能指南文档:https://webpack.js.org/guides/build-performance/ 构建性能 本指南涵盖了对增进构建或编译性能的一些有效的提示。 General 以下提示对开发环境或者生产环境都有效。 Stay Up to Date 保持...

2019-12-24 15:39:22 606 0

原创 记一次Vue框架升级

框架升级背景 公司目前业务迭代很快,且大部分的流量都在公众号上。然而我们公众号所使用的框架却是3年前的Vue 1.0.16。面对Vue这3年来带来的无数新特性,我们只能望洋兴叹:看得见,摸不着,因为升级这事看起来太难了。 经常可以听到老同事、新同事对老框架频频吐槽,也听到很多同学说升级太难了,完全...

2019-12-12 17:43:07 930 0

原创 axios网络请求框架源码解析

早期axios0.1.0版本做了对IE浏览器与包含XmlHttpRequest的浏览器的支持。并且做了对请求参数拼接、Json对象序列化等基本功能。 到0.19.0版本时,内部请求已经变为了在Node环境下与主流浏览器的支持,其中Node环境下支持http请求与https请求。并且支持取消、拦截。...

2019-06-13 17:11:18 1471 3

原创 Promise源码解析

Promise源码解析 纸上得来终觉浅,绝知此事要躬行。之前只是很浅显的知道Promise的用法,也大概猜测到它的内部是如何实现的。但是总是有一种不深究一下就不踏实的感觉。于是从npm上获得早期的Promise源代码,拿过来读一读,做一做笔记。 Promise的源码写的非常的巧妙,凭空阅读会陷入入...

2019-05-31 20:34:59 1414 0

原创 深入解析Node.js setTimeout方法的执行过程

深入了解setTimeout源码之前,本有两个选择。一是通过chromium源码分析,二是通过Node.js源码分析。后来发现第一种方案的源码获取成本太大,于是从Node官网获取了几十兆的代码用来了解。 setTimeout方法定义于timers.js文件中,源码整体如下: function se...

2019-05-30 18:59:13 1784 1

原创 Vue源码探究笔记

一切从这张图开始: 数据的入口: /** * ViewModel exposed to the user that holds data, * computed properties, event handlers * ...

2019-02-27 20:06:57 4520 0

原创 VS Code HtmlFindClass 插件介绍

这款插件诞生于工作中,在写大量的前端代码之后,发现有的工作比较重复,浪费时间,于是想能不能通过工具来解决。期初是拿Java写的,但是它不利于推广,因为很多前端同学不掌握Java。以至于是一直我自己在使用。 后来很长时间之后,我自己再用还得查一查以前的使用文档。这还得了,瞬间就有一个想法,搞一个插件...

2019-01-30 15:49:00 450 0

原创 每日优鲜小程序基础组件介绍

每日优鲜小程序基础组件介绍1.基础组件介绍2.基础组件的结构与作用3.基础组件的接入方法初次引入初始化更新与维护基础组件接入 1.基础组件介绍 小程序基础组件基于每日优鲜主商城小程序业务实践演变而来。 基础组件的名称为:mini_app_base_module。 基础组件的项目地址为:https:...

2018-09-29 19:28:03 2253 0

原创 EventBus1.0.1源码解析

很久没有更新过源码解析类文章,以下内容作为源码分析类的笔记。分析方法适用于其它源码分析。 分析工具说明 许久以来,阅读源代码最得力的工具就非Source Insight莫属了。然,后来微软出了一款轻量级但功能强大的IDE就没Source Insight什么事了。微软的这款IDE就是大名鼎鼎...

2018-04-11 16:42:51 410 0

原创 Githug第42关rebase_onto通关秘籍

Githug是一个用来了解、熟悉Git的一个非常好的游戏。 目前网站上收录的都是之前只有55关的解题方法,没有新增的rebase_onto这一关的内容。现在Githug一共有56关。现将新增的42关的解答内容更新如下: 第42关的题目如下: Name: rebase_onto Level...

2018-01-23 15:10:32 1058 0

原创 Android自动化测试探索

Android自动化测试探索前言通常来说,我们开发完成产品之后,都是由测试组或者是我们自己点一点,基本上没有问题了就开始上线。但是,随着时间的堆叠,一款产品的功能也越来越多。这时,我们为了保证产品的质量,就需要在每次测试时将所有的流程都走一遍。然而,对于一款庞大的产品来说这是困难又复杂的。因为我们...

2017-08-04 19:23:56 3566 8

原创 使用Kotlin开发Android应用初体验

使用Kotlin开发Android应用初体验昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢?Kotlin的简要介绍在开发之前,很多同学一定有很多疑问,Kotlin到底有啥好处,怎么和现有的项目共存呢?Java那么些特性Kotl...

2017-05-18 17:20:17 24748 6

原创 简明扼要的反射入门教程

反射反射作为RTTI语言(比如Java)的基础之一被很多人所熟知,但是有些同学对反射本身还是懵懵懂懂的,不是很清楚它到底有什么用。今天这节课我们就对反射本身来一个通体的认知。定义反射所在的包为:java.lang.reflect它的英文版定义是:Reflection allows programm...

2017-04-28 14:28:49 3832 1

原创 探索Glide对Gif图片资源的获取、解析过程

大家新年好,很久没写博客了。今天我们来探索一下Glide是如何支持Gif图片加载的。 本篇博客的目的 了解代码分析的基本思路与方法 了解Glide是如何对Gif图片进行支持的 探索背景 为什么会有这么一个想法呢,一来一直对Glide是知其名而不知其所以然,二来还主要是工作中需要对它...

2017-02-10 15:18:16 4556 4

原创 如何修改TextView链接点击实现(包含链接生成与点击原理分析)

*这篇文章的主要目的是想要大家学习如何了解实现,修改实现,以达到举一反三,自行解决问题的目的。某天遇到这么一个需求:在TextView中的文本链接要支持跳转,嗯,这个好办,TextView本身是支持的,我们只用添加一项属性就可以搞定: android:autoLink="web&quo...

2016-12-14 14:57:36 5439 1

原创 令人振奋的好消息!2016年12月8日Google Developers中文网站发布!

令人振奋的好消息!2016年12月8日Google Developers中文网站发布!以往我们需要访问Android的开发网站、Google的开发网站都需要翻墙,苦不堪言。现在Google发布了中文网站,怎能不让人开心?!Android中文开发网站: https://developer.andr...

2016-12-08 10:45:15 3855 1

原创 一步步手动实现热修复(三)-Class文件的替换

在上一节了解了基本的类加载原理之后,我们这一节开始对工程内部的类实行替换。 Tips: 本章主要依赖文章http://blog.csdn.net/vurtne_ye/article/details/39666381中的未实现代码实现,实现思路也源自该文章,在阅读本文之前可以先行了解。 这一节我...

2016-11-27 09:48:07 7113 13

原创 一步步手动实现热修复(二)-类的加载机制简要介绍

一个类在被加载到内存之前要经过加载、验证、准备等过程。经过这些过程之后,虚拟机才会从方法区将代表类的运行时数据结构转换为内存中的Class。 我们这节内容的重点在于一个类是如何被加载的,所以我们从类的加载入口开始。 类的加载是由虚拟机触发的,类的加载入口位于ClassLoader的loadCl...

2016-11-25 15:23:33 4701 2

原创 一步步手动实现热修复(一)-dex文件的生成与加载

热修复技术自从QQ空间团队搞出来之后便渐渐趋于成熟。 我们这个系列主要介绍如何一步步手动实现基本的热修复功能,无需使用第三方框架。 在开始学习之前,需要对基本的热修复技术有些了解,以下文章可以帮助到你: 安卓App热补丁动态修复技术介绍 【腾讯Bugly干货分享】Android Patch...

2016-11-24 13:08:57 10735 35

翻译 Android官方开发文档Training系列课程中文版:Activity测试之创建功能性测试

原文地址:http://android.xsoftlab.net/training/activity-testing/activity-functional-testing.html功能性测试包括模拟用户操作之类的组件验证。例如开发者可以通过功能性测试来验证在用户执行了UI操作之后Activity...

2016-11-14 11:42:48 1839 0

翻译 Android官方开发文档Training系列课程中文版:Activity测试之创建单元测试

原文地址:http://android.xsoftlab.net/training/activity-testing/activity-unit-testing.htmlActivity单元测试除了可以快速的验证Activity的状态之外,还可以验证Activity与底层组件之间的交互。单元测试通...

2016-11-11 13:37:07 1921 0

翻译 Android官方开发文档Training系列课程中文版:Activity测试之UI组件测试

原文地址:http://android.xsoftlab.net/training/activity-testing/activity-ui-testing.html一般来说,正因为Activity含有UI组件,所以使得用户可以与程序交互。这节课将会介绍如何测试Activity中的Button组件...

2016-11-05 11:21:46 1782 0

翻译 Android官方开发文档Training系列课程中文版:Activity测试之创建运行测试

原文地址:http://android.xsoftlab.net/training/activity-testing/activity-basic-testing.html为了验证在布局与功能上没有差池,很重要的一点就是需要为每个Activity创建对应的测试类。对每个测试类还需要创建单独的测试用...

2016-11-03 10:43:21 1735 1

翻译 Android官方开发文档Training系列课程中文版:Activity测试之测试环境配置

原文地址:http://android.xsoftlab.net/training/activity-testing/index.html引言开发者应当将测试作为应用开发周期的一部分。良好的测试用例可以帮助开发者及早的发现Bug,同时也可以增强开发者对代码的信心。测试用例定义了一系列对象与方法,使...

2016-11-01 10:23:02 2154 0

翻译 Android官方开发文档Training系列课程中文版:Android的安全建议

原文地址:http://android.xsoftlab.net/training/articles/security-tips.htmlAndroid系统内置的安全策略可以有效的降低应用程序的安全问题。所以默认创建的应用程序已经包含了一定程度的安全保护措施。Android所包含的安全策略有: 应...

2016-10-27 22:35:01 5264 4

翻译 Android官方开发文档Training系列课程中文版:Android的JNI相关

原文地址:http://android.xsoftlab.net/training/articles/perf-jni.htmlJNI的全称为Java Native Interface,中文意思是Java本地接口。它定义了Java代码与C/C++代码之间的交互方式。它是两者的桥梁,支持从动态共享库...

2016-10-17 18:07:21 9990 5

翻译 Android官方开发文档Training系列课程中文版:如何避免ANR?

原文地址:http://android.xsoftlab.net/training/articles/perf-anr.html#anr尽管你写代码可能通过了世界上所有的性能测试,但是它还是可能会让人感觉到卡顿。当应用卡的不成样子时,系统会给你弹一个”Application Not Respond...

2016-10-09 10:42:03 3614 1

翻译 Android官方开发文档Training系列课程中文版:线程执行操作之线程间通讯

原文地址:http://android.xsoftlab.net/training/multiple-threads/communicate-ui.html上节课我们学习了如何启动一项由ThreadPoolExecutor所管理的线程任务。最后这节课我们将学习如何从任务中发送结果数据给UI线程。这...

2016-10-08 15:28:02 1903 0

翻译 Android官方开发文档Training系列课程中文版:线程执行操作之线程池操作

原文地址:http://android.xsoftlab.net/training/multiple-threads/run-code.html#StopThread上节课我们学习了如何定义一个类用于管理线程以及任务。这节课将会学习如何在线程池中运行任务。要做到这一点,只需要往线程池的工作队列中添...

2016-10-03 19:49:43 2313 0

翻译 Android官方开发文档Training系列课程中文版:线程执行操作之创建多线程管理器

原文地址:http://android.xsoftlab.net/training/multiple-threads/create-threadpool.html 上节课我们学习了如何定义一个任务。如果只是执行一次任务,那么刚刚所学的已经基本满足要求了。如果需要针对不同的数据执行一项任务,并且同...

2016-10-02 16:43:49 1816 0

翻译 Android官方开发文档Training系列课程中文版:线程执行操作之定义线程执行代码

原文地址:http://android.xsoftlab.net/training/multiple-threads/index.html引言大量的数据处理往往需要花费很长的时间,但如果将这些工作切分并行处理,那么它的速度与效率就会提升很多。在拥有多线程处理器的设备中,系统可以使线程并行运行。比如...

2016-09-28 07:56:35 1783 0

翻译 Android官方开发文档Training系列课程中文版:电池续航时间优化之按需开启广播接收器

监测设备状态变化最简单的实现方式就是为每种状态都创建一个广播接收器,然后只需在相应的广播接收器内依据当前的设备状态重新执行各自的任务即可。 这种方式的不好之处就在于每次广播接收器被触发后,APP都会唤醒设备。 一种比较好的解决方案就是在运行时关闭或开启广播接收器。这样也可以使在清单文件中声明的...

2016-09-27 08:55:26 1744 0

翻译 Android官方开发文档Training系列课程中文版:电池续航时间优化之检查、检测网络连接状态

原文地址:http://android.xsoftlab.net/training/monitoring-device-state/connectivity-monitoring.html 通常会有一些后台服务需要连接到网络来更新数据。但是如果没有连接到互联网,或者由于网络太慢而不能完成更新,那...

2016-09-26 13:07:43 2202 2

翻译 Android官方开发文档Training系列课程中文版:电池续航时间优化之检查与监测坞的状态与类型

原文地址:http://android.xsoftlab.net/training/monitoring-device-state/docking-monitoring.html 译者提示:这里说的坞是一种扩展设备,Android中比较少见,而苹果设备比较常见。我们常见的苹果设备的扩展坞就...

2016-09-22 08:55:17 2005 0

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