Grade for Android 之八: Groovy入门

迄今为止,我们已经学些了众多gradle构建的概念以及如何运行tasks。在这一章,我们将对这些概念有一个更深的理解,然后开始构建我们自己的tasks。一旦我们掌握了如何编写自定义tasks,那么我们就可以试着编写自己的插件,以达到在多个项目中复用的目的。 在我们创建传统tasks之前,我们有必...

2019-04-25 22:12:25

阅读数 2

评论数 0

Grade for Android 之七: 测试

由于现阶段Android开发趋于敏捷开发,再加上国内大大小小的互联网公司都在做app,导致很多开发人员对单元测试没有基本的概念,但是本篇博文不会为大家讲解什么是单元测试,功能测试,而是讲解如何在Android studio上利用gradle使用现阶段流行的测试框架等。 为了确保app或者libr...

2019-04-25 22:11:05

阅读数 1

评论数 0

Grade for Android 之七: 多模块构建

Android studio不仅允许你为你的app和依赖库创建模块,同时也可为Android wear,Android TV,Google App Engine等创建模块,而这些单独的模块又可以在一个单独的项目中使用。举个栗子,在你的app开发后期阶段,你可能需要用到Google Clound或者...

2019-04-25 22:09:58

阅读数 3

评论数 0

Grade for Android 之六: 构建变体

当你在开发一个app,通常你会有几个版本。大多数情况是你需要一个开发版本,用来测试app和弄清它的质量,然后还需要一个生产版本。这些版本通常有不同的设置,例如不同的URL地址。更可能的是你可能需要一个免费版和收费版本。基于上述情况,你需要处理不同的版本:开发免费版,开发付费版本,生产免费版,生产付...

2019-04-25 22:08:51

阅读数 2

评论数 0

Grade for Android 之五: 依赖管理

依赖管理是Gradle最闪耀的地方,最好的情景是,你仅仅只需添加一行代码在你的build文件,Gradle会自动从远程仓库为你下载相关的jar包,并且保证你能够正确使用它们。Gradle甚至可以为你做的更多,包括当你在你的工程里添加了多个相同的依赖,gradle会为你排除掉相同的jar包。在这一章...

2019-04-25 22:07:16

阅读数 711

评论数 0

Grade for Android 之四: Build.gradle入门

在这一章,我们将学习以下内容: 理解Gradle文件 编写简单的构建任务 自制构建脚本 理解Gradle脚本 当然我们现在讨论的所有内容都是基于Android studio的,所以请先行下载相关工具。当我们创建一个新的工程,Android studio会默认为我...

2019-04-25 22:05:55

阅读数 647

评论数 0

Grade for Android 之三: Android 中gradle的基本用法

当你第一次打开Android studio的时候,有一个视图显示你即将创建的环境以及确保你使用了最新的Android SDK和必要的google依赖包,同时会让你选择是否创建AVD,这样你就可以使用模拟器了。在这儿多说几句: 尽量使用Android studio 2.0,因为它真的变快了,而...

2019-04-25 22:03:12

阅读数 654

评论数 0

Grade for Android 之二:Groovy 与Java的语法区别

Groovy对Java开发者来说是尽可能的自然过渡。Groovy设计者设计Groovy时,遵循最小改变原则,尤其是有Java开发背景的开发者学习Groovy时。 如下列出了Java和Groovy的主要不同 本文所有测试基于groovy 2.5.3, JVM 1.8.0_73 1.默认导入(Def...

2019-04-25 21:56:10

阅读数 2

评论数 0

Grade for Android 之一:Groovy概述

简介 Groovy 是 Apache 旗下的一门基于 JVM 平台的动态/敏捷编程语言,在语言的设计上它吸纳了 Python、Ruby 和 Smalltalk 语言的优秀特性,语法非常简练和优美,开发效率也非常高(编程语言的开发效率和性能是相互矛盾的,越高级的编程语言性能越差,因为意味着更多底层...

2019-04-25 21:53:16

阅读数 3

评论数 0

React-Native 概述

写在前面 1. 什么是React-Native?      React-Native是:Facebook 在2015年初React.js技术研讨大会上公布的一个开源项目。支持用开源的JavaScript库React.js来开发iOS和Android原生App。初期仅支持iOS平台,同年9月份...

2019-04-22 00:05:10

阅读数 7

评论数 0

响应式编程之三:RxJava应用:与Retrofit 结合的最佳实践

前言 RxJava和Retrofit也火了一段时间了,不过最近一直在学习ReactNative和Node相关的姿势,一直没有时间研究这些新东西,最近有个项目准备写,打算先用Android写一个Demo出来,却发现Android的世界发生了天翻地覆的变化,EventBus和OKHttp啥的都不见了...

2019-04-21 23:59:33

阅读数 3

评论数 0

响应式编程之二:RxJava概述:在Android平台上开发详解

RxJava 到底是什么 RxJava 好在哪 API 介绍和原理简析 1. 概念:扩展的观察者模式 观察者模式 RxJava 的观察者模式 2. 基本实现 1) 创建 Observer 2) 创建 Observable 3) Subscribe (订阅)...

