自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)

原创 《图解HTTP》笔记:确认访问用户身份的认证

8.1 何为认证某些 Web 页面只想让特定的人浏览,必不可少的就是认证功能。核对的信息通常是指:密码,动态令牌,数字证书,生物认证,IC 卡等。HTTP 使用的认证方式 :BASIC 认证(基本认证) DIGEST 认证(摘要认证) SSL 客户端认证 FormBase 认证(基于表单认证) 8.2 BASIC 认证BASIC 认证是从 HTTP/1.0 就定义...

2018-12-11 17:27:44 126

原创 《图解HTTP》笔记:确保 Web 安全的 HTTPS

在 HTTP 协议中有可能存在信息窃听或身份伪装等安全问题。使用 HTTPS 通信机制可以有效地防止这些问题。7.1 HTTP 的缺点通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改通信使用明文可能会被窃听:TCP/IP 是可能被窃听的网络无论世界哪个角落的服务器在和客户端通信时,在此通信线路上的某些...

2018-12-11 00:24:33 139

原创 《图解HTTP》笔记:HTTP 首部

6.1 HTTP 报文首部HTTP 协议的请求和响应报文中必定包含 HTTP 首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。HTTP 请求报文 :HTTP 响应报文 :注:首部字段同时存在于请求和响应报文内,并涵盖 HTTP 报文相关的内容信 息。6.2 HTTP 首部字段使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、...

2018-12-09 12:33:00 217

原创 《图解HTTP》笔记:与 HTTP 协作的 Web 服务器

一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率。5.1 用单台虚拟主机实现多个域名HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点。利用虚拟主机(又称虚拟服务器)可以用一台服务器为多位客户服务,也可以以每位客户持有的域名运行各自不同的网站。即使物理层面只有一台服务器,但只要使用虚拟主机的功能,则可以假想成已具...

2018-12-07 19:33:47 99

原创 《图解HTTP》笔记:返回结果的 HTTP 状态码

HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端 的处理是否正常、通知出现的错误等工作。4.1 状态码告知从服务器端返回的请求结果状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。数字中的第一位指定了响应类别,后两位无分类。响应类别有以下 5 种:4.2 2XX 成功2XX 的响应结果表明请求被正常处理了。 200 OK:表示从客户端...

2018-12-06 16:48:42 103

原创 《图解HTTP》笔记:HTTP 报文内的 HTTP 信息

HTTP 通信过程包括从客户端发往服务器端的请求及从服务器端返回客户端的响应3.1 HTTP 报文用于 HTTP 协议交互的信息被称为 HTTP 报文,它是由多行数据构成的字符串文本。请求端(客户端)→ 请求报文响应端(服务器端)→ 响应报文HTTP 报文的结构 :3.2 请求报文及响应报文的结构请求报文:响应报文: 请求行:包含用于请求的方...

2018-12-05 19:42:41 79

原创 《图解HTTP》笔记:简单的 HTTP 协议

2.1 HTTP 协议用于客户端和服务器端之间的通信在两台计算机之间使用 HTTP 协议通信时,在一条通信线路上必定有一端是客户端,另一端是服务器端。有时候两台计算机作为客户端和服务器端的角色有可能会互换。但仅从一条通信路线来说,服务器端和客户端的角色是确定的,用 HTTP 协议能够明确区分哪端是客户端,哪端是服务器端。 2.2 通过请求和响应的交换达成通信HTTP 协议规定,请求从客...

2018-12-04 20:36:06 82

原创 《图解HTTP》笔记:了解 Web 及网络基础

1.1 使用 HTTP 协议访问 WebWeb使用一种名为HTTP(超文本传输协议)的协议作为规范,完成从客户端到服务器端等一系列运作流程。1.2 HTTP 的诞生最初的设想:让远隔两地的研究者们共享知识的设想其基本理念:借助多文档之间相互关联形成的超文本,连成可相互参阅的 WWW(万维网)。1997年1月公布的 HTTP/1.1 是目前主流的 HTTP 协议版本1.3...

2018-12-03 13:22:56 97

原创 java中的四种引用及其使用场景

Java的对象引用一共有四种方式:强引用,软引用,弱引用,虚引用强引用-StrongReference这是java中最常见的引用方式,当一个对象被一个或一个以上的引用变量所引用时,它不可能被系统垃圾回收机制回收使用场景:例如数组软引用-SoftReference对于只有软引用的对象而言,当系统内存空间足够时,它不会被系统回收;如果内存空间不足了,就会被回收使用场景:创...

2018-11-20 13:22:52 420

原创 关于java中的static关键字

