孙朝阳的博客

逆水行舟,不进则退!

Android知识点总结(五)进程间通信之Binder连接池

Android知识点总结(四)进程间通信 上一篇文章记录了Messenger及AIDL的使用。其中AIDL的使用是最广泛的,其大致流程: 首先创建一个Service和一个AIDL接口 接着创建一个类继承自AIDL接口中的Stub类并实现Stub中的抽象方法(也可以直接使用匿名内部类的方式实现),...

2019-04-11 14:43:13

阅读数 40

评论数 0

Android知识点总结(四)进程间通信

进程间通讯方式 Android进程通讯方式有很多,如Socket、ContentProvider、共享文件(这种方式的缺点是不支持并发写,同时需要手动操作IO)、AIDL、Messenger(底层实现也是AIDL)等。 使用Messenger Messenger是一种轻量级的IPC方案,可以在不同...

2019-04-01 16:35:38

阅读数 64

评论数 0

AndroidStudio编译报错org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:proces

AndroidStudio编译报错: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugResources'. finished with non-zero exit ...

2019-03-20 16:32:45

阅读数 431

评论数 0

从零开始手写一个组件化demo

根据上篇Android组件化学习文章,编写一个组件化demo,其结构如下: APP:主module Login:登录组件 Pay:支付组件,支付时需要判断是否登录 Common:基础组件,包含基础库、公共页面等 CommonBase:包含各个组件对外提供访问自身数据的接口、抽象方法等 1、使...

2019-03-01 18:45:55

阅读数 66

评论数 0

Android组件化学习

组件化思想是对模块化的进一步演变,相对与模块化,组件化更加灵活,可以在application与library之间相互转换! 无论是组件化还是模块化,都是对大型项目的一种耦合度的解耦,方便团队协作开发! 上面是组件化的基本架构图,可以看到组件化一个很明显的特点就是分层!还有一个重点就是通信。...

2019-02-21 23:49:32

阅读数 61

评论数 0

Java函数式编程四之并行化操作

Java函数式编程三 并行和并发 并发 和并行是两个不同的概念,它们的作用也不一样。并发是两个任务共享时间段,并行则是两个任务在同一时间发生,比如运行在多核 CPU 上。如果一个程序要运行两个任务,并且只有一个 CPU 给它们分配了不同的时间片,那 么这就是并发,而不是并行。两者之间的区别如图: ...

2019-01-03 15:31:47

阅读数 55

评论数 0

Java函数式编程三之收集器

Java函数式编程二 本文主要介绍高级集合类和收集器 方法引用 Lambda 表达式有一个常见的用法:Lambda 表达式经常调用参数,如: student -&...

2018-12-20 20:00:05

阅读数 53

评论数 0

Java函数式编程二之常用流操作

函数式开发旨在帮助程序员写出更好的代码,如Java8新引入的流(Stream)使程序员得以站在更高的抽象层次对集合进行操作!Stream 是用函数式编程方式在集合类上进行复杂操作的工具。 传统循环操作有很多弊端如需要写很多样板代码、行为意图不清晰等,嵌套循环更严重,另外传统操作对于并行开发也很麻烦...

2018-12-20 17:05:39

阅读数 66

评论数 1

Java函数式编程一之基础介绍

2018-12-13 15:57:35

阅读数 56

评论数 0

Gradle相关知识总结

Gradle简介 Gradle,是一个基于 JVM 的富有突破性构建工具,基于 groovy,其 build 脚本使用 groovy dsl 编写! 任何一个 Gradle 构建都是由一个或多个 project组成。每个 project 包括许多可构建组成部分,由多个 tasks 组成。每个 ta...

2018-12-07 10:20:56

阅读数 53

评论数 0

Java深入解析笔记

关键字与标识符 goto、const、true、false、null goto是Java里的保留字(不使用的关键字),在java里使用标签实现跳转: public class Test1{ public static void main(String[] args) { ...

2018-11-06 13:44:49

阅读数 53

评论数 0

AndroidStudio出现的问题总结

1、AndroidStudio出现Read Timed out 去项目外层的build.gradle中 repositories添加 mavenCentral() maven { url 'https://maven.google.com' } 如图:

2018-10-21 15:30:08

阅读数 157

评论数 0

Android的Drawable

Drawable是一个抽象类,它有众多子类如ShapeDrawable BitmapDrawable等. 它有一个重要的参数是内部宽高,通过getIntrinsicWidth和getIntrinsicHeight获取! 内部大小不等于它的大小,一般来说Drawable没有大小,当其作为View的背...

2018-09-05 18:45:54

阅读数 73

评论数 0

主module或其它module模块 无法引用另一个module里面的依赖

原因是我将所有的module里面的comile全都更换成了implementation,因为编译的时候官方一直推荐使用后者替代前者,但是implementation声明的依赖只能在本module模块内使用,跨module使用就要使用api声明! 如: api 'com.jakewhar...

2018-09-04 14:51:15

阅读数 1640

评论数 1

Android开发技巧总结

1、获取全局Context 编写Application public class MyApplication extends Application { private static Context context; @Override public v...

2018-09-03 15:29:49

阅读数 128

评论数 0

Android知识点总结(三)自定义View

ViewRoot和DecorView

2018-08-16 18:32:26

阅读数 155

评论数 0

Android知识点总结(二)View的事件体系

VIEW的基础知识 MotionEvent和TouchSlop MotionEvent getX/getY: View相对于父容器的x和y坐标 getRawX/getRawY: 相对于屏幕左上角的x和y坐标 TouchSlop TouchSlop是系统能识别的滑动的最小距离! 和设备有...

2018-08-01 11:03:49

阅读数 122

评论数 0

Android知识点总结(一)

onPause操作里为什么不能做耗时操作 android在onPause里面不应该做耗时操作,因为跳转页面时,先调用当前页面的onPause,再去调用创建,所以这里如果做了耗时操作,就会出现卡顿! onSaveInstanceState、onRestoreInstanceState状态存储相关...

2018-07-06 10:28:30

阅读数 162

评论数 0

Dart2学习笔记

官网教程,也是我的学习参照! 基本Dart程序 先来一个基本的Dart程序: //比较简单的英语就不翻译了 // Define a function. printInteger(int aNumber) { print('The number is $aNumber.'); // Pr...

2018-06-01 18:27:05

阅读数 12954

评论数 9

Ubuntu18.04上遇到的一些问题及解决方案

Ubuntu下安装淘宝npm镜像后出现“未找到 ‘cnpm’ 命令” 原因是没有建立软连接,解决方案: sudo ln -s /home/scy/ruanjian/nodejs/node-v10.2.0-linux-x64/bin/cnpm /usr/local/bin/ 然后就可以了...

2018-05-27 14:59:34

阅读数 4404

评论数 0

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