自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

想飞的企鹅

专注,坚持,成功。

  • 博客(117)
  • 收藏
  • 关注

转载 Android : 关于HTTPS、TLS/SSL认证以及客户端证书导入方法

一、HTTPS 简介  HTTPS 全称 HTTP over TLS/SSL(TLS就是SSL的新版本3.1)。TLS/SSL是在传输层上层的协议,应用层的下层,作为一个安全层而存在,翻译过来一般叫做传输层安全协议。对 HTTP 而言,安全传输层是透明不可见的,应用层仅仅当做使用普通的 Socket 一样使用 SSLSocket 。TLS是基于 X.509 认证,他假定所有的数字证书都是由一个层次化的数字证书认证机构发出,即 CA。另外值得一提的是 TLS 是独立于 HTTP 的,使用了RSA非对称加密

2020-12-11 11:00:48 2975

转载 源码角度认识ImageView的ScaleType

做Android开发的童靴们肯定对系统自带的控件使用的都非常熟悉,比如Button、TextView、ImageView等。如果你问我具体使用,我会给说:拿ImageView来说吧,首先创建一个新的项目,在项目布局文件中应用ImageView控件,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 <?xml version="1.0" encoding=

2020-11-26 14:47:20 189

原创 java 垃圾回收机制总结

Java与C++之间有一堵有内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。C/C++程序员既拥有每一个对象的所有权,同时也担负着每一个对象生命从开始到终结的维护责任,而Java最大的优势之一就是将内存控制的权力交给了Java虚拟机。在虚拟机自动内存管理机制的帮助下,程序员几乎不用担心内存泄漏和内存溢出的问题。垃圾回收机制  垃圾回收机制(GC)是java...

2019-10-31 14:54:02 339

转载 X5 浏览器内核调研报告

关于这份调研报告,不是从技术角度深入探索,重点是从产品本身分析,通俗易懂才是重点。主要是为了锻炼平时做技术调研和竞品分析的能力,以及业务拓展的技术储备。内容有点多,下面 **X5 **内核调研报告将分为三个环节:Why - What - How描述。按照经典的 2W1H 的策略描述WHY一、Android 端为什么需要考虑浏览器内核问题 ?**一言以蔽之:你...

2019-07-16 10:42:24 1537

转载 RecyclerView 原理深入理解

lyldalek的博客地址:https://blog.csdn.net/weixin_43130724/ 前言 /以后会尽量写非源码的东西,因为过一段时间之后,发现自己看自己的文章都费劲,而且,源码大部分是在分析方法的调用链,意义不大,需要多写写自己的体悟才行。如果有时候必须要写,也要简化调用链的分析,提供类图,写重点和结论。本文的思路与结论是基于参考...

2019-06-27 10:15:24 8206 3

转载 深入理解 Android 中的各种 Context

转自:https://juejin.im/post/5c1fab7d5188254eb05fbe48Context 家族Context 本身是一个抽象类,主要实现类为 ContextImpl,另外有子类 ContextWrapper 和 ContextThemeWrapper,这两个子类都是 Context 的代理类,主要区别是 ContextThemeWrapper 有自己的主题资源。它...

2019-04-01 17:49:48 438

原创 应用接入支付宝的架构建议

架构建议:为了保证交易安全,支付宝采用了一系列的安全手段: 采用HTTPS协议传输交易数据,防止数据被截获,解密。 采用RSA非对称密钥,明确交易双方的身份,保证交易主体的正确性和唯一性 ...

2019-03-04 10:40:55 238

原创 精心整理的一些有用的资源网站

一、如果想自己开发一个app,没有UI的切图怎么办?给你推荐一个很好的icon网站。http://www.iconfont.cn/二、项目管理时,实时记录项目的设计内容,进度,和需要修改的问题,可以使用这个网址。https:trello.com/三、图片太大,需要压缩,推荐下面的网站,图片扔上去就可以压缩。https://tinypng.com/四、想免费学习各种编程语言,...

2018-10-29 11:39:04 305

原创 Glide加载视频缩略图、gif图片

