Java
Mr丶D
这个作者很懒,什么都没留下…
展开
-
设计模式:从mvc到mvp
mvc与mvp概述MVP是Model(数据) View(界面) Presenter(表现层)的缩写,它是MVC架构的变种,强调Model和View的最大化解耦和单一职责原则 Model:负责数据的来源和封装,比如网络请求类,数据库操作类以及java bean,如果有必要则提供接口暴露自己处理数据的状态和进度。 View:负责UI相关,如布局UI的初始化,各种listener的设置。在And原创 2017-01-14 16:48:57 · 731 阅读 · 0 评论 -
Rx_java(7)Rx_java2操作符(throttleFirst、debounce )介绍-防止按钮被重复点击案例
相关文章观察者模式实例讲解使用java中的类(Observable与Observer)实现观察者模式Rx_java2的基本使用Rx_java2中的线程控制Rx_java2操作符介绍1(Map、Flatmap)Rx_java2操作符介绍2(debounce 、filter 、switchMap )Retrofit结合RxJava2使用写在前面本篇将通过一个实例-防止按钮被原创 2018-01-08 11:32:46 · 9436 阅读 · 0 评论 -
方法数超过65536,DexIndexOverflowException的解决
异常概述在项目中,遇到这样一个问题,程序直接编译运行到模拟器上没问题,但是在打包签名时,提示失败,然后报下面的异常 解决方式首相在module的gradle中配置compile 'com.android.support:multidex:1.0.1'android { compileSdkVersion 24 buildToolsVersion "25.0.3" defau原创 2017-11-23 10:08:19 · 375 阅读 · 0 评论 -
重复依赖多个版本的库,java.util.zip.ZipException: duplicate entryd的解决方式
异常描述在项目打包签名时,总是出现下面的问题, 主要意思就是重复依赖了photoview包,所以需要去External Libraries查看,我的External Libraries目录下确实有不同版本的photoView库,解决方案android{ configurations { all*.exclude module: 'PhotoView' //去除重原创 2017-11-23 10:28:06 · 1726 阅读 · 0 评论 -
Android如何高效的加载图片(1)---加载大尺寸图片
完美的去加载bitamap,不但可以增加用户体验度,还能避免内存溢出。加载bitmap,一部小心就会导致应用crash.报出下面的异常。java.lang.OutofMemoryError: bitmap size exceeds VM budget.如果需要加载图片比较大。很容易造成内存溢出,如何去防止内存溢出呢。读取bitmap的尺寸和类型BitmapFactory类提供了很多decoding方原创 2017-07-11 11:50:56 · 1148 阅读 · 0 评论 -
Android如何高效的加载图片(2)---在ui线程中处理Bitmaps
前面我们总结了Androd中如何去加载尺寸比较大的图片。现在我们需要考虑的问题是当我们从磁盘或者网络中加载图片时,由于磁盘的读取速度或者网速的原因导致话费很长的时间去加载。如果吧这些耗时的代码放在ui线程,会导致ANR异常。 所以。这篇文章中,我们将讨论使用AsyncTask在后台线程中去加载图片,并且最后将会教你如果处理并发问题。使用AsyncTaskAsyncTask类提供了一些的方法在后台线原创 2017-07-11 16:20:55 · 1634 阅读 · 2 评论 -
Android如何高效的加载图片(3)--- 图片的缓存
如果我们要不止一次去加载很多的图片,像在ListView、GridView、ViewPager等控件中加载图片。本篇将为大家介绍怎样在在内存和磁盘中缓存图片。内存缓存(Memory Cache)内存缓存可以让我们快速的访问图片,我们通常使用LruCache类来进行内存缓存,它可以将一个最近应用的对象,保存到一个强引用的LinkedHashMap中,并且当内存不够的时候,及时的去释放掉最近使用的对象。原创 2017-07-13 16:26:21 · 478 阅读 · 0 评论 -
Android如何高效的加载图片(4)--- 图片占用内存的管理
我们在做完图片的缓存后,还需要做一些具体的操作来帮助垃圾回收和图片的复用。 不同的版本有不同的方式,在本篇文章中,主要针对Android 3.0及以上版本进行详细介绍。在Android2.3.3及以下版本中内存的管理在在Android2.3.3及以下版本中,用recycle() 方法帮助垃圾回收图片, 如果有大量图片,很容易导致OOM,调用了recycle()方法后,图片会尽快的被作为垃圾回收。注原创 2017-07-13 17:32:42 · 490 阅读 · 0 评论 -
从源码理解Handler
Handler的简单回顾我们都知道,Android中更新ui界面都需要在主线程中的完成,如果在子线程中更新ui会导致程序崩溃,但是如果在子线程中获取到了数据,需要吧数据展示到界面上,此时我们怎么来解决呢,我们很自然想到了Handler, 首先在ui线程创建一个Handler对象,然后在子线程中创建一个Message对象,借助的ui线程创建的Handler发送出去,最后在Handler的handler原创 2017-05-23 18:29:09 · 345 阅读 · 0 评论 -
从使用到深入理解 依赖注入框架-Dagger2
Dagger2介绍Dagger是为Android和Java平台提供的在编译时进行依赖注入的框架。什么是依赖注入:依赖注入是面向对象编程的一种设计模式,其目的是为了降低程序耦合,这个耦合就是类之间的依赖引起的。 我们在一个类classA中,需要去调用另一个类classB的方法,我们就在类classA中直接创建了另一个类classB的实例,然后直接通过classB的实例去调用方法,表明,表面上看上去没原创 2017-06-12 22:21:00 · 406 阅读 · 1 评论 -
token那些事儿
一、token的介绍 接口特点汇总:1、因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效;2、因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程;3、有点接口需要用户登录才能访问;4、有点接口不需要...原创 2018-10-09 09:31:15 · 1678 阅读 · 0 评论 -
RESTful设计
关于REST的URI设计1、URI中不应该包含动词因为"资源"表示一种实体,所以应该是名词,URI不应该有动词,动词应该放在HTTP协议中。举例来说,某个URI是/posts/show/1,其中show是动词,这个URI就设计错了,正确的写法应该是/posts/1,然后用GET方法表示show。如果某些动作是HTTP动词表示不了的,你就应该把动作做成一种资源。比如网上汇款,从账户1向账户...原创 2018-10-12 11:31:24 · 870 阅读 · 0 评论 -
Dagger2 的模块化实现 以及常见问题总结
简述当我们在项目中使用Dagger2的时候,如果某个类 需要在项目的很多地方被引用到,比如UserInfo这个类,那么我们需要为它单独创建一个Module,来提供UserInfo的实例对象,代码描述下面的这个类UserManager的构造方法中,需要传入UserInfo这个类实例对象, 而UserInfo就是我们需要在全局使用的类,它需要一个单独的Module来提供其实例对象。原创 2018-01-23 11:24:54 · 677 阅读 · 1 评论 -
Dagger2高级使用(自定义Scope、SubComponent、Lazy与Provider)
自定义Scope我们知道component的dependencies与component自身的scope不能相同,即组件之间的scope不同 意思就是当我们写了一个componentA,同时通过dependencies引用了另一个componentB 如下面代码所示@Component(modules = AModule.class,dependencies = ComponentB.原创 2018-01-24 16:25:44 · 1363 阅读 · 0 评论 -
Retrofit结合RxJava2使用
相关文章观察者模式实例讲解使用java中的类(Observable与Observer)实现观察者模式Rx_java2的基本使用Rx_java2中的线程控制Rx_java2操作符介绍1(Map、Flatmap)Rx_java2操作符介绍2(debounce 、filter 、switchMap )Rx_java2操作符介绍3(throttleFirst、debounce )原创 2018-01-10 17:49:56 · 872 阅读 · 0 评论 -
Rx_java(6)Rx_java2操作符(debounce 、filter 、switchMap )介绍-搜索功能小案例
相关文章观察者模式实例讲解使用java中的类(Observable与Observer)实现观察者模式Rx_java2的基本使用Rx_java2中的线程控制Rx_java2操作符介绍1(Map、Flatmap)Rx_java2操作符介绍3(throttleFirst、debounce )Retrofit结合RxJava2使用写在前面本篇将通过一个实例-在输入框输入关键字,原创 2018-01-05 11:52:39 · 1834 阅读 · 0 评论