Kotlin核心语法(五):运算符重载以及其它的约定

2019-12-02
阅读 15 分钟
6k
java在标准库中有一些与特定的类相关联的语言特性,如实现了java.lang.Iterable接口的对象可以在for循环中使用,实现了java.lang.AutoCloseable接口的对象可以在try-with-resources语句中使用。

MVC架构设计与三层模型 & MVP思想精髓与解耦

2019-11-30
阅读 9 分钟
3.2k
博客主页 1. MVC架构设计与经典的三层模型 MVC:Model-View-Controller,经典模式,很容易理。 Model:业务层和模型层,实体模型和业务相关的代码 View:视图层,android中对应于layout布局文件 Controller:控制层,android中的UI操作,对应于Activity 但是在Android实际开发中,这个View层对应于布局文件,其实能做的...

MVP架构设计:Google官方MVP思想解读

2019-11-30
阅读 8 分钟
7.6k
deprecated-todo-mvp-contentproviders:基于todo-mvp-loaders, 使用Content Providers,已过时

Socket网络编程(三):Socket TCP快速入门

2019-11-29
阅读 11 分钟
3.8k
博客主页 1. TCP TCP(Transmission Control Protocol)是传输控制协议,一种面向连接的,可靠的,基于字节流的传输层通信协议。 TCP 通信同UDP通信一样,都能够实现两台计算机之间的通信,通信的两端都需要创建Socket对象。 区别在于: UDP中只有发送端和接收端,不区分客户端与服务端,计算机之间可以任意地发送数据 T...

Socket网络编程(二):Socket UDP快速入门

2019-11-29
阅读 12 分钟
4.8k
UDP全称为User Datagram Protocol,缩写为UDP,称为用户数据报协议,也叫用户数据报文协议。它是一个简单的面向数据报的传输层协议,正式规范为RFC 768。在上一篇Socket网络编程理论知识中介绍了UDP是一种面向无连接的协议,因此,在通信时发送端和接收端不用建立连接。

Socket网络编程(一):Socket网络编程理论知识

2019-11-28
阅读 9 分钟
3.2k
博客主页 1. 软件结构 C/S结构:全称为Client/Server结构,是指客户端和服务器结构,常见的程序如:QQ、迅雷等 B/S结构:全称为Browser/Server结构,是?️浏览器和服务器结构,常见浏览器有:谷歌、火狐等 两种结构各有优势,但是无论哪种结构,都离不开网络的支持,网络编程,就是在一定的协议下,实现两台计算机通信的...

Android系统源码分析:Handler扩展知识探索(下)

2019-11-28
阅读 10 分钟
2.2k
Messenger可以翻译为信使,可以通过它在不同进程中传递Message对象,在Message中放入我们需要传递的数据,就可以实现数据进程间的传递了。

Android系统源码分析:Handler扩展知识探索(上)

2019-11-27
阅读 12 分钟
2.1k
涉及到的类:HandlerThread、IntentService、AsyncTask、Messenger、IdleHandler、Looper.Observer、MessageLogging等

Android系统源码分析:Handler源码分析及使用细节

2019-11-27
阅读 15 分钟
2.5k
作为Android开发人员,这样异常的信息应该并不陌生,产生的原因就是在子线程操作UI控件了。那么为什么在子线程操作UI控件,就会抛出异常呢?

Kotlin核心语法(四):kotlin Lambda编程

2019-11-26
阅读 13 分钟
4.8k
博客主页 1. Lambda表达式和成员引用 Lambda简介:作为函数参数的代码块 {代码...} Lambda 和 集合 {代码...} Lambda表达式的语法 一个lambda把一段行为进行编码,能把它当作值到处传递,可以被独立的声明并存储到一个变量中。 {代码...} 可以把lambda表达式存储在一个变量中,把这个变量当作普通函数对待 {代码...} kot...

Kotlin核心语法(三):kotlin类、对象、接口

