实战
上进唯实战可得,突破绝技成长瓶颈
课程
精品课程应有尽有,快速入门助力成长
-
中级 Bitmap高效缓存
本门课程会介绍Bitmap相关知识点及如何高效加载,还会介绍Android缓存策略,通过综合前面所学模仿ImageLoader实现图片高效加载功能。
6416人在学 -
中级 okhttp框架解析与应用
首先会带领大家了解okhttp网络框架用的优势及它在基本执行流程,了解以后,我们会讲解一些okhttp网络框架常用 的api,最后我们会对其进行一个简单的封装使网络框架变的方便使用。 慕课网Android讨论群② 170368200
20340人在学 -
初级 应用自动更新组件开发
1.应用自动更新及其意义 2.自动更新原理及所需知识 3.开发一个自动更新组件 4.测试我们的自动更新组件 5.组件化开发思想介绍 慕课网Android讨论群② 170368200
19648人在学 -
初级 长连接利器—网络框架解析之mina篇
通过对本课程的学习, 我们要对apache mina框架有深入的了解,并能通过mina与服务器进行通信 慕课网Android讨论群② 170368200
10475人在学
手记
分享经验交流心得,学习前沿流行技术
-
程序员为什么要具备重构能力
相信所有已经工作的同行,或者还在学校的同学,一定都或多或少得听说过“重构”这个词,我听一次听说“重构”这个词的时候,还是在上大二的时候,一位学长推荐的一本书叫《重构-改善即有代码》,正是在这本书中,我是第一次听说了重构这个词,从最初的不理解,到现在工作这么多年,有一定自己的理解,以及在工作中进行的一些重构的实践,今天这篇文章,就是重点跟大家分享一下,我对重构的一些理解。 首先,从字面意思上来理解,重构就是重新构建,那大家想一想,我们为什么要进行 呢,以有的
505浏览
2推荐
0评论
-
程序员为什么要学架构
在我刚工作的时候,第一次听到架构和架构师的时候,我的第一反应就是,好高大上的一个名词,能成为架构师一定是一件非常难的事情,而且一定不是所有开发都可以成为架构师的,这就是我刚知道架构这个词以后,我的第一反应,相信这也是很多工作不久的同学们的第一反应。 但是随着工作工作的时间越来越久,对开发这一行的理解越来越深,我越来越觉得架构,并不是对我遥不可及的事情,因为在我们实现任何一个需求的时候,我们都需要好好的设计一下,这个需求如何实现,能够更加的合理和高效,能够在未来要修改的时候更加的好维护,其实大家可能觉得这就是开发中一个很普通的环节,其实不然,这个其实也是我们的一个架构的过程,只不过此时我们的架构只是限局于一个很小的功能模块,一个类的实现,甚至小到一个方法的合理实现,这些都可以是我们在思考架构的一个过程,所以架构其实真的离我们很近。 那为什么成为架构师的人又相对来说比较少呢,这个的原因就非常多了,每个人可能都不相同,但抛开人为原因,
2892浏览
5推荐
0评论
-
plugin工程及与flutter工程通信原理
  上一小节呢,我们把一个android传统工程改造成了flutter混编工程,在flutter工程中想要调用android原生的方法或者功能,那肯定是离不开plugin工程的,下面,我们就首先来讲解一下我们本节课的第一部分内容,plugin工程。   那什么是plugin工程呢,我们创建一个来看一看即可,下面是我创建的一个网络plugin工程,用来实现flutter工程通过此plugin完成网络请求,工程如下: 通过图中,我们可以看到,与我们之前创建的flutter app的目录结构及组成完全一样,所以plugin工
2465浏览
2推荐
0评论
-
flutter系列之将已存在的原生应用转化为混编应用
  前面两小节呢,我们讲解了flutter混编工程与android原生的传统工程作了比较,通过对比我们知道了flutter工程的独特之处以及各工程文件的作用,今天我们就来实际的一步步将一个原生工程改造为一个混编工程,让大家从实际上掌握如何把当前的原生工程改造完成。    首先我们要创建一个flutter工程,步骤如下: 重点就是要选这个Flutter Module类型,然后我们一路next填写好工程名,包名等即可,比较简单就不贴图了。   创建完工程以后,大家就可以看到我们上
6537浏览
1推荐
0评论
-
flutter系列之flutter工程如何与android混编
  上一小节,我们讲解了flutter工程的整体结构和flutter工程中几个重要文件的作用,下面我们就来重点讲解一下,flutter工程如何与android混编在一起的。   这里,我们就要重点分析一下android这个目录下的一些重要文件了,大家先来看一下android文件夹都有那些东西。   大家来看,里面与我们平时创建的传统android工程看起来差别并不太大,app是我们最终的生成apk文件的module,在app这个module里,你依然可以写你已经掌握的android原生代码(Java或者Kotlin)去实
6721浏览
3推荐
1评论
-
flutter系列之flutter工程结构详解(android视角)
   flutter出来也有一年多的时间了,这个东西呢,也是用来做跨平台的,是由google主推的,作用与weex,reactive native一样,flutter的各种优势及缺点呢,我们这里就不再多说了,网上有非常多的文章供大家参考,今天我们重点来分析一下,flutter工程与我们传统的android工程有什么区别,以及这些区别的作用。 在我们讲解本节课的内容之前,希望大家有一定的flutter基础和gradle基础,因为我们要分析的是最复杂最完整的flutter与原生的混编工程与传统的android工程的区别,在讲解区别