昨天面了宇宙条一面,面试官就一个static关键字追问了好久,比如说用在哪里,有哪些注意点等等。我答了一些常用的,但事后还是决定赶紧补一下这个知识点,主要从一下几个方面来总结:static修饰方法 static修饰变量 static修饰类 static修饰初始化代码块 static修饰导包语句一条重要的规则:在Java中,静态成员不能直接访问非静态成员static修饰方法...

2018-11-13 00:13:21 368

原创 这是一份关于Fragment的详细使用教程

Fragment的产生在Fragment(android 3.0)诞生前,安卓开发中通常使用Activity来展示界面,但它有一定的局限性:界面中的View控件较多较复杂时,操作麻烦 手机和平板中展示的效果不一致为了在Android上为用户提供动态的、多窗口的交互体验,我们需要将UI组件和Activity操作封装成模块进行使用,使得我们可以在activity中对这些模块进行切入切...

2018-11-06 18:18:50 651

翻译 这都8102了,还不使用RecyclerView来创建列表吗

官方文档地址:https://developer.android.com/guide/topics/ui/layout/recyclerview#top_of_page如果你的应用需要显示基于大型数据集(或经常需要更改的数据)的滚动元素列表,你应该使用RecyclerView来完成这项工作左图是一个使用了RecyclerView的列表,右图则是在RecyclerView还用上了Card...

2018-11-05 01:03:05 144

原创 读书笔记:java多线程之线程通信

阅读的书籍:《java疯狂讲义》关键词:传统的线程通信,使用Condition控制线程通信,使用阻塞队列控制线程通信传统的线程通信:利用Object类提供的wait(),notify(),notifyAll()三个方法首先,这三个方法是属于Object类的,而不是Thread类;其次,这三个方法必须由同步监视器对象来调用对于使用synchronized修饰的同步方法,因为该类的...

2018-10-21 22:47:10 83

原创 读书笔记:Android中的进程间通信(三)——Android中的IPC方式(上)

阅读的书籍:《Android开发艺术探索》关键词:Bundle,文件共享,Messenger使用Bundle:最简单的进程间通信方式,在Intent中传递Bundle实现了Parcelable接口,所以我们传输的数据必须要能够支持序列化除了直接传递数据外,还有一种特殊的使用场景:A进程进行一个计算后启动B进程,并把计算结果传给B进程,但这个计算结果并不支持放入Bundle ...

2018-10-21 18:32:53 69

原创 读书笔记:Android中的进程间通信(二)

阅读的书籍:《Android开发艺术探索》关键词:Serializable,Parcelable,Serializable和Parcelable的区别,BinderSerializable接口:java提供的一个序列化接口,为对象提供标准的序列化和反序列化操作想让一个对象实现序列化,只需要这个类实现Serializable接口并声明一个serialVersionUID(非必需)即可...

2018-10-14 17:35:16 89

原创 读书笔记:Android的消息机制

阅读的书籍:《Android开发艺术探索》关键词:Android的消息机制概述、分析,主线程的消息循环Android的消息机制概述:Android的消息机制主要是指Handler的运行机制以及Handler所附带的MessageQueue和Looper                                            的工作过程Handler是 Android消...

2018-10-11 00:06:26 90

原创 读书笔记:Android中的进程间通信(一)

阅读的书籍:《Android开发艺术探索》关键词:Android IPC简介,Android中的多进程模式Android IPC简介:IPC是Inter-Process Communication 的缩写,也叫做进程间通信或者跨进程通信进程间通信是指两个进程之间进行数据交换的过程,它不是Android独有的,任何一个操作系统都需要有响应的IPC机制在 Android中最有特色的...

2018-10-10 00:57:39 113

原创 读书笔记:view的事件分发机制

阅读的书籍:《Android开发艺术探索》关键词:点击事件的传递规则,事件分发的源码解析点击事件的传递规则:一个点击事件产生后总是先由外向内传递给Activity,然后再由内向外分发到View点击事件的事件分发就是对MotionEvent事件的分发过程,在事件分发中有如下三个重要的方法:dispatchTouchEvent(MotionEvent event):进行事件的分发...

2018-10-09 10:52:11 277

原创 读书笔记:java多线程之线程同步

阅读的书籍:《java疯狂讲义》关键词:线程安全问题,同步代码块,同步方法,释放同步监视器的锁定,同步锁,死锁线程安全问题:当使用多个线程来访问同一个数据时,会导致一些错误情况的发生到底什么是线程安全问题呢,先看一个经典的案例:银行取钱的问题 模拟步骤:1.匹配用户账户的正确性(这里就简化了)2.用户输入取款金额3.系统判断账户余额是否大于取款金额4.返回取...

2018-10-08 19:33:32 78

原创 读书笔记:java多线程之控制线程

