自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT界寿险规划师的博客

技术#保险 欢迎加微信交流!

  • 博客(60)
  • 资源 (11)
  • 收藏
  • 关注

原创 android listview使用glide异步加载图片错位,闪烁问题

技术交流、保险配置问题,欢迎电话微信交流!

2019-08-14 17:04:37 1848 1

原创 解决Glide批量加载图片时出现OOM内存溢出的问题

在接手的项目中原来是这样使用的。如下public static void setImage(ImageView imageview, String url, Context context, int defultPic) { if (TextUtils.isEmpty(url + "")) { imageview.setImageResource(de...

2019-04-25 18:07:04 5645 1

原创 自定义View卡顿优化

前段时间在项目中用到折线图,于是自己自定义了View,结果在屏幕滑动时,每当自定义View出现时,手机就表现出不顺畅 卡顿的现象。如图所示:于是通过跟踪判定是该折线图的问题。onDraw中的代码是:在drawValue(canvas)中画了有500左右的点和线,耗时比较长。于是进行了以下的优化@Override protected void onDraw(Canvas canvas) {...

2018-06-12 14:52:54 3816 1

原创 关于小米新版MIUI Toast会显示APP名字的问题解决

if (mToast == null) { //将这一句换成下面两句// mToast = Toast.makeText(context, showmsg, duration); mToast=Toast.makeText(context,null,duration); mToast.setText(s...

2018-05-07 09:57:53 3220 2

原创 关于No view found for id 0x7f080135 (com.xxx.xxx:id/viewpager) for fragment PopupWindow

最近在开发项目中,遇到了一个问题。PopupWindow中无法嵌套viewpager+Fragment,现在进行总结一下。问题描述:在Fragment中弹出一个PopupWindow,PopupWindow中用viewpager加载多个Fragment时出现上面问题。网上搜的都是那些什么没有设置id之类的东西,或者getSupportFragmentManager()替换成getChildFrag...

2018-05-04 18:24:32 6193 6

原创 Android 中关于Environment类的总结

Environment类是一个提供访问环境变量的类。1、getExternalStorageState() 方法,返回String 获取外部存储设备的当前状态。返回值如下表返回值说明Environment.MEDIA_BAD_REMOVAL 表明SDCard 被卸载前己被移除 Environment.MEDIA_CHECKING 表明对象正在磁盘检查。 Environment.MEDIA_MOUN...

2018-05-04 16:32:23 8484

原创 关于FileProvider的总结

一、背景Android 从 N 开始不允许以 file:// 的方式通过 Intent 在两个 App 之间分享文件,取而代之的是通过 FileProvider 生成 content://Uri 。如果在 Android N 以上的版本继续使用 file:// 的方式分享文件,则系统会直接抛出异常,导致 App 出现 Crash ,同时会报以下错误:android.os.FileUriExpose...

2018-05-04 15:55:06 1668

原创 android 7.0 调用相机功能异常FileUriExposedException

    之前的项目有用户反馈在Android 7.0既以上版本在更换头像时出现崩溃现象,通过测试跟踪,发现报FileUriExposedException错误。今天做一下总结,并分享一下。Android 6.0之后,需要动态申请权限。调用摄像头拍照获取图片这个功能,需要动态申请照相机权限、SD卡读写权限。从Android 7.0开始,一个应用提供自身文件给其他应用使用时,如果给出一个file://...

2018-05-04 11:52:08 327

原创 Android Studio上方便使用butterknife注解框架的偷懒插件Android Butterknife Zelezny

Android Butterknife Zelezny这个插件,事实上这是个Android Studio的plugin,他可以让你在添加Butterkinfe注解时偷偷懒,直接点击几下鼠标既可以完成注解的增加,同时还是图形化的操作,可以说,大大的减轻了开发负担。尤其是当你的layout中有很多很多的view需要通过findviewbyid来获得引用时。实际上如果不用这个插件而通过手打加Buttef

2017-11-23 17:52:25 404

原创 EventBus源码分析

前面一篇文章讲解了EventBus的使用,但是作为开发人员,不能只停留在仅仅会用的层面上,我们还需要弄清楚它的内部实现原理。所以本篇博文将分析EventBus的源码,看看究竟它是如何实现“发布/订阅”功能的。事件注册根据前一讲EventBus使用详解我们已经知道EventBus使用首先是需要注册的,注册事件的代码如下: EventBus.getDefault().regis

2017-11-22 15:06:43 210

原创 EventBus使用说明

目前EventBus最新版本是3.1.1,所以本文是基于EventBus3.1.1的。概述EventBus是针一款对Android的发布/订阅事件总线。它可以让我们很轻松的实现在Android各个组件之间传递消息,并且代码的可读性更好,耦合度更低。如何使用(1)首先需要定义一个消息类,该类可以不继承任何基类也不需要实现任何接口。如:

2017-11-22 11:13:55 205

原创 java 设计模式整理(方便记忆)

1创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。工厂模式(Factory Pattern)  :定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个.工厂方法让类把实例化推迟到子类.   抽象工厂模式(Abstract Factor

2017-10-19 15:15:40 657

原创 JAVA 判断身份证的正确性

/*********************************** 身份证验证开始 ****************************************//*** 身份证号码验证 1、号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,* 八位数字出生日期码,三位数字顺序码和一位数字校验码。 2、地址码(前

2017-07-28 16:22:15 3169 1

原创 微信IM聊天信息下拉加载数据

通常,app中的数据都是以ListView的形式展示的。默认地,把“新”数据添加到数据列表的尾部。但是,如果是IM类型的app,比如查看历史消息这个模块。新数据并不是插到数据列表的尾部,而是插到数据列表的头部。要实现比较好的用户体验,需要保持当前的ListView的位置。换句话说,如果我们能够随心所欲地指定ListView滚动的位置,那么这个问题就迎刃而解。在ListVie

2017-07-18 09:48:13 3870

原创 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析

经常会有朋友问我这个问题:“能不能一个App只提供一套切图适应所有的分辨率呢?”我觉得有必要写一篇文章来研究一下这个问题,所以就有了这篇文章。本篇内容主要探讨以下场景:同一张图片,放置在不同的drawable文件夹,在同一设备上运行,对图片大小及内存占用有什么影响。测试环境采用锤子T1手机(1080*1960,xxhdpi)进行测试对于内存的查看,使用AS自带的内存

2017-07-06 10:01:37 651

原创 Java 获取strings字符串中所有str字符所在的下标

/** * 获取strings字符串中所有str字符所在的下标 * @param strings 母字符串 * @param str 子字符串 * @return 字符串在母字符串中下标集合,如果母字符串中不包含子字符串,集合长度为零 */public static List getIndex(String strings, String str){ List list=new

2017-06-23 10:07:14 18509

原创 Android 开发中的一些建议

尽量阅读官方文档,这才是原汁原味、不失真的开发指导;即使你认为设计程序是浪费时间,你只是喜欢写程序,至少你也得用思维导图理清思路,思维导图对于帮助你理解设计文档、理清思路有很大的帮助;不要用Intent传递大量的数据,这有可能导致ANR或者报异常;在退出页面后,系统不一定会及时执行onDestory方法,如果你在onDestory方法里做关闭文件、释放内存的操作

2017-05-10 16:15:45 279

原创 Java面向对象设计模式(二十三)——解释器模式(Interpreter)

相关文档总结:Java面向对象设计模式解释器模式(Interpreter)解释器模式是我们暂时的最后一讲,一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄。Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,代码如下:[java] view plain copy

2017-05-09 17:13:12 599

原创 Java面向对象设计模式(二十二)——中介者模式(Mediator)

相关文档总结:Java面向对象设计模式中介者模式(Mediator)        中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用。先看

2017-05-09 17:09:06 614

原创 Java面向对象设计模式(二十一)——访问者模式(Visitor)

相关文档总结:Java面向对象设计模式访问者模式(Visitor)        访问者模式把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。访问者模式适用于数据结构相对稳定算法又易变化的系统。因为访问者模式使得算法操作增加变得容易。若系统数据结构对象易于变化,经常有新的数据对象增加进来,则不适合使用访问者模式。访问者模式的优点是增加操作很容易,因为增

2017-05-09 17:05:35 631

原创 Java面向对象设计模式(二十)——状态模式(State)

相关文章总结:Java面向对象设计模式状态模式(State)核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作,而且你的好友也能看到你的状态,所以,状态模式就两点:1、可以通过改变状态来获得不同的行为。2、你的好友能同时看到你的变化。看图:State类是个状态类,Context

2017-05-09 17:01:07 532

原创 Java面向对象设计模式(十九)——备忘录模式(Memento)

相关文档总结: Java面向对象设计模式备忘录模式(Memento)        主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,个人觉得叫备份模式更形象些,通俗的讲下:假设有原始类A,A中有各种属性,A可以决定需要备份的属性,备忘录类B是用来存储A的一些内部状态,类C呢,就是一个用来存储备忘录的,且只能存储,不能修改等操作。做个图来分析一下:

2017-05-09 16:36:49 613

原创 Java面向对象设计模式(十八)——命令模式(Command)

相关文档总结: Java面向对象设计模式命令模式(Command)        命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实现的。我们看看关系图:

2017-05-09 14:02:27 678

原创 Java面向对象设计模式(十七)——责任链模式(Chain of Responsibility)

相关文档:Java面向对象设计模式责任链模式(Chain of Responsibility)        接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。先

2017-05-09 10:41:22 597

原创 Java面向对象设计模式(十六)——迭代子模式(Iterator)

相关文章总结:Java面向对象设计模式迭代子模式(Iterator)        顾名思义,迭代器模式就是顺序访问聚集中的对象。一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图:        这个思路和我们常用的一模一样

2017-05-09 09:47:20 665

原创 Java面向对象设计模式(十五)——观察者模式(Observer)

相关文档:Java面向对象设计模式观察者模式(Observer)        包括这个模式在内的接下来的四个模式,都是类和类之间的关系,不涉及到继承,学的时候应该 记得归纳,记得本文最开始的那个图。观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句

2017-05-08 14:54:09 1984

原创 Java面向对象设计模式(十四)——模板方法模式(Template Method)

相关文档:Java面向对象设计模式模板方法模式(Template Method)解释一下模板方法模式,就是指:一个抽象类中,有一个主方法,再定义1...n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用,先看个关系图:就是在AbstractCalculator类中定义一个主方法calculat

2017-05-08 11:32:42 675

原创 Java面向对象设计模式(十三)——策略模式(strategy)

相关文档:Java面向对象设计模式策略模式(strategy)策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。       一种方法是 需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下:图中ICalcul

2017-05-08 10:16:32 888

原创 Java面向对象设计模式(十二)——享元模式(Flyweight)

相关文章:Java面向对象设计模式享元模式(Flyweight)享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。FlyWeightFactory负责创建和管理享元单元,当一个客户端请求时,工厂需要检查当前对象池中是否有符合条件的对象,如果有,就返回已经存在的对象,如果没有,则创建一个新

2017-05-04 17:45:43 672

原创 Java面向对象设计模式(十一)——组合模式(Composite)

相关文章:Java面向对象设计模式组合模式(Composite)组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,看看关系图:直接来看代码:[java] view plain copypublic class TreeNode {            private Strin

2017-05-04 10:54:50 535

原创 Java面向对象设计模式(十)——桥接模式(Bridge)

相关文章:Java面向对象设计模式桥接模式(Bridge)        桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自

2017-05-03 18:20:48 699

原创 Java面向对象设计模式(九)——外观模式(Facade)

相关文章:Java面向对象设计模式外观模式(Facade)外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口,看下类图:(我们以一个计算机的启动过程为例)我们先看下实现类:[java] view pla

2017-05-03 17:54:19 714

原创 Java面向对象设计模式(八)——代理模式(Proxy)

相关文章:Java面向对象设计模式代理模式(Proxy)其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们的想法。先来看

2017-05-03 17:30:47 721

原创 Java面向对象设计模式(七)——装饰模式(Decorator)

相关文章:Java面向对象设计模式装饰模式(Decorator)顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:[java] view

2017-05-03 17:15:15 852

原创 Java面向对象设计模式(六)——适配器模式

7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种模式的起源,我们看下面的图:适配器模式(Adapter)        适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器

2017-05-03 15:21:12 1103

原创 Java面向对象设计模式(五)——原型模式

原型模式(Prototype)      原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。本小结会通过对象的复制,进行讲解。在Java中,复制对象是通过clone()实现的,先创建一个原型类:[java] view plain copy

2017-05-02 16:58:45 815

原创 Java面向对象设计模式(四)——建造者模式

建造者模式(Builder)工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。我们看一下代码:还和前面一样,一个Sender接口,两个实现类MailSender和SmsSender。[java] view

2017-05-02 16:44:47 1049

原创 Java面向对象设计模式(三)——单例模式

单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一

2017-05-02 15:10:52 1399

原创 Java面向对象设计模式(二)——抽象工厂模式

抽象工厂模式(Abstract Factory)      工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。因为抽象工厂不太好理解,我们先看看图,然后就和代码,就比较

2017-05-02 15:04:42 1369

原创 Java面向对象设计模式(一)——工厂方法模式

工厂方法模式(Factory Method)工厂方法模式分为三种:1、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:举例如下:(我们举一个发送邮件和短信的例子)首先,创建二者的共同接口:[java] view plaincopypublic interface Sender {      p

2017-05-02 14:46:32 3577

Java面向对象设计模式代码总结

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。本资源配套博文讲解。博文地址:http://blog.csdn.net/u011814346/article/details/71080847

2017-05-09

IOS Bluetooth low energy (蓝牙低功耗)

解决苹果app别拒绝,因为蓝牙低功耗被拒绝的问题。

2016-11-03

ViewPager实现图片滑动及缩放

ViewPager实现了图片的左右滑动显示,且图片可进行缩放,包括手势和点击。 注意引入jar包

2015-07-15

超炫效果相册浏览器

超炫效果相册浏览器

2015-07-15

ViewPager图片手势放大缩小,滑动效果

使用ViewPager实现的图片手势,双击放大效果,相当流畅与系统图片效果一致

2015-07-15

Android 访米聊手写和涂鸦源码

Android 访米聊手写和涂鸦源码

2014-09-12

及时通讯 服务器和客户端

及时通讯 服务器和客户端及时通讯 服务器和客户端

2014-09-12

android调用系统相机和相册功能及处理图片功能

android调用系统相机和相册功能及处理图片功能

2014-09-12

鬼子大扫雷

本游戏好玩实用 还可以学到相关的代码知识

2013-09-28

音乐播放器

这是一款视觉超好的播放器,其实现了所有的功能,代码易懂,备注全面。

2013-09-28

JAVA学习资料汇总

JAVA学习资料汇总

2013-08-25

空空如也

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

TA关注的人

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