1: 加载本地视频缩略图,一般是指加载视频的第一帧画面的缩略图 Glide.with(context).load(videoFileUrl).diskCacheStrategy(DiskCacheStrategy.RESULT) .crossFade().centerCrop().placeholder(placeHolder).error(plac...

2018-08-09 10:13:13 10317 2

转载 Android图像滤镜框架GPUImage从配置到应用

GPUImage简介GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。GPUImage for Android是它在Android下的实现,同样也是开源的。其中提供了几十多种常见的图片滤镜API,且其机制是基于GPU渲染,处理速度相应也比较快,是一个不错的图片实时处理框架。GitHub地址:https://github....

2018-08-06 16:47:14 847

原创 RecyclerView 实现瀑布流的正确姿势

首先来看一下瀑布流效果:加载的数据根据自己需求自己定义。来说一下具体实现:private RecyclerView rlv;private FlashApapter mAdapter;//设置layoutManagerStaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(2, Stagger...

2018-07-26 21:47:58 17621 1

转载 Android 单元测试

本文由玉刚说写作平台提供写作赞助原作者:Jdqm版权声明:本文版权归微信公众号玉刚说所有,未经许可,不得以任何形式转载单元测试是应用程序测试策略中的基本测试,通过对代码进行单元测试,可以轻松地验证单个单元的逻辑是否正确,在每次构建之后运行单元测试,可以帮助您快速捕获和修复因代码更改(重构、优化等)带来的回归问题。本文主要聊聊Android中的单元测试。 单元测试的目的以及测...

2018-07-26 10:42:47 318

原创 在Android studio中测试纯Java代码

当我们需要测试某段java代码的逻辑是否正确时,可是电脑上只装了android studio。这个时候,你就会想要是在studio上测试就好了。今天教你一个简单的办法,在studio上测试纯java代码。点击File ---&gt;New ---&gt;New Module... ---&gt;Java Library ---&gt;Next  填写Library name 和 Java ...

2018-07-26 10:19:04 2230

原创 Android权限适配解决方案

一、权限申请的原理:1.Android6.0之后运行时权限策略变化从Android6.0(API23)开始,对系统权限做了很大的改变,在之前用户安装app前,只是把app需要的使用的权限列出来告知用户一下,app安装后都可以访问这些权限。从6.0开始,一些敏感权限需要在使用是动态申请,并且用户可以选择拒绝授权访问这些权利,已授予过的权限,用户也可以去app设置界面去关闭授权。这对用户来说提...

2018-07-16 21:51:15 1015 1

转载 Android apk打包之生成key hash 和 签名证书sha1

第一步 安装sshopenhttp://www.xpgod.com/soft/20520.html下载并解压就可以了 如果上面连接不可用可以到.............点击下载  下载 需要csdn  1积分 因为我没找到怎么免费上传第二步   到你的签名文件目录下调出git命令界面 Git Bash Here输入命令keytool -exportcert -a...

2018-07-16 20:03:15 2181

原创 Flutter极简入门(windows平台下)

一、Flutter介绍:Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。优点:1、快速开发毫秒级的热重载,修改后,您的应用界面会立即更新。使用丰富的、完全可定制的widget在几分钟内构建原生界面。2、富有表现力和...

2018-07-08 10:42:35 591

转载 Android进阶书籍推荐

当我还是初学者的时候,老大跟我说看书是一种比较低效的学习方法,你现在就应该多写代码,边写边学。现在回头思考,的确是这样的。对于初学者而言,最好的学习道路是:官方文档+写一万行代码+经历一个较大型项目的完整周期+开始对系统的实现原理产生兴趣。既然开始进阶了,就不单单是在网上看几篇教程,用几个框架,反复做重复的工作就可以满足的。养成看书的习惯很重要,特别是细致精美,一丝不苟的书。下面推荐一些今年我读过...

2018-07-02 10:13:14 2433 1

转载 佛系程序员的月薪五万指南

本文转载自:https://yq.aliyun.com/articles/578927?utm_content=m_45816摘要: 大师:很简单,我这里有一份佛系月薪 5 万指南,我看你骨骼清奇、脑门光亮,一看就是将要大富大贵之人,这份指南可以助你快速实现小目标!程序员问大师……青年:大师,你看咪蒙的助理都月薪 5 万了,我也想月薪 5 万!大师:很简单,我这里有一份佛系月薪 5 万指南,我看你...

2018-07-01 11:08:01 286

原创 OpenGL之图片效果处理(四)

上一章节,给大家介绍了图片色彩处理,这一章节,我给大家介绍一下图片效果处理。图片效果处理包括:这里主要讲图片模糊处理(高斯模糊,马赛克,膨胀,腐蚀,增强对比度)。原理:通过对采样点进行处理,是采样点和周围点之间产生某种数学联系,改变采样点的色值,从而达到预期效果。具体实现,主要改变片元着色器里面gl_FragColor的值来达到效果,这里列出具体的计算过程,其它同上一章内容:1、高斯模糊:    ...

2018-06-30 23:33:08 3196

原创 OpenGL之图片色彩处理(三)

一、OpenGL图片绘制的一般步骤:    1、编写顶点着色器和片元着色器;    2、编写需要绘制的图形类,包括:加载着色器脚本内容,加载图片数据,图片绘制;    3、配置绘制环境,绘制图片。二、具体如下:   1、 编写顶点着色器程序(glsl语言):attribute vec4 vPosition;attribute vec2 vCoordinate;//纹理数据uniform mat...

2018-06-30 21:38:30 1920

原创 OpenGL基础知识(二)

一、OpenGL要解决的问题:    由于CPU和GPU处理数据的速度快慢不一样,容易导致数据饥饿问题。OpenGL通过设置缓存(GPU能够控制和管理的连接RAM),使得CPU和GPU能够异步执行数据,相互干扰性降低,提高两者的执行效率,避免数据饥饿问题。二、渲染图像的OpenGL的程序执行的主要步骤:    1、从OpenGL的几何图元中设置数据,用于构建形状;    2、使用不同的着色器对输入...

2018-06-13 21:03:10 416

转载 Java中的时间和日期表示和计算(下)

转载请注明出处:http://blog.csdn.net/wl9739/article/details/51882913在上篇文章Java中的时间和日期(上)里面,简单介绍了Java中的Date类,Calendar类以及用于格式化的SimpleDateFormater类。使用这些的时候我们会明显地感受到其中的不便之处,比如,Calendar类的月份是从0开始计数的;日期格式输出不够友好,很多情况下...

2018-05-22 14:35:08 1261

转载 Java中的时间和日期表示和计算(上)

转载请注明出处:http://blog.csdn.net/wl9739/article/details/51839502自从JDK 1.0开始,Java就提供了Date来处理时间和日期,作为老古董自然有很多东西是过时的。然后出现了Calendar来解决了很多问题,但是Calendar使用比较复杂,并且有些反人类的地方。直到Java 8的出现,它吸收了Joda-Time库的经验,使得Java处理时间...

2018-05-21 18:05:41 552

原创 java 中的时间表示和计算

1、Date 和 Calendar 关系:Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。2、Calendar 与 Date 的相互转换:Calendar calendar = Calendar.getInstance();   // 从 Calendar 对象中获取 Date 对象 Date date = calendar.getTime()...

2018-05-21 17:39:53 617

原创 Failed to resolve: com.android.support:appcompat-v7:27.+ 解决方法

新创建一个android studio project.出现了Failed to resolve: com.android.support:appcompat-v7:27.+问题。我的工作环境是 android studio 2.3.3。app 下的 build.gradle文件内容如下:    apply plugin: 'com.android.application'android {...

2018-04-24 20:43:16 751

原创 OpenGL基础知识(一)

一、OpenGL是什么?1、OpenGL是一种应用程序编程接口,它是一种可以对图形硬件设备特性进行访问的软件库。2、OpenGL被设计为一个现代化的、硬件无关的接口,因此我们可以在不考虑计算机操作系统或窗口系统的前提下,在多种不同的图形硬件系统上,或者完全通过软件的方式实现OpenGL接口。3、OpenGL自身并不包含任何执行窗口任务,或者处理用户输入的函数。4、OpenGL没有提供用于表达三维物...

2018-04-22 17:58:39 717

转载 Android中Uri 和Path之间的相互转化

Android Uri to Path现在遇到的常规Uri有两种:媒体文件的Uri是content://, 表示这是一个数据库数据。去数据库查询正常返回。其他的文件Uri是file://, 表示这个是一个文件。这个uri是通过Uri.fromFile(File file)方法生成。Media Uri To Path在我简书中有一篇文章Android Uri to Path当中介绍了如何把从相册返...

2018-04-21 15:21:27 18854

转载 android 自定义Uri外部启动APP 以及启动通知栏

一、自定义Uri与外部启动1、概述上篇我们讲了Uri的结构,在这篇中,我们将看看如何利用自定义的URI来启动我的的应用。 有时,我们要通过外部Uri链接来启动我们的应用,主要是通过Uri隐式Intent匹配的方式:[java] view plain copyUri uri = Uri.parse("qijian://test.uri.activity?action=1");  Intent int...

2018-04-21 15:16:41 1680

转载 Android中的URI 和Uri

一、URI与Uri大家可能经常会看到在开发时,怎么有的时候是URI,有的时候是Uri,这是怎么回事?名称如此相像的两个类是有什么区别和联系?1.所属的包不同。URI位置在java.net.URI,显然是Java提供的一个类。而Uri位置在android.net.Uri,是由Android提供的一个类。所以初步可以判断,Uri是URI的“扩展”以适应Android系统的需要。2.作用的不同。URI类...

2018-04-21 15:11:17 15598

原创 Python实现矩阵转置

这篇文章主要介绍了Python实现矩阵转置的方法,结合实例形式较为详细的分析了Python实现矩阵转置的相关操作技巧。def trans(m):  a = [[] for i in m[0]]  for i in m:    for j in range(len(i)):      a[j].append(i[j])  return am = [[1, 2], [3, 4], [5, 6]]  #...

2018-04-13 10:09:26 17261 2

转载 Java实现之顺序表、链表、栈、队列

数据结构与算法是程序设计的两大基础,大型的IT企业面试时也会出数据结构和算法的题目,它可以说明你是否有良好的逻辑思维,如果你具备良好的逻辑思维,即使技术存在某些缺陷,面试公司也会认为你很有培养价值,至少在一段时间之后,技术可以很快得到提高。同时,它也是软考的重点,我们需要对这部分的内容进行一下总结。       我们先看一下数据结构和算法的整体内容。                        ...

2018-04-02 09:58:58 276

原创 Android 内存溢出和内存泄漏的区别

android内存管理Android应用层是由Java开发的,android的davlik虚拟机与jvm也类似,只不过它是基于寄存器的。在java中,通过new为对象分配内存,所有对象在java堆内分配空间;而内存的释放是由垃圾收集器(GC)来回收的。 Java采用了有向图的原理。Java将引用关系考虑为图的有向边,有向边从引用者指向引用对象。线程对象可以作为有向图的起始顶点,该图就是从起始顶点(...

2018-03-29 22:55:48 946

原创 Android的5个进程等级

1、foreground process 正处于activity resume状态 正处于bound服务交互的状态 正处于服务在前台运行的状态(StartForeGround()被调用) Service生命周期正在被执行(onCreate(),onStart(),onDestroy()) BroadcastReceiver正在执行onReceive()方法 杀死...

2018-03-29 22:51:55 159

转载 HashMap线程安全问题及解决方案

为什么线程不安全个人觉得 HashMap 在并发时可能出现的问题主要是两方面,首先如果多个线程同时使用put方法添加元素,而且假设正好存在两个 put 的 key 发生了碰撞(根据 hash 值计算的 bucket 一样),那么根据 HashMap 的实现,这两个 key 会添加到数组的同一个位置,这样最终就会发生其中一个线程的 put 的数据被覆盖。第二就是如果多个线程同时检测到元素个数超过数组...

2018-03-25 22:58:29 8624 2

转载 HashMap的实现原理及线程安全性

1.    HashMap概述:   HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2.    HashMap的数据结构:   在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不...

2018-03-25 22:45:55 708

原创 Python round() 函数

描述round() 方法返回浮点数x的四舍五入值。语法以下是 round() 方法的语法:round( x [, n] )参数x -- 数值表达式。n -- 数值表达式。返回值返回浮点数x的四舍五入值。实例以下展示了使用 round() 方法的实例:#!/usr/bin/pythonprint "round(80.23456, 2) : ", round(80.23456, 2)print...

2018-03-23 11:42:26 875

原创 Python enumerate() 函数

描述enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。语法以下是 enumerate() 方法的语法:enumerate(sequence, [start=0])参数sequence -- 一个序列、迭代器或其他支持迭代对象。st...

2018-03-23 11:37:59 152

原创 Python的标准数据类型及使用

标准数据类型在内存中存储的数据可以有多种类型。例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。Python 定义了一些标准类型,用于存储各种类型的数据。Python有五个标准的数据类型:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)Python数字数字数据类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会...

2018-03-23 11:27:42 230

原创 Android调试时部分华为手机不打印logcat的解决办法

最近在写代码时都是使用华为的手机作为测试机,发现一个问题,手机连接电脑上没有logcat打印,一开始以为是代码的问题,但是换了别的手机是可以的。去查了一下原来是华为的手机都是这样的情况,原因是国内的部分厂商定制的手机对于应用中的 Log 日志默认做了打印限制,需要手动设置才能打印出特殊级别的日志。目前发现有魅族和华为手机存在这样的问题,并且设置方式有所不同,遂纪录一下,以免后续再遇到这样的问题又要...

2018-03-22 15:03:05 540

原创 Android ANR是什么及相应的解决方法

1、什么是 ANR?ANR:Application Not Responding,即应用无响应2、ANR有哪些类型?    ANR一般有三种类型:    1. KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应    2. BroadcastTimeout(10 seconds) --BroadcastReceiver在特定时间内无法处理完成 ...

2018-03-16 10:56:49 469

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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