- 博客(25)
- 收藏
- 关注
原创 Flutter——Row, Column布局实例详解
开篇Row和Column分别是Flutter中的水平和垂直布局,它们都是MultiChildRenderObjectWidget,所以它们都是可以渲染多个孩子的控件,而它们是如何渲染孩子的大小和位置的则是有renderObject定义的。它们的继承关系图如下:MainAxisAlignment和CrossAxisAlignmentRow、Column的布局特性和MainAxisAlign...
2020-03-15 17:59:28 2205
原创 从矩阵来看颜色变换
基础知识之前从矩阵的角度分析了平移,旋转,缩放,对称的变换,文章在从矩阵来看Android中的一些动画变换。在android中,图片的对象主要是bitmap,它是由点阵和颜色值组成的。 1、点阵是一个图片宽*图片高的矩阵,矩阵中的每一个元素对应着图片的一个像素。根据点阵可以计算出图片占用的内存大小。ALPHA_8: 每个像素占用1byte内存ARGB_4444: 每个...
2018-04-18 18:00:36 1565
原创 android和nodejs搭建一个应用
背景为什么想写这一篇文章呢?做android的开发也有两年的时间了,就想把以前学到的一些东西记录下来。于是首先就想在github.com上开一个项目MVPDemo,将一些自己认为比较好的知识点都串联起来。主要目的: 1、初步认识和使用MVP、dagger2和rxJava2 2、使用对称和非对称加密加强前端与后台的安全机制 3、前后台的socket交互实现其中3、中的soc...
2018-04-11 16:31:37 8459
原创 23种设计模式之结构型设计模式
前言本篇文章主要讲23种设计模式中的7种结构型设计模式,包括适配器模式,装饰者模式,代理模式,外观模式,桥接模式,组合模式,享元模式。适配器模式适配器模式是将一个类的方法接口转换成客户端期望的接口表示。我们可以约定,把客户端期望的接口叫做目标Targetable,被转换的类叫source。适配器模式可以分为:类的适配器模式,对象的适配器,接口的适配器。类的适配器模式...
2018-04-10 15:43:04 383 1
原创 23种设计模式之创建型模式
前言本文主要是介绍5种创建型模式中,除了单例模式外的其他创建型模式,包括建造者模式,工厂模式,抽象工厂模式,原型模式。1、建造者模式,可以将对象的表现和创建(实现)分离开来,根据不同的创建步骤可以产生不同的对象,而对象的创建也是一次性的,创建后的对象是不可变。 2、工厂模式,根据形式的不同,工厂模式可以分为简单工厂方法模式、多工厂方法模式和抽象工厂方法模式。在简单工厂方法模式...
2018-04-09 14:40:24 169
原创 在Android中解释服务器数据
前言在这一篇文章中,主要讲一下如何使用Gson解释服务器返回的具有固定格式的数据。分析服务器:在本地使用nodejs的express框架建立的简单服务器。它返回了的数据如下:var testArrayStr = "{\"data\": [{\"cnName\": \"jakewharton\",\"age\": 13,\"IsBoy\": true}, {\"
2018-04-08 16:55:44 199
原创 23种设计模式之《单例模式》
什么是单例模式单例模式是23种设计模式中最简单和易用的模式。在某些情境下,如在一个上市公司中,有很多不同级别的员工,但是公司的CEO或者CTO都是只有一个的,CEO或者CTO在公司里就要求是一个单例。单例模式,就是某个类因实际情况的需要,要求在全局的范围内只能有唯一的实例对象,这个对象是常驻内存的,可以重复使用,降低重复创建对象的开销。单例模式的特点类的构造函数是私有的...
2018-04-04 11:23:51 159
原创 Android中的retrofit源码分析
个人博客:http://zhangsunyucong.top前言本文基于的retrofit版本是:2.1.0,文章会从retrofit的使用逐渐进入它的源码进行分析。retrofit是一个基于okhttp封装的,具有RESTful风格的HTTP网络请求框架。也就是说,它只负责网络接口配置和调用的封装,实际底层调用的工作还是由okhttp完成的。可以使用它以注解的形式配置请求的地址,请求...
2018-03-08 17:18:42 234
原创 HandlerThread和IntentService
个人博客:http://zhangsunyucong.top前言在这一篇文章中,会看HandlerThread和IntentService的源码。为什么一起讲它们呢?在Android中有一条思路,就是从java的线程,到Android中的消息机制,到将java线程和消息机制结合就是HandlerThread,而IntentService就是在HandlerThread基础上再与serv...
2018-02-23 13:55:32 188
原创 从矩阵来看Android中的一些动画变换
博客:http://zhangsunyucong.top开头这篇博客,是参考了文章:Android Matrix,这篇文章有具体的分析过程和android实例。我只是参考和根据自己的理解写的。在Android中,我们可以从数学的角度来看颜色和动画的变换。这里会从矩阵变换的角度来理解平移,旋转,缩放,对称的变换。这些变换的完成实际上,是操作一个3X3的矩阵的。而这四种基本变换与操作和
2018-02-07 18:05:13 1157
原创 Android中绘制简单几何图形和路径Path
背景我的博客:http://zhangsunyucong.top马上就到2018年过年了,然后我又刚好有兴致,就来玩玩Android中的简单几何图形的绘制和使用Path类来绘制路径。Path和Canvas在Android中,和我们平时画图一样是有画笔和画布的,Path是画笔,Canvas是画布。与画的样式属性有关,如大小或者颜色等,是由Path来完成的;与画的形状,即画什么东西是由
2018-02-07 09:04:26 4617
原创 初始Promise/A+规范
前言个人博客:http://zhangsunyucong.top这篇文章主要讲两个内容,一是,初步认识Promise,二是,Async模块和Async/Await的使用什么是PromisePromise表示一个异步操作的最终结果。一个Promise对象有一个then方法,then方法中返回一个Promise。相关的概念 promise是一个包含了兼容pro
2018-02-02 16:54:34 195
原创 第一个tensorflow程序
个人博客: http://zhangsunyucong.top 最近AlphaGo和AlphaZero的出现,预示着2017年成为人工智能元年,人工智能逐渐进入我们的生活和工作的方方面面,如在工作中,阿里巴巴双十一中,出现了“千人千面”智能推荐系统,鲁班AI设计师,小蜜机器人,IDC智能巡检机器人,还有京东的无人仓库等。这些都让我觉得人工智能越来越重要和越来越感兴趣,所以决定学习pytho
2018-02-01 14:17:00 238
原创 二进制和种类
个人博客: http://zhangsunyucong.top前言话回我刚刚毕业来到深圳时,作为一个android菜鸟在一个大神波哥的指导下,学到了很多东西。其中,二进制和分类就是我印象最深的。想按自己理解记录一下。想一下,有这样的需求:一个物体有一个种类属性,它这个属性有很多相互独立可以相加的值,也就是它有很多种情况,而且一个物体可同时具有其中一个或者多个情况。而我们想用一个数字就表
2018-02-01 14:04:22 1509
原创 Android中的消息机制
个人博客:http://zhangsunyucong.top前言Android中的消息机制是指线程之间的通信机制。我们都知道,如果我们在UI主线程中做耗时的操作而无法及时处理时,程序会弹出ANR全名Application Not Responding, 也就是”应用无响应”的对话框。首先来一张图,从整体上来看一下android消息机制。Handler:用于发送消息和处理消息
2018-02-01 10:30:44 169
原创 Android中Activity的启动流程
个人博客:http://zhangsunyucong.top前言在这篇文章中,将会基于android 26源码上分析Activity从启动到显示到屏幕和Decorview添加到Window中的过程。另外在本文中,省略了很多内容,目的只是从源码中找到一条启动的线索。迟点再补充上流程图。从startActivity开始说起在应用层开发时,Acitvity跳转会写出下面的代码:
2018-01-31 16:20:24 733
原创 android中view的位置坐标和view的滑动
个人博客:http://zhangsunyucong.topview体系结构?View是Android中界面层控件的一个抽象。从上图中可以看出控件层的继承关系,TextView是View的直接子类,LinearLayout是ViewGroup的直接子类,ViewGroup是View的直接子类,所以TextView和LinearLayout都是一个view,都直接或者间接继承于V
2018-01-25 15:13:17 2778
原创 使用nginx负载均衡nodejs
个人博客:http://zhangsunyucong.top前言这篇文章适合熟悉nodejs的同学观看。主要是关于如何使用nginx做反向代理和负载均衡nodejs的多个实例的配置流程,nodejs实例可以是分布在同一台主机上或者不同的主机上的多个实例。主要内容有在同一主机创建nodejs多个实例详细讲解ngnix.conf文件的每项配置的作用在同一主机创建nod
2018-01-24 15:29:55 1182
原创 Android的MotionEvent事件分发机制
个人博客:http://zhangsunyucong.topandroid事件的源头在哪里?当用户触摸屏幕或者按键等时,形成事件,事件经过linux底层Event节点捕获之后,一直传到android应用层。中间传递的过程不是本文的重点,我也不是很清楚(哈哈哈)。本文的重点是事件在应用层的分发机制。事件在View树中的分发过程View树: 在Android中,事件的分发过程就是
2018-01-24 15:25:39 599
原创 Androiod中View的工作原理
前言这篇文章主要讲解view的工作原理中的三大流程,包括测量流程,布局流程,绘制流程。这些都是自定义控件的基础。下面先对三大流程的职责做简要的概述:测量流程确定了控件的测量的大小; 布局流程确定了控件在父控件中的四个位置的坐标和控件的实际大小; 绘制流程负责控件的绘制并显示在屏幕上。view的绘制流程是从哪里开始的?View的绘制流程是从ViewRoot的performTraversals开始的
2018-01-24 15:22:20 245
原创 MySQL 插入数据时,中文乱码问题的解决
修改在 MySQL 的安装目录下有一个 my.ini 配置文件。在这个配置文件中 [mysql] 与客户端配置相关,[mysqld] 与服务器配置相关。默认配置如下:[mysql]default-character-set=utf8[mysqld]character-set-server=utf8
2017-07-11 18:09:06 241
转载 React-Native在window上配置环境
接近年底了,回想这一年都做了啥,学习了啥,然后突然发现,这一年买了不少书,看是看了,就没有完整看完的。悲催。 然后,最近项目也不是很紧了,所以抽空学习了H5。自学啃书还是很无趣的,虽然Head First HTML5 Programming(中文版)这本书讲的很有意思,但是学习了大半本就想自己动手练练,所以得找个框架玩玩。 另外之前也就听说过React Native很火,火了半个地球了,而且它号
2017-03-02 11:36:14 284
转载 什么是机器学习?
不久以前读的一篇好文,主要是讲机器学习到底是属于什么学科或者研究领域,同时也介绍到了ML与AI之间的关系。作者是南京大学的周志华老师。废话少说,直接上文章。——————————————————- 机器学习现在是一大热门,研究的人特多,越来越多的新人涌进来。 不少人其实并没有真正想过,这是不是自己喜欢搞的东西,只不过看见别人都在搞,觉着跟大伙儿走总不会吃亏吧。 问题是,
2017-01-07 17:16:27 361
转载 理解Android进程创建流程
基于Android 6.0的源码剖析, 分析Android进程是如何一步步创建的,本文涉及到的源码:/frameworks/base/core/java/android/os/Process.java/frameworks/base/core/java/com/android/internal/os/ZygoteInit.java/frameworks/base/core/java/com/a
2016-12-27 15:53:40 376
转载 csdn如何转载别人的文章
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-12-27 15:50:55 338 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人