2019-11-26
阅读 13 分钟
5.9k
如果在类中同时实现了两个接口,而这两个接口都包含了带默认实现的showOff方法,如果没有显式实现showOff,编译器报错,强制要求提供实现。

Kotlin核心语法(二):kotlin程序结构、函数

2019-11-25
阅读 15 分钟
4.7k
博客主页 Kotlin 基础 类 对比下Java的类Person与Kotlin的类Person区别: {代码...} 属性 在Kotlin中,在类中声明一个属性和声明一个变量一样,使用 val(只读的) 和 var(可变的) 关键字。 如果属性的名称以 is 开头,getter不会增加任何的前缀,而它的setter名称中的is会被替换成set。 {代码...} 在java 和 kotlin ...

Kotlin核心语法(一):kotlin介绍、类型系统

2019-11-25
阅读 14 分钟
5.6k
Kotlin就是一门可以运行在Java虚拟机、Android、浏览器上的静态语言,它与JAVA 100%兼容,如果你对Java非常熟悉,那么你就会发现Kotlin除了自己的标准库之外,大多仍然使用经典的JAVA集合框架。

Gradle核心(六):Gradle多项目、多渠道构建、测试

2019-11-24
阅读 34 分钟
9.9k
Android 项目一般分为库项目、应用项目、测试项目,对应的插件是com.android.library、com.android.application、com.android.test

Gradle核心(五):Gradle高级自定义

2019-11-23
阅读 13 分钟
8.8k
Android Gradle中有很多相同的任务,这些任务的名字都是通过Build Types 和 Product Flavors 动态创建和生成的。

Gradle核心(四):Gradle插件

2019-11-23
阅读 9 分钟
5k
博客主页 这篇主要讲Java Gradle插件、Android Gradle插件以及自定义插件等 Gradle插件 Gradle内置了很多插件,其中Android Gradle插件就是基于内置的Java插件实现的。 应用一个插件 插件的应用都是通过Project的apply方法完成的,而插件又分为二进制插件和脚本插件。 应用插件方法 二进制插件就是实现了org.gradle.api....

Gradle核心(三):Gradle Task详解及实战

2019-11-23
阅读 13 分钟
8.9k
接下来讲解Gradle核心Task——任务。主要内容有如何多种方式创建任务,如何访问任务的方法和属性,任务执行过程和实战,任务执行顺序和实战, 任务依赖和实战,任务的输入输出,如果挂载自定义Task到构建过程中,如何对任务进行分组、排序,以及一些规则性的知识。

Gradle核心(二):Gradle Project详解及实战

2019-11-23
阅读 7 分钟
7.7k
我们可以通过Project提供的API访问所有的project。getAllprojects返回所有的project,包括当前project,返回类型:Set集合

Groovy高级用法(三):文件、xml、json处理

2019-11-23
阅读 5 分钟
5.9k
博客主页 接下来讲解Groovy高级用法,文件的处理。 File类 下面以示例的方式讲解File类中的方法,其中GDK新增方法有: void append(Object text) 将字符串text追加到文件末尾 void eachFile(Closure closure) 为指定目录中的每个文件应用闭包 void eachFileRecurse(Closure closure) 为指定目录中的每个文件应用闭包,且...

Groovy核心(二):闭包、类、方法、运行时元编程

2019-11-22
阅读 14 分钟
7.7k
博客主页 上一章已经讲解完字符串、集合、运算符重载等,接下来讲解闭包、流程控制、方法、类等核心基础。 闭包 闭包是一种表示可以执行代码块的方法,且闭包也是对象,可以像方法一样传递参数。在声明闭包后,可以使用并修改其作用域内的所有变量值。 闭包语法定义 {代码...} 不带参数的闭包,可以省略参数和->,调...

Groovy核心(一):字符串、集合、运算符重载

