摘要:
本文地址 目录 18 | 实战:让KtHttp支持挂起函数 因为业界对 Kotlin 函数式编程接纳度并不高,所以这节课,我们将基于 1.0 版本命令式风格的代码继续改造: 3.0 版本,在 1.0 版本的基础上,扩展出异步请求的能力 4.0 版本,进一步扩展异步请求的能力,让它支持挂起函数 支持异 阅读全文
摘要:
本文地址 目录 目录目录Git TortoiseGit .gitignore 忽略规则 简介Git 的安装TortoiseGit 的安装让 TortoiseGit 记住用户名和密码全局设置局部设置添加忽略规则的三种方式创建本地的 .gitignore 文件创建全局的 .gitignore 文件个人局 阅读全文
摘要:
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com AIDL 定向tag IPC 案例 MD 目录 目录定向tag总结测试案例AIDL文件夹服务端客户端演示过程源码分析Boo... 阅读全文
摘要:
本文地址 目录 目录目录11 | 注解与反射:进阶必备技能注解定义注解类使用注解类元注解四个元注解的定义元注解 Target 的取值元注解 Retention 的取值反射反射案例:获取并修改程序信息反射的几个关键类KClassKCallableKParameterKTypeKotlin 中的 Cla 阅读全文
摘要:
博文地址 我的GitHub 我的博客 我的微信 我的邮箱 baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 高级篇介绍 从今天开始,我们就进入了专栏的高级篇。 相对基础篇,高级篇涉及的知识点都比较零散,不是太系统。所以,我会围绕一个实际软件开 阅读全文
摘要:
本文地址 目录 目录目录春节刷题计划 | Kotlin + LeetCode移除字符冒泡排序最常见的单词JavaKotlin比较版本号JavaKotlin - 1Kotlin - 2求解一元一次方程JavaKotlin分数加减运算题目描述题目分析求最小公倍数 & 最大公约数完整代码 春节刷题计划 | 阅读全文
摘要:
本文地址 目录 目录目录日期 日历 时区 地区 格式化 API 案例常用案例获取当天0时0分0秒的时间判断是今天还是明天计算两个日期间相差几天增加或减少一定的时间判断缓存是否过期获取一个时间,要求当月有31天SimpleDateFormat 格式化 Date 示例Calendar 和 Date 的妙 阅读全文
摘要:
本文地址 目录 目录目录实战篇介绍52 | Redis 中数据类型对应的数据结构Redis 数据库介绍列表 list压缩列表双向循环链表字典 hash压缩列表散列表集合 set有序数组散列表有序集合 sortedset跳表压缩列表数据结构持久化课后思考 实战篇介绍 到此为止,专栏前三部分我们全部讲完 阅读全文
摘要:
HTTP 8种请求方法概述HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),分别为:get,post,put, options,head,delete,trace,connect,来表明对Request-URI指定的资源的不同操作方式,具体介绍如下:OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向Web服务器发送’*’的请求来测试服务器的功能性。HEAD:向服... 阅读全文
摘要:
示例代码:https://github.com/baiqiantao/DataBindingTest参考:精通Android Data Binding Android Data Binding(数据绑定)用户指南官方教程:Data Binding Guide API 关于 Data BindingData Binding 解决了 Android UI 编程的一个痛点,官方原... 阅读全文
摘要:
简介Github:https://github.com/JakeWharton/butterknife 文档特点:采用注解的方式实现强大的View绑定和Click事件处理功能,简化代码,提升开发效率 方便的处理Adapter里的ViewHolder绑定问题 是一种依赖注入框架,运行时不会影响APP效率(原理和dagger一样,是在编译期生成代码,与反射没有半毛钱关系)使用配置方便 ,代码清晰,可读... 阅读全文
摘要:
本文地址 目录 目录目录Git 常用命令常用命令基础命令增删改增加 add删除 rm移动/重命名 mv代码提交提交到本地仓库 commit分支标签查看信息远程同步撤销其他 Git 常用命令 Git官方教程 - 中文版 Git官方教程 - 中文版PDF下载 易百教程 - 逐个介绍Git命令 廖雪峰教程 阅读全文
摘要:
只有Inject是不可以的,必须有Componentpublic class Test { @Inject Person person; private void test() { System.out.println(person.name); } public static void main(String[] args) { new Test().test();//N... 阅读全文
摘要:
本文地址 目录 目录目录Java 和 Kotlin 中的泛型Java 泛型的不可变性Java 中的 ? extends集合不要 extends总结Java 中的 ? super集合总结Java 泛型总结Kotlin 中的 out 和 in声明处的 out 和 inKotlin 中的 * 号where 阅读全文
摘要:
Gson 使用总结 高级用法 参考: http://www.jianshu.com/p/e740196225a4 https://www.jianshu.com/p/d62c2be60617 https://www.jianshu.com/p/c820e55d9f27 Gson基本用法 Gson提供 阅读全文
摘要:
本文地址 目录 目录目录Gson 基本使用 解析、生成、映射解析和生成基本数据类型POJO 类数组和集合属性映射注解 @SerializedName映射多键映射 Gson 基本使用 解析、生成、映射 解析和生成 Gson提供了 fromJson() 和 toJson() 两个用于解析和生成的方法,前 阅读全文
摘要:
本文地址 目录 目录目录Retrofit 入门 基本使用 总结Retrofit入门Retrofit注解Gson与ConverterRxJava与CallAdapter自定义Converter自定义CallAdapter其它说明Retrofit.Builder的其他方法Retrofit的Url组合规则 阅读全文
摘要:
本文地址 目录 目录目录Retrofit 简介 wiki 文档 源码解析WiKi 使用指导Call AdaptersConverters 转换器Retrofit Tutorials 教程资源官网使用教程Introduction 基本使用介绍API Declaration 方法声明Retrofit C 阅读全文
摘要:
本文地址 目录 目录目录Proxy 代理模式 动态代理 cglib静态代理静态代理简介静态代理案例动态代理JDK 动态代理案例JDK 动态代理的局限性Cglib动态代理CGLIB 简介Cglib动态代理案例Cglib代理类实现方式一Cglib代理类实现方式二JDK 动态代理补充底层实现原理Invoc 阅读全文
摘要:
本文地址 目录 目录目录意图过滤器 intent-filter data Uri使用细节intent-filter 中的 datadata 中的 mimeTypedata 中的 Uriintent-filter 总结匹配示例案例1案例2案例3自定义 action 及 data 案例 意图过滤器 in 阅读全文
摘要:
参考:http://blog.csdn.net/lonelyroamer/article/details/7864531#commentshttp://blog.csdn.net/lonelyroamer/article/details/7868820#comments http://blog.csdn.net/LonelyRoamer/article/details/7927212#commen... 阅读全文
摘要:
参考:http://blog.csdn.net/lonelyroamer/article/details/7868820#comments因为种种原因,Java不能实现真正的泛型,只能使用类型擦除来实现伪泛型,这样虽然不会有类型膨胀的问题,但是也引起了许多新的问题。所以,Sun对这些问题作出了许多限制,避免我们犯各种错误。1、先检查,再编译,以及检查编译的对象和引用传递的问题既然说类型变量会在编译... 阅读全文
摘要:
本文地址 目录 目录目录注解 Annotation 简介 总结背景知识什么是元数据 Metadata为什么要引入 AnnotationXML 和 Annotation 的优缺点注解的定义注解的定义案例四个元注解Target 适用的元素种类Retention 保留策略Documented 文档化Inh 阅读全文
摘要:
本文地址 目录 目录目录反射 Reflect Class 基础 API反射 Reflection面试题Class 类获取对象运行时Class类获取与此class对象相关的Class类返回 Type (接口与超类)获取构造器 Constructor获取方法 Method获取字段 Field获取注解 A 阅读全文
摘要:
本文地址 目录 目录目录Type 类型 泛型 反射 Class ParameterizedTypeType 接口简介Java 中的所有类型综合测试代码Type 的子接口ParameterizedType 参数化类型TypeVariable 类型变量类型GenericArrayType 泛型数组类型W 阅读全文
摘要:
要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法与浮点数的结构组成。因为机器只认识01,你想表示小数,你要机器认识小数点这个东西,必须采用某种方法。比如,简单点的,float四个字节,前两个字节表示整数位,后两个字节表示小数位(这就是一种规则标准),这样就组成一个浮点数。而Java中浮点数采用的是IEEE 754标准。IEEE 754 标准更多详见:https://baike.... 阅读全文
摘要:
本文地址 目录 目录目录Math Number 数值类 包装类 数学计算Math 类简介字段近似值:round、ceil、floor、rint普通函数三角函数角度弧度指数、对数、平方根1.8之后新增的方法Math 常用 API 使用演示数值类 APINumberIntegerFloatRandom示 阅读全文
摘要:
本文地址 目录 目录目录原码 反码 补码 概念 原理 详解测试代码教科书式定义简单入门原码反码补码移码一些基本概念机器数和符号位真值编码方式为何要使用原码、反码和补码从数学角度深究原理(仅供参考)钟表的例子同余负数取模的计算数学证明 原码 反码 补码 概念 原理 详解 参考1 参考2 测试代码 Sy 阅读全文
摘要:
基本数据类型的类型转换Java中基本数据类型共有8种,分别是:布尔型boolean,字符型char和数值型byte/short/int/long/float/double。由于字符型char所表示的【单个字符】与Ascii码中相应【整形】对应,因此,有时也将其划分到数值型中。基本数据类型中,布尔类型boolean占有一个字节(或一个二进制位,关于布尔类型的长度,详见另一篇笔记),由于其本身所代表的... 阅读全文
摘要:
简介float和double类型的使用局限:单精度浮点型变量float可以处理6~7位有效数,双精度浮点型变量double可以处理15~16位有效数,在实际应用中,如果需要对更大或者更小的数进行运算和处理,这时候float和double就如能为力了。借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算,他们执行二进制浮点运算,这是为了... 阅读全文
摘要:
本文地址 目录 目录目录线程 Timer TimerTask 计时器 定时任务Timer 计时器TimerTask 计时任务案例案例1:延时执行指定任务案例2:执行定时任务Timer 的缺陷Timer 抛出异常缺陷Timer 管理时间延迟缺陷用 ScheduledExecutorService 替代 阅读全文
摘要:
本文地址 目录 目录目录什么是内存泄漏为什么会发生内存泄漏发生内存泄漏的常见场景静态集合类的使用Listener、Receiver等监听器的引用非静态内部类对外部类的引用Handler引起内存泄漏案例分析Thread引起内存泄漏案例分析单例模式初始化后的对象数据库、网络、io流等连接优化内存的方法 阅读全文
摘要:
非静态内部类引起内存泄漏的原因内部类的实现其实是通过编译器的语法糖(Syntactic sugar)实现的,通过生成相应的子类即以OutClassName$InteriorClassName命名的Class文件。并添加构造函数,在构造函数中【传入】外部类,这也是为什么内部类能使用外部类的方法与字段的原因。所以,当外部类与内部类生命周期不一致的时候很有可能发生内存泄漏。Handler引起内存泄漏案例... 阅读全文
摘要:
本文地址 目录 目录目录Kotlin 不变性思维尽可能地消灭可变性使用条件表达式消灭 var使用数据类并消灭可变性尽可能对外暴露只读集合解决集合的可变性问题属性委托自定义 get 方法自定义对外暴露的方法使用 toList 解决集合强转问题Kotlin与Java的集合兼容性问题java.util.A 阅读全文
摘要:
代码位置:https://github.com/baiqiantao/WebViewTest.git设计思想理解在WebView的设计中,不是什么事都要WebView类干的,有相当多的杂事是分给其他类做的,这样WebView专心干好自己的解析、渲染工作就行了。比如我们最熟知的,所有针对WebView的设置都封装到了WebSettings里。我们知道,在使用WebView加载资源过程中,可能会有大量... 阅读全文
摘要:
代码位置:https://github.com/baiqiantao/WebViewTest.git设计思想理解在WebView的设计中,不是什么事都要WebView类干的,有相当多的杂事是分给其他类做的,这样WebView专心干好自己的解析、渲染工作就行了。比如我们最熟知的,所有针对WebView的设置都封装到了WebSettings里。我们知道,在使用WebView加载资源过程中,可能会有大量... 阅读全文
摘要:
本文地址 目录 目录目录ThreadLocal 原理 源码分析ThreadLocal总结使用线程池的问题内存泄漏问题源码分析ThreadThreadLocal构造方法set() 方法get() 方法initialValue() 方法ThreadLocalMap基础结构Hash 算法Hash 冲突se 阅读全文
摘要:
本文地址 目录 目录目录54 | 高性能队列 Disruptor 背后的数据结构和算法生产者-消费者模型基于循环队列的模型基于加锁的并发模型基于无锁的并发模型总结引申 54 | 高性能队列 Disruptor 背后的数据结构和算法 Disruptor 是一种内存消息队列,类似 Kafka。不过,和 阅读全文
摘要:
本文地址 目录 目录目录WebView 加载网页 加载资源 总结loadData使用说明加载中文注意事项loadDataWithBaseURL使用说明baseUrl的用法解析loadUrlpostUrlevaluateJavascript加载各种类型的资源方法总结加载 assets 下的资源加载 r 阅读全文
摘要:
代码位置:https://github.com/baiqiantao/WebViewTest.gitWebSettings 介绍public abstract class android.webkit.WebSettings extends Object Manages settings state for a WebView. When a WebView is first created, i... 阅读全文