阅读的书籍:《疯狂java讲义》关键词:join(),sleep(),yield(),后台线程,线程优先级,sleep()和yield()的区别join():阻塞了调用这个方法的线程,直到被join的线程执行完为止举个例子: 在这里main线程调用了 jt 线程的join()方法,那么main线程就必须等 jt 执行结束之后才能继续向下执行sleep():让当前正在执...

2018-10-07 16:25:02 78

原创 读书笔记:java多线程之线程的生命周期

阅读的书籍:《疯狂java讲义》线程的生命周期中有五个状态:新建,就绪,运行,阻塞,死亡新建(New):当程序使用new关键字创建了一个线程之后,该线程就处于新建状态 此时和创建一个普通java对象没什么区别,java虚拟机分配内存,并对它进行初始化工作就绪(Runnable):当线程对象调用了start()方法之后,该线程就处于就绪状态此时表示线程可以运行,但不是开始...

2018-10-07 13:29:31 69

原创 关于Android混淆的开源框架Mess的学习与分析

关于Android混淆知识点的两篇好文章:写给 Android 开发者的混淆使用手册, Android混淆从入门到精通参考的资料:饿了么全面混淆插件 Mess,android 防破解, 代码混淆,代码保护Mess是用来解决什么问题的首先,在之前学过的关于Android混淆知识中我们知道,Android默认是不会混淆四大组件和自定义View的,或者换一个说法,出现在 xml 里的相关 J...

2018-09-25 10:43:06 799 1

原创 LeetCode算法之旅——二维数组简介篇

二维数组简介篇中同样有三道经典的算法题:对角线遍历,螺旋矩阵和杨辉三角。对角线遍历题目描述:给定一个含有 M x N 个元素的矩阵(M行,N列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出:  [1,2,4,7,5,3,6,8,9]解释:...

2018-09-19 17:07:44 635

原创 年轻人的第一个开源框架学习——ImageViewer(二)

本文是接上一篇文章:年轻人的第一个开源框架学习——ImageViewer(一)还记得上篇文章提到的那些类吗,它们主要是ViewData,ScaleImageView,WxImageDragger,今天就来逐一讲讲这三个类的实现细节,当然,还有显得并不那么重要的ImageViewerUtil和GlideUtil和ImageDraggerType,也会在最后简单的提一下。准备好了吗,请系好安全带,...

2018-09-17 15:11:18 413

原创 年轻人的第一个开源框架学习——ImageViewer(一)

本人是一只目前正在实习的android菜鸡,前段时间带我的大佬让我实现一个类似微信朋友圈和b站图片查看器酷炫UI效果,具体点就是点击图片列表中的某张缩略图后进入大图预览,这个过程中伴随着放大的动画,然后每一张大图都是viewpager中的一个item,并且大图都能被下拉缩小,达到条件后松开缩小到原来缩略图的位置,当然也伴随着缩小归位的动画,并且背景的透明度还会随着拖拽而不断变化。说了这么多...

2018-09-17 09:12:39 3986

原创 自定义View练习之实现一个打勾动画

先看效果图:好吧不明白为什么这次上传后的动图占了这么大一块地方,不过这不是重点,下面就一起来看看这个简单的画圆+画钩是怎么实现的吧。本文主要是用到了path和animation的配合,然后在onDraw中不断重绘,最终达到效果。先看下全部的代码,然后再解释:public class CustomView extends View { private Paint mP...

2018-09-16 13:14:09 1188

原创 Android使用缩放动画放大你的图片

注:本篇文章是对官方开发文档的翻译,加上自己的理解和分析。地址:https://developer.android.com/training/animation/zoom本篇文章所实现的功能:触摸一张ImageView后开始展示缩放动画,将视图从缩略图放大为填充屏幕的全尺寸图像,并且点击大图后还能够原路返回,缩放回去。无图无真相,先来看看效果图:实现的代码中你需要知道的一些理论...

2018-09-11 11:53:24 4515

原创 LeetCode算法之旅——数组简介篇

数组简介篇中包含了三道算法题,算法小白的探索之旅从这里开始!第一题:寻找数组的中心索引题目描述:给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示...

2018-09-06 14:51:40 75

原创 一个简单易懂的关于Crash奔溃日志捕获并上报的demo

  先看效果:                                                当用户使用你的app时,难免会发生奔溃,而这个时候我们就需要在程序中实现一个需求:将奔溃的相关信息和设备信息保存下来,并且在适当的时候发送给我们的服务器,便于分析bug,解决bug。相信不少同学应该用过腾讯Bugly吧,所以今天我们要做的就是实现一个它的简易版Demo。...

2018-08-30 12:57:14 1178

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除