2019-11-22
阅读 11 分钟
6.4k
博客主页 Groovy是增强Java平台的唯一的脚本语言;与Java相比,脚本语言具有更好的表示能力,能够提供更高的抽象等级。Groovy语言特点: Groovy是一种面向对象的脚本语言,涉及的所有事物都是对象,这一点不像Java语言 Groovy与Java是二进制兼容的,Groovy编译器产生的字节码与Java编译器产生的字节码是完全一样的 Groov...

Gradle核心(一):Gradle入门、生命周期探索、基本脚本构建

2019-11-22
阅读 6 分钟
7.4k
Gradle是一款构建系统工具,它的DSL基于Groovy实现,大部分功能都是通过插件的方法实现的,如果内置插件不能满足需求,可以自定义自己的插件。

CSS入门:基本语法、选择器用法

2019-11-21
阅读 6 分钟
1.1k
css全称为(Cascading Style Sheets)翻译过来就是层叠样式表。作用:主要作用就是设置网页的文字(大小,颜色,字体,对齐等等)图片和板式布局等等,其实说的简单点了就是给页面化妆的。

Android事件总线框架设计:EventBus3.0源码详解与架构分析(下)

2019-11-21
阅读 9 分钟
1.6k
博客主页 1.粘性事件 粘性事件就是在发送事件之后再订阅该事件也能收到该事件,跟黏性广播类似。 首先看下粘性事件的发布方式: {代码...} 我们看下发布粘性事件方法的源码 {代码...} postSticky方法主要做了两件事情,先是把事件缓存在stickyEvents中,然后通过post方法把事件发布出去,这个方法之前已经分析过,这里不...

html入门:语法、常用标签、表格、表单、h5新增标签

2019-11-21
阅读 9 分钟
2.7k
博客主页 web标准(前端三剑客:html、css、js) 网页的结构(后缀名字为html的文件),负责网页的内容整理和分类 网页的样式(后缀名字为css文件),负责设置网页的板式,颜色,文字大小 网页的行为(后缀名字为.js的文件)​,负责网页的动态交互 1 认识html 概念:HTML(英文Hyper Text Markup Language的缩写)中文译...

Android事件总线框架设计:EventBus3.0源码详解与架构分析(中)

2019-11-21
阅读 17 分钟
2k
博客主页 上半部分主要是EventBus3.0架构分析,接下来开始EventBus3.0的源码分析了。 我们从EventBus3.0使用方式开始源码分析,先来分析注册事件~ 1.注册源码分析 注册事件方式: {代码...} EventBus的getDefault()是一个单例,确保只有一个EventBus对象实例 {代码...} EventBus构造方法做什么呢? {代码...} 在EventBus...

Android事件总线框架设计:EventBus3.0源码详解与架构分析(上)

2019-11-21
阅读 10 分钟
2.4k
博客主页 发布/订阅事件总线。它可以让我们很轻松的实现在Android各个组件之间传递消息,并且代码的可读性更好,耦合度更低。 简化组件之间的通讯 事件的发送着与接受者完全解耦 完美解决UI(如:Activities、Fragments)和后台线程之间切换 避免复杂且容易出错的依赖关系和生命周期问题 1.开始EventBus之旅 在使用Event...

java知识体系梳理:数组

2017-10-29
阅读 12 分钟
2k
知识体系梳理流程图 一维数组 1.1 数组概述 数组是指一组数据的集合,数组中的每个数据被称作元素。在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致。 数组的好处 可以自动给数组中的元素从0开始编号,方便操作这些元素。 1.2 数组的定义 在java中,可以使用以下2种格式来定义一维数组。 定义的...

Android布局优化:ViewStub标签实现延迟加载(源码解析原理)

2017-08-01
阅读 5 分钟
4.3k
ViewStub is a lightweight view with no dimension that doesn’t draw anything or participate in the layout. it's an invisible, zero-sized View that can be used to lazily inflate layout resources at runtime.Android官方对ViewStub的解析:1.ViewStub一个不可见2.大小为0的试图. (下面会分析这两点实现) ViewS...