自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (2)
  • 收藏
  • 关注

转载 Android动态来改变App桌面图标

时不时的我们就会发现,一些我们常见的应用,比如某宝,某东,在一些特殊的日子中,比如双十一,元旦,为了迎合这样一个日子的气氛,在桌面的应用图标就会发生改变,其实对于这样的一个桌面图标更换,Android中为我们提供了AndroidManifest.xml里的标签实现方式(更多文章请关注我的微信公众账号,左边二维码)。我们知道,我们每写一个 Activity

2018-02-07 14:18:17 319

转载 ViewPager系列之ViewPager一屏显示多个子页面

ViewPager一屏显示多个子页面,常见的有两种形式:1、当前展示的页面右侧显示一部分下个页面的内容2、当前页面居中,左右两边分别显示上一个页面、下一个页面第 1 种表现形式的实现代码其实这种效果很容易实现,谷歌给我们提供了方法,只需要在adapter中重写这个方法就可以了。 /** * Returns the proportional

2018-01-26 11:09:00 475

原创 android 软件更新时解析包时错误

最近,公司需求,需要做一个内部APP升级提示的功能,我当时就想,垃圾,现在都是用第三方的提示了,比如,腾讯的tinker什么的 ,谁还自己写啊,不过,最后我想,这丫也是一个锻炼的机会,反正闲着也是闲着,然后就开始了自己的跳坑的节奏,解决链接:点击打开链接,这边文章是目前我个人认为,解决这类问题的最详细的文字,我就不在一一详细的说明了,但是,我发现一个新的问题,下面跟大家分享下:SDK版

2018-01-26 10:52:34 1032

原创 瓶颈期的想法

自从2014年以来,一直从事于Android开发工程师的工作,到现在,也有四年左右的工作经验了,但是最近发现,我遇到了瓶颈期,越来越讨厌写代码了,反而,对于产品,开始有自己的想法了,或许这跟我的工作环境有关,产品的东东,我也有参与,但是,现在不知道为什么非常喜欢产品这个岗位。昨天,跟老友说了下我的想法,他们也很支持,我在想,是不是新年后,申请转到产品岗位,现在真的是瓶颈期了。一直在困惑我自己!!!

2018-01-18 16:00:37 321

原创 网络请求

1.Http网路请求原理 2.【Android网络开发】(一)HTTP请求报文和HTTP响应报文 3.逐步解读HTTP报文的组成及含义 4.HTTP请求/响应报文结构 5.HTTP协议之报文详解 6.自定义view————进度条 7.AgentWeb , 一个简洁易用的 Android Web 库 8.仿京东收货地址 9.Android RxJava:这是一份全面 & 详细 的Rx

2018-01-17 11:26:29 232

转载 Java设计模式--单例模式

确保某个类有且只有一个对象实例存在,避免产生多个对象消耗过多的资源。实现单例模式主要有几个关键点:1.构造函数不对外开放,一般为private 2.通过一个静态方法或枚举返回一个单例对象3.确保单例类的对象有且只有一个,尤其是在多线程环境下4.确保单例类对象在反序列化时不会重新构建对象12345饿汉式:public class Singleton { pri

2018-01-17 11:18:13 206

转载 Java当中的四种引用

强引用,软引用,弱引用,虚引用.不同的引用类型主要体现在GC上:强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,JVM也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止。如果想中断强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样一来的话,JVM在合适的时间就会回收该对象软引用:在使用软引用时,如

2018-01-17 11:17:54 233

转载 关于JVM和(堆和栈的区别)

JVM特性平台无关性. Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码

2018-01-17 11:17:41 277

转载 Java中ArrayList、Vector、LinkedList三者的异同点

一、ArrayListArrayList是一个可以处理变长数组的类型,这里不局限于“数”组,ArrayList是一个泛型类,可以存放任意类型的对象。顾名思义,ArrayList是一个数组列表,因此其内部是使用一个数组来存放对象的,因为Object是一切类型的父类,因而ArrayList内部是有一个Object类型的数组类存放对象。ArrayList类常用的方法有add()、clear()、

2018-01-17 11:17:25 250

转载 Android 性能优化之内存泄漏的检测与修复

在 Android 开发中, 内存优化是APP性能优化中很重要的一个部分. 而在内存优化中, 最重要的就是修复内存泄漏问题. 本文就来介绍一下内存泄漏的基本概念以及常用的检测手段.1. 什么是内存泄漏简单来说, 当一个对象不再被使用时, 理应不存在任何强引用指向他从而可以让垃圾回收器(GC)在未来的某个时间点将其回收的, 但由于某些原因导致有强引用依然指向该对象, 使得该对

2018-01-17 11:17:00 300

转载 java设计模式--观察者模式

观察者模式定义了对象之间的一对多依赖,当一个对象状态改变时,它的所有依赖者都会收到通知并且自动更新。生活中很多地方用到这种模式,比如说天气预报订阅系统,报纸订阅系统等。下面一个实例模拟以下发布—-订阅过程/** * 观察者 * @author wangzl * */public class Coder implements Observer { public

2017-12-18 11:10:28 251

转载 Java设计模式--工厂模式

工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类。工厂模式的形态 工厂模式主要用一下几种形态: 1:简单工厂(Simple Factory):不利于产生系列产品 2:工厂方法(Factory Method):又称为多形性工厂 3:抽象工厂(Abstract Factory):又称为工具箱,产生产品族,但不利于产生新的产品一:简单工厂模式

2017-12-18 11:03:34 248

转载 TCP和UDP概念和区别

概念:TCP:是面向连接的, 可靠的流协议 可以提供面向连接的、可靠的、点到点的通信。UDP:是不具有可靠性的数据报协议. 细微的处理它会交给上层应用去完成.UDP的特点:1、每一次发送数据都需要绑定IP和端口号。相当于发送邮件,只管是否发送成功,不保证对方是否接收到数据,所以UDP是不安全的,有可能会丢失数据包。2、UDP:类似于HTTP,也属于短连接。

2017-12-18 11:02:03 622

转载 HTTP与HTTPS的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安

2017-12-18 11:00:29 266

转载 二分查找

二分查找算法(JAVA) 1.二分查找又称折半查找,它是一种效率较高的查找方法。2.二分查找要求:(1)必须采用顺序存储结构 (2).必须按关键字大小有序排列3.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后;将要查找的值和数组的中值进行比较,若小于中值则在中值前 面找,若大于中值则在中值后面找,等于中值时直接返回。然后依次是一个递归过

2017-12-18 10:59:15 260

转载 Java中HashMap,LinkedHashMap,TreeMap的区别

java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历

2017-12-18 10:58:38 216

转载 Java不可变对象

一、不可变类简介不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、Long和String等。可变类:相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。下面的理解可能会易懂一些:概念:不可变类的意思是创建该类的实例后,该实例的属性是不可改变的。Java

2017-12-18 10:57:55 255

转载 图片加载之Glide使用总结

概述作为Glide是谷歌推荐的图片加载库,Glide又着 支持video,Gif,SVG格式,同时有着很好的生命周期管理,支持Volley,OkHttp,更好的内存管理策略等优点。相关方法with():指定了声明周期load():加载资源,String/Uri/File/Integer/URL/byte[]/T,或者 loadFromMediaStore(U

2017-12-18 10:57:34 546

转载 Android开发中线程和线程池的使用

说到线程,我想大家都不陌生,因为在开发时候或多或少都会用到线程,而通常创建线程有两种方式:1、继承Thread类 2、实现Runnable接口12虽说这两种方式都可以创建出一个线程,不过它们之间还是有一点区别的,主要区别在于在多线程访问同一资源的情况下,用Runnable接口创建的线程可以处理同一资源,而用Thread类创建的线程则各自独立处理,各自拥有自己的资源。 所以,在Ja

2017-12-18 10:57:14 266

转载 Android的Handler消息传递机制

能简单说得我们尽量不复杂:为了避免ANR,我们会通常把 耗时操作放在子线程里面去执行,因为子线程不能更新UI,所以当子线程需要更新的UI的时候就需要借助到安卓的消息机制,也就是Handler机制了。一个程序的运行,就是一个进程的在执行,一个进程里面可以拥有很多个线程。主线程:也叫UI线程,或称ActivityThread,用于运行四大组件和处理他们用户的交互。 Activi

2017-12-18 10:55:55 311

转载 Android性能优化方案总结

Android的性能优化主要是从,布局优化,绘制优化,内存泄漏优化,响应速度优化,listview优化,bitmap优化,线程优化进行优化处理的。1.布局优化和绘制优化:减少视图层级可以有效的减少内存消耗,因为视图是一个树形结构,每次刷新和渲染都会遍历一次。 布局优化的思想就是减少布局的层级,主要是采用include标签、merge标签、ViewStub标签,其中include

2017-12-15 10:28:47 245

转载 OKHttp介绍

OkHttp是一个高效的HTTP库:会从很多常用的连接问题中自动恢复。如果服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP。OkHttp还处理了代理服务器问题和SSL握手失败问题。OKHttp支持 SPDY ,共享同一个Socket来处理同一个服务器的所有请求如果SPDY不可用,则通过连接池来减少请求延迟。总体设计:上 面是OK

2017-12-15 10:27:32 370

转载 Retrofit原理浅析

Retrofit是Square组织开发维护的一款网络框架。Retrofit非常适合处理RESTful风格的网络接口。Retrofit通过注解和动态代理简化了网络请求的代码工作量,与OKHttp为同一组织开发,能够很好的结合使用。Retrofit和okhttp配合使用的优点Retrofit其实是在okhttp的基础之上进行了封装。把网络请求都交给给了Okhttp,我们只需要通过简单的

2017-12-15 10:26:30 213

转载 MVC, MVP, MVVM比较以及区别

MVC模式:MVC,Model View Controller,是软件架构中最常见的一种框架,简单来说就是通过controller的控制去操作model层的数据,并且返回给view层展示,具体见下图  当用户出发事件的时候,view层会发送指令到controller层,接着controller去通知model层更新数据,model层更新完数据以后直接显示在view层上,这就是MVC

2017-12-15 10:25:41 566

转载 常用的图片加载库的区别(Gilde,Picasso,Image-loader,Fresco)

Gilde,Picasso,Image-loader,Fresco图片加载库的使区别GlideGlide是一个非常成熟的图片加载库,他可以从多个源加载图片,如:网路,本地,Uri等,更重要的是他内部封装了非常好的缓存机制并且在处理图片的时候能保持一个低的内存消耗。 当我们调整imageview的大小时,Picasso会不管imageview大小是什么,总是直接缓存整张图片,而G

2017-12-15 10:25:23 361

转载 String,StringBuffer,StringBuilder的区别

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。1.可变与不可变String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。    private final char value[

2017-12-15 10:24:49 160

转载 java作用域public protected private,以及不写时的区别

下面我简单的画一张表来说明问题:modifiers作用域(可见)当前类同包子孙类其他包public√ √ √  √protected √ √ √×default(friendly) √ √××

2017-12-15 10:24:21 340

转载 java实现冒泡排序

一、基本概念:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一

2017-12-15 10:23:26 218

原创 Android中常出现内存泄漏的情况

1. 有“static”变量引用待释放类实例示例代码:public class StaticReferenceActivity extends AppCompatActivity { private static final String NAME = StaticReferenceActivity.class.getSimpleName(); private s

2017-12-15 10:21:09 221

转载 Android中动画的介绍以及使用

1 背景不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今天来一发Android应用的各种Animation大集合。英文厉害的请直接移步参考Android Developer。Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类:View Animation: 视图

2017-12-14 14:15:19 1193

转载 EventBus 源码解析

概述EventBus是一款针对Android优化的发布/订阅(publish/subscribe)事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅。以及将发送者和接收者解耦。比如请求网络,等网络返回时通过Handler或B

2017-12-14 13:51:54 232

转载 Android中的内存管理机制以及正确的使用方式

概述从操作系统的角度来说,内存就是一块数据存储区域,属于可被操作系统调度的资源。现代多任务(进程)的操作系统中,内存管理尤为重要,操作系统需要为每一个进程合理的分配内存资源,所以可以从两方面来理解操作系统的内存管理机制。第一:分配机制。为每一个进程分配一个合理的内存大小,保证每一个进程能够正常的运行,不至于内存不够使用或者每个进程占用太多的内存。第二:回收机制。在系统内存不

2017-12-14 11:28:28 639

转载 Java类加载器概述

1.类的加载过程  JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:1) 装载:查找并加载类的二进制数据;2)链接:验证:确保被加载类的正确性;准备:为类的静态变量分配内存,并将其初始化为默认值;解析:把类中的符号引用转换为直接引用;3)初始

2017-12-14 11:20:25 236

转载 android触摸事件分发与处理简述

android触摸事件分发与处理android的分发机制:由父控件判断是否拦截,如果不拦截事件,则继续分发到子控件,然后一直分发下去。处理:与分发相反,由子控件先处理事件,如果子控件不处理,则交给父控件处理,一直向上传递,直到那个控件处理了触摸事件相关方法:Boolean dispatchTouchEvent(MotionEvent ev)接收到触摸事件时,是否分发

2017-12-14 11:17:04 359

转载 Listview 和RecycleView的异同

在我的一篇介绍Android新控件RecyclerView的博客( Android L新控件RecyclerView简介 )中,一个读者留言说RecyclerView跟ListView之间好像没有什么不同,我觉得这是一个好问题,应该明确地区分一下两者的睯,所以我就研究了一下它俩之间的区别,然后也对两者的使用有了更加深入的了解。Android是一个不断进化的平台,Android 5.0的

2017-12-14 11:12:34 310

转载 Java中HashMap的实现原理

一、Java中的hashCode和equals1、关于hashCodehashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的 如果两个对象相同,就是适用于equals(java.lang.Object) 方法,那么这两个对象的hashCode一定要相同 如果对象的equals方法被重写

2017-12-14 11:11:35 194

转载 Java中抽象类和接口的区别

接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final (这里需要说一点,既然一个变量被final修饰了,那么这个变量就是一个常量!!!!!变量必须初始化成常量!!!!!)接口和抽象类的区别接口和抽象类还是有一定区别的,接口可以看

2017-12-14 11:05:39 161

转载 java中面向对象思想和三大特性的理解

java是一门纯粹的面向对象的语言。面向对象这种程序设计模式它将现实世界中的一切事物都看作是对象,例如,一个人是一个对象,汽车、飞机、小鸟等等,都是对象;它强调从对象出发,以对象为中心用人类的思维方式来认识和思考问题。每个对象都具有各自的状态特征(也可以称为属性)及行为特征(方法),java就是通过对象之间行为的交互来解决问题的。面向对象:1、面向对象面向对象是一种程序设计

2017-12-14 11:02:04 604

转载 Java Socket编程和TCP/IP协议

Socket编程一、网络基础知识1、两台计算机间进行通讯需要以下三个条件: IP地址、协议、端口号2、TCP/IP协议: 是目前世界上应用最为广泛的协议,是以TCP和IP为基础的不同层次上多个协议的集合,也成TCP/IP协议族、或TCP/IP协议栈 TCP:Transmission Control Protocol 传输控制协议 IP:Internet Pr

2017-12-14 11:01:15 302

转载 Java算法给定一个整数数组,找出其中两个数相加等于目标值

给定一个整数数组,找出其中两个数相加等于目标值 例如:给定数组及目标值 nums = [2,7,11,15] ,target = 9 因为nums[0] + nums[1] = 2 + 7 = 9 返回[0,1]/** * 使用辅助空间(使用哈希表,时间复杂度是O(n),空间复杂度:O(n),n是数组大小) * @param nums * @param

2017-12-13 16:43:44 7623 1

Android身份证校验工具类

使用我的工具类可以轻松实现身份证号码是否有效的校验

2017-08-11

svn_1.9.5.27581_x64.zip

压缩包内有安装包和汉化包 都是同一个版本,先把安装包装上,在安装汉化包

2017-07-11

空空如也

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

TA关注的人

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