2019-04-21 23:54:33

阅读数 4

评论数 0

Retrofit框架解析之一:Retrofit2.0使用详解

综述 retrofit是由square公司开发的。square在github上发布了很多优秀的Android开源项目。例如:otto(事件总线),leakcanary(排查内存泄露),android-times-square(日历控件),dagger(依赖注入),picasso(异步加载图片),...

2019-04-18 00:07:39

阅读数 24

评论数 0

响应式编程之一:概述

什么是响应式编程(Reactive Programming) In computing, reactive programming is an asynchronous programming paradigm concerned with data streams and the propag...

2019-04-18 00:00:43

阅读数 91

评论数 0

xUtils3框架解析一:概述: ViewInject + ImageLoader + Http + SQLite 功能封装和使用

xUtils3简介 xUtils 包含了orm, http(s), image, view注解, 但依然很轻量级(246K), 并且特性强大, 方便扩展: 稳定的基石:AbsTask和统一的回调接口Callback, 任何异常, 即使你的回调方法实现有异常都会进入onError, 任何情况下o...

2019-04-14 21:23:41

阅读数 11

评论数 0

JAVA 并发编程之十一:同步|异步|阻塞|非阻塞 +AsyncTask+ 非阻塞同步(Wait-free|Lock-free|Obstruction-free)

前言 同步(Synchronization): 如何正确有效的保护共享数据是编写并行程序必须面临的一个难题,通常的手段就是同步。 同步+阻塞: UI Thread + method return; 同步+非阻塞: UI Thread + 状态轮询查询; 异步(Asynchronizati...

2019-04-10 23:39:04

阅读数 72

评论数 0

JAVA 并发编程之十:线程模型2:Executor框架 + 线程池ThreadPool 的四种类型

前言 1. Executor框架包括:Executor,Executors,ExecutorService,CompletionService,Future,Callable,FutureTask等。 2. 线程|任务 区别: 实现Runnable的类应该被看作一项任务,而不是一个线程。在Ja...

2019-04-10 22:50:51

阅读数 20

评论数 0

JAVA 并发编程之九:sleep()和wait() 概念 + 区别 + 应用场景

sleep和wait到底什么区别 其实这个问题应该这么问——sleep和wait有什么相同点。因为这两个方法除了都能让当前线程暂停执行完,几乎没有其它相同点。 wait方法是Object类的方法,这意味着所有的Java类都可以调用该方法。 sleep方法是Thread类的静态方法。 w...

2019-04-09 23:22:41

阅读数 14

评论数 0

JAVA 并发编程之八:ThreadLocal(线程局部变量):概念+原理+使用场景

前言 什么是ThreadLocal变量 ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。这里有几点需要注意: 因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。这是也是 Th...

2019-04-09 23:07:30

阅读数 66

评论数 0

JAVA 并发编程之七:重入锁ReentrantLock + lock + condition :可选择唤醒特定线程(线程状态控制Type2)

前言:synchronized和ReentrantLock的区别: 1. 要注意synchronized同步,假如发生异常,JVM是可以帮我们自动释放锁的;但是lock不可以,我们只能手动释放锁,即使发生异常,jvm也不会自动释放锁。 2.synchronized与wait()和notify(...

2019-04-09 22:56:08

阅读数 12

评论数 0

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