4712浏览
6推荐
0评论
-
gradle核心之Task详解
前几天我们讲解了groovy的一些源码,也讲解了gradle的一些内容,我们知道gradle是groovy的一个重要的使用场景,那就是自动化构建,gradle里有许多核心的概念,比如Project,Dependency,Plugin,Setting,File等等。但,要说到最重要的一个点,那必须是gradle的Task,因为无论我们在Task之前写了多少代码,如果没有Task,那一切都是没有意义的,所以Task就是我们本节教程重点要讲解的。今天的课程我们会重点讲解Task的以下几点。 1.如何定义一个新的Task 2.如何为已有的Task添加执行逻辑 3.Task执行
5038浏览
6推荐
0评论
-
Groovy核心类源码讲解(终)
前两篇groovy我们从源码的角度分析了,groovy对java做了那些扩展和这些扩展的实现的原理,今天这篇文章,我们来讲解groovy源码分析中的最后一部分,来分析一下groovy中最后一部分对java做了那些扩展。本章的内容相对前两章来说,就简单的多了。 代码部分就是下图中的部分: 前两篇文章,我们分析的都是org包中的代码,今天要分析的主要代码是在groovy包下的,我们由易到难依次来分析一下这个包中的源码。这个包下大家如果打开源码的话,可以看到,其中的包非常的多,但大部分都是我们在写gradl
7396浏览
7推荐
0评论
-
Groovy核心类源码讲解(下)
上一篇文章我们讲解了groovy相关的几个核心扩展类,主要是几个XXXGroovyMethods,通过这几个类的扩展方法,可以让我们编写的POJO和POGO类有更多常用的方法,可以极大的提高我们的开发效率,上一篇我们重点以text这个方法去举的例子。好,通过上篇文章的学习,大家可以从整体上知道groovy SDK对JDK做了那些扩展(还有一部分的扩展,我们后面讲)。 了解了有那些扩展以后,想必大家可能会有一些疑问了,这些都是GDK提供的新类,这此方法并没有加到JDK中对应的类中,我们是如何可以直接调用它扩展的
3603浏览
6推荐
1评论
-
Groovy核心类源码讲解(上)
上一篇文章我们重点分析了android-gradle-plugin的几个核心类以及通过UML类图了解了这些核心类的一个相互依赖关系,不管是什么类型的Plugin其实还是基于gradle这个编程框架,不同的Plugin只是为了实现特定的功能而已,而gradle这个框架的核心类呢,大家可以参考学习我的gradle3.0实战课程去了解学习。今天我们重点来带领大家学习一下gradle的底层基础groovy的核心类,至于gradle与groovy的关系,与java和android的关系完全一样,下面,我们就来看一下groovy中的一些核心类的源码。让大家对gradle
4053浏览
8推荐
0评论
-
android-gradle-plugin3.0.1源码分析
学习android的同学都知道android工程从使用android studio开发以后就使用了gradle作为工程的构建工具这就导致我们在了解gradle前提下还要对android-gradle-plugin这个插件有所了解 因为gradle其实就是一个容器或者框架基本上什么工程都可以去构建那如何构建成为android工程呢其实主要的原因就是这个android-gradle-plugin在起作用。代码如下 dependencies { classpath 'com.android.tools.build:gradle:3.0.1' } 这段代码大家肯定已经非常的熟悉了这样就相当于我们为gradle框架引入了and
5434浏览
12推荐
2评论
-
Gradle在实际开发中的用处
Gradle这门自动化构建技术出来的时间也不短了,越来越多知名的开源工程已经从原来的ant,maven等原始的构建迁移到了gradle中,例如:spring相关类库,android,java工程等等,有许多同学问我在实际的开发工作中,我们如何能够使用到gradle呢,下面我就来为大家去讲解一下,如何在实际工作中去使用gradle让你完成你的工作。 首先,任何一门技术都有特定的使用场景,很少有语言能够用在所有的场景下,也就是说你碰到的这个问题确实可以用gradle去解决,那我们才去考虑使用gradle而不是为了用而用,
3422浏览
10推荐
0评论
-
Gradle3.0自动化构建实战
在文章开始之前,首先问大家几个问题,什么是构建,什么又是自动化构建,为什么要自动化构建以及如何让我们的构建自动化?下面我们围绕这几个问题来为大家展开分析为什么要使用Gradle来做这些事情。 什么是构建 构建其实说的通俗点就是打包,这个不管你是学什么编程语言的都要走的最后一步,比如android的构建目的是生成最终的apk可执行文件,java web的构建最终是要构建出wap可执行文件,其它语言也都是这样的,所以从概念上来讲,构建的核心就是产出最终的可执行文件,这样我们写的代码才是
4058浏览
11推荐
0评论
-
热修复与插件化你准备好了吗
android原生应用开发发展到今天,几乎每个App都是巨无霸级的大小,手淘,优酷这种应用更是航母级别的应用,一个应用可能几百人一起合作开发,在应用还小的时候大家可以甜蜜的合作,快速的迭代就像孩子小的时候每个人都喜欢,但随着应用越来越大,我们不得不面对的以下几个问题:第一,团队合作的效率越来越低,这是无法避免的,可能一个人的延期就会导致整个版本的延期,而人越多这个概率就是指数级别的增长。第二,潜在的bug越来越多,功能越多,隐藏的问题就自然就越多,一旦爆发可能带来的影
6488浏览
30推荐
3评论
-
程序员,请向加班说No!!!
大家在看到这个标题的时候会想到什么?如果是以前的我一定会想到:程序员那有不加班的,这不是天方夜谈吗。 但是今天的我会告诉大家,只要你有合适的方法,一定是可以做到的,而我的这门新课程——组件化开发android应用,就是想要告诉我们的广大开发者,我们程序员也不需要每天都去加班。 其实我从很早以前就开始思考做这样一个课程,初衷也会简单,我们程序员也是人,赚的钱也没有比产品之类的多多少甚至没有其它人多(有点俗却是事实),凭什么我们就需要大把大把的把自己的时间用在加班上,
10852浏览
62推荐
2评论