Flutter底部导航栏之BottomNavigationBar

实现的方式 ​ 因为Flutter的widget分为StatelessWidget和StatefulWidget.我们使用底部导航栏肯定是通过点击底部的导航按钮来实现页面的更改,所以包含BottomNavigationBar的Widget必须是一个StatefulWidget. ​ 因为Scaff...

2018-12-19 17:09:51

阅读数 349

评论数 2

Flutter布局之Container

Container 简介 ​ 官方给出的简介,是一个结合了绘制(painting)、定位(positioning)以及尺寸(sizing)widget的widget。 布局特点 如果没有子节点、没有设置width、height以及constraints,并且父节点没有设置unbounded的限制...

2018-12-17 19:41:34

阅读数 78

评论数 1

git cherry-pick操作

定义 把一个commit从一个分支拿到另一个分支.相当于只merge一次commit 解决的实际问题 假如我在branch1分支上有一个commit,如何把它放到master分支上 或者是我在branch1有两个commit,如何把其中一个commit拿到master分支上. 用法 在bran...

2018-12-17 15:29:35

阅读数 35

评论数 2

git reset --hard --soft --mixed区别

使用方法 git --mixed/--hard/--soft 41e1d58739a5ab280b5b2dbde107c14aeeb0b6d2 git --soft 只是删除某次提交,再次提交直接commit即可 git --mixed 删除某次提交,并且回到add之前的状态,再次提交先ad...

2018-12-14 17:53:00

阅读数 154

评论数 0

AIDL进行进程间通讯

AIDL进行进程间通讯 AIDL是一个缩写,全称是Android Interface Definition Language,也就是Android接口定义语言 在上一篇 使用Messenger进行跨应用(进程)通讯中,使用Messenger进行进程间通讯的时候,服务端是能一个个的处理客户端的请求,...

2018-11-02 11:29:50

阅读数 54

评论数 0

使用Messenger进行跨应用(进程)通讯

使用Messenger进行跨进程通讯 Messenger可以翻译为信使,使用它我们可以进行跨进程通讯.Messengers是一种轻量的IPC,通过构造方法可以轻松的看出它的底层是现实AIDL. public Messenger(Handler target) { mTarget = tar...

2018-11-01 12:07:44

阅读数 167

评论数 0

for循环,增强for循环与Iterator的比较

先看看他们的写法 普通for循环 ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < list.size...

2018-10-26 17:47:41

阅读数 139

评论数 0

Collections.synchronizedList使用方法

ArrayList 众所周知ArrayList是非线程安全的,在多线程的情况下,向list插入数据的时候,可能会造成数据丢失的情况.并且一个线程在遍历List,另一个线程修改List,会报ConcurrentModificationException(并发修改异常)错误. Vector Vect...

2018-10-26 16:40:58

阅读数 262

评论数 0

OkHttp源码解析(二)之Interceptor

OkHttp中的Interceptors getResponseWithInterceptorChain() 继续说getResponseWithInterceptorChain()方法 Response getResponseWithInterceptorChain() throws IOExc...

2018-10-24 22:12:41

阅读数 87

评论数 4

OkHttp源码解析(一)

简单使用 OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://api.github....

2018-10-24 17:55:34

阅读数 136

评论数 0

Android 利用Annotation Processing 编译时通过注解自动生成代码

Android 编译时注解生成代码 类似ButterKnife的框架,时间有限只实现绑定View.利用 Annotation Processing,编译的过程中读取注解,然后使用JavePoet生成我们想要的代码 项目结构 依赖关系 左侧的的依赖是可以传递的 自动生成的代码 我们要自动生成这...

2018-09-27 15:42:35

阅读数 246

评论数 0

Java反射使用日记-getFields()和getDeclaredFields()的区别

getFields() getFields()获得某个类的所有的公共(public)的字段,包括父类。 getDeclaredFields() getDeclaredFields()获得某个类的所有申明的字段,即包括public、private和proteced,但是不包括父类的申明字段。...

2018-09-27 11:24:30

阅读数 135

评论数 0

JAVA多线程面试题整理及答案

JAVA多线程面试题整理及答案 什么是线程,进程? 进程:进程就是一段程序的执行过程,进程是表示资源分配的基本单位,又是调度运行的基本单位. 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行...

2018-09-25 12:04:18

阅读数 1007

评论数 0

使用Retrofit下载文件和上传文件

使用Retrofit下载文件和上传文件 上传 第一种 只有文件/图片的上传 /** * 上传图片 */ @POST("room/fileUpload") @Multipart fun upload(@Part file: Multipart...

2018-07-29 17:15:11

阅读数 203

评论数 0

EditText 修改光标颜色和宽度

在android的输入框里,如果要修改光标的颜色及粗细步骤如下两步即可搞定: 1.在资源文件drawable下新建一个光标控制color_cursor.xml <?xml version="1.0" encoding=&quot...

2018-07-27 16:12:48

阅读数 2062

评论数 0

HenCoderPlus 学习总结---Http与Https基础知识

Http与Https基础知识 Http http的定义 英文全称HyperText Transfer Protocol 超文本传输协议,和HTML(HyperText Markup Language超文本标记语言)一起诞生,是一种网络传输协议,位于TCP/IP的顶层,应用层 ...

2018-07-27 16:07:02

阅读数 2104

评论数 14

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