自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (17)
  • 收藏
  • 关注

原创 继续学习

第三方框架BRAVH www.recyclerview.org okPicasso Transtormations okhttps://github.com/wasabeef/picasso-transformations/blob/master/README.mdhellocharts 在android中使用图表 fresco okpullzoomview p

2018-01-02 10:33:55 1021

原创 开源项目阅读

仿网易云音乐https://github.com/aa112901/remusicRecyclerView多重itemType public class Adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { final static int FIRST_ITEM = 0;...

2017-11-07 16:58:19 2837 1

原创 日常工作中遇到的那些坑

ListView多类型的坑//滚动时抛出索引越界异常... //java.lang.ArrayIndexOutOfBoundsException: length=2; index=2 //注意类型不能随便定义 范围应该为 0...getViewTypeCount-1 @Override public int getItemV...

2017-08-23 10:55:58 15813

原创 访问者模式___学习笔记

访问者模式 /** * 访问者模式: * 表示一个作用于某对象结构中的各元素的操作. * 它使你可以在不改变各个元素的前提下定义作用于这些元素的新动作; * * 应用了双分派的技术, * 首先在客户端 man.accpet(具体状态); * 然后"man调用了 具体...

2018-04-13 12:17:06 337

原创 解释器模式____学习笔记

解释器模式 /** * 解释器模式 * 给定一个语言,定义它的文法的一种表示,并定义一个解释器, * 这个解释器使用该表示来解释语言中的句子. * * 应用场景: * 如果一个特定类型的问题发生的频率发生地足够高,那么就值得将该问题的各个实例表示为一个简单语言的句子. * ...

2018-04-13 11:11:43 317

原创 享元模式___学习笔记

享元模式 /** * 享元模式 * 运用共享技术有效的支持大量细粒度的对象. * * 享元模式的内部&外部状态 * 享元模式内部是不会随环境变化而变化的部分,可以称为是享元对象的内部状态 * 而随着环境改变而改变,不可以共享的部分就是享元对象的外部状态了. * * 作...

2018-04-12 15:53:17 416

原创 中介者模式__学习笔记

中介者模式//又名调停者模式 /** * * 中介者模式: * 应用迪米特法则,如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用. * 通过中介对象,来与其他对象进行交互,使得系统的结构不会因为新对象的引入造成大量的修改工作 * * * 作用: * 减少了...

2018-04-12 12:05:07 275

原创 责任链模式__学习笔记

责任链模式 /** * 责任链模式: * 使得多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系. * 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理该请求为止 * * 作用: * 使得请求的发送者和接收者都没有对方的明确信息,且链中的自己并不知道链的结构....

2018-04-12 11:05:32 310

原创 命令模式___学习笔记

命令模式 /** * 命令模式 * 将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化; * 将请求排队或记录请求日志; * 以及支持可撤销的操作 * * 作用: * 1.较容易设计一个命令队列 * 2.在需要的情况下,容易实现将...

2018-04-12 10:21:20 224

原创 桥接模式___学习笔记

桥接模式 /** * 桥接模式: * 将抽象部分和它的实现分离,使他们可以独立地变化 * 实现,指的是抽象类和他的派生类用来实现自己的对象 * * 作用: * 实现系统可能有角度分类,每一个分类都有可能变化,那么就把这种多角度分离出来让它独立变化,较少他们之间的耦合 * ...

2018-04-11 17:27:44 147

原创 单例模式___学习笔记

单例模式 /** * 单例模式: * 保证一个类仅有一个实例,并提供一个访问它的全局方法 * * 作用: * 保证这个类没有其他实例被可以被创建 */几种不同的实现方法public enum EnumSingleInstance { INSTANCE;}public c...

2018-04-11 16:17:14 147

原创 迭代器模式____学习笔记

迭代器模式 /** * 迭代器模式: * 提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露对象的内部实现 * 需要为不同的聚集结构提供开始 下一个 是否结束 当前为哪一项等统一接口 * 该模式已经被提议撤销 * foreach in ,等就是该模式的提现 * * 应用场...

2018-04-11 15:48:31 273

原创 组合模式____设计模式学习笔记

组合模式UML结构图范例/** * 为组合的对象声明接口,在适当的情况下,实现所有类共有接口的默认行. * 声明一个接口用于访问和管理Component的子部件. */public abstract class Component { public String name; public Component(String name) {...

2018-04-10 15:38:13 183

原创 备忘录模式__学习笔记

使用场景 /** * 备忘录模式: * 在不破坏封装的前提下,捕获一个对象的内存状态,并在这个对象之外保存这个状态. * 方便之后进行恢复 * * 作用: * 当角色的状态改变,有时候需要备份并复原 * 备忘录模式把要细节的细节封装到Memento类中,即使以后要修改实现细节...

2018-04-10 14:10:16 258

原创 适配器模式___学习笔记

应用场景 /** * 系统的数据和行为都正确,但接口不符合,我们应该考虑使用适配器模式 * 主要应用于希望复用一些现存的类,但接口和复用环境不匹配 * 举个例子,翻译者 就是适配器模式 * 目的是使控制范围之外的一个原有对象和某个接口匹配. */结构图...

2018-04-10 11:25:07 181

原创 Lottie动画框架的基本使用

GIthub地址https://github.com/airbnb/lottie-android导包//设置发现会编译失败compile 'com.airbnb.android:lottie:2.5.3'//beta版本可以compile 'com.airbnb.android:lottie:2.0.0-beta4'准备动画文件///assets/test...

2018-04-09 17:54:01 1503

原创 阿里巴巴Android编码规范___读书笔记

地址http://oqt57ylgd.bkt.clouddn.com/阿里巴巴Java开发手册v1.2.0.pdf资源文件命名所有的资源文件都以模块名为前缀布局文件: Activity 的 layout 以 module_activity 开头 Fragment 的 layout 以 module_fragment 开头 Dialog 的 layout 以 mod...

2018-04-09 10:38:00 1248

原创 AndroidGradle权威指南__读书笔记

实例代码https://github.com/rujews/android-gradle-book-code查看Gradle版本gradle -vHello world1.创建目录2.gradle init3.在build.gradle中task sayHello <<{ print"Hello World"}//-q 控制日志...

2018-03-08 11:58:43 4468 1

原创 自定义控件&动画

绘制public class CircleView extends View { Paint mPaint; //代码中创建 public CircleView(Context context) { super(context); initPaint(); } //xml中创建 public CircleVie

2018-02-02 16:53:11 322

原创 OkGo___简单易用的OkHttp网络请求封装库

引入compile 'com.lzy.net:okgo:3.0.4'初始化//没有特殊需要的话,最简单的初始化就可以了OkGO.getInstance() .init(application); //定制 //设置全局请求头,不支持中文,不允许有中文字符 HttpHeaders headers = new HttpHeaders

2018-01-19 22:16:07 8711 1

原创 Gradle 学习笔记

使用GradleWrapgradlew xxxgradle的安装//1.安装gradlehttp://services.gradle.org/distributions/下载all版本的并解压到指定布局//配置环境变量GRADLE_HOME:gradle的安装目录path:%GRADLE_HOME%/bingradle –vision查看当前gra...

2018-01-12 11:42:20 2429 1

原创 WebView实现js与java代码的互相调用

main/assets/news_detail.xmlhtml> head> meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/> script type="text/javascript">

2018-01-05 17:27:26 1376

原创 状态模式

写一段函数表明你的工作状态初版public class Work { public int mCurrentHour=0; public void code(){ if (mCurrentHour<12){ Log.d("meee",getClass()+":\n"+"状态饱满:工作效率很高"); }else if(mCurre

2018-01-02 17:04:10 286

原创 Android进阶___应用保活

基本概念进程的优先级安卓系统定义了了5个进程等级,当内存不不⾜足的情况下按照5个优先级的不不同来决定到底先杀哪个进程。如图所示,优先级从大到小为1.前台进程: Activity.onResume() 与Service绑定的Activity 被主动设置为前台模式的Service.startForeground() 正在执行生命周期的回调的组件(onCreate()/

2017-12-29 10:23:55 736

原创 Kotlin学习笔记

基本类型在 Kotlin 中,所有东西都是对象,在这个意义上讲我们可以在任何变量上调用成员函数和属性。 一些类型可以有特殊的内部表示——例如,数字、字符和布尔值可以在运行时表示为原生类型值,但是对于用户来说,它们看起来就像普通的类。 在本节中,我们会描述 Kotlin 中使用的基本类型:数字、字符、布尔值、数组与字符串。数字kotlin在处理数字时与java类似,但又

2017-12-26 15:51:07 606

原创 OrmLite__数据库框架

导包http://ormlite.com/releases/将core和android的jar各自下载一份并导入//或者compile 'com.j256.ormlite:ormlite-android:5.0'创建实例化bean类//表名@DatabaseTable(tableName = "People")public class People { /* * column

2017-12-26 11:14:23 234

原创 抽象工厂模式

介绍抽象工厂模式Abstract Factory,提供了一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类;结构图Demo假设我们在打cs的时候需要买枪,而子弹是不通用的,但我们不知道什么武器的对应什么子弹, 理想情况下是在不同的商店直接买到对应的武器和子弹接口//武器接口public interface IGun { void shot(IBullet bullet);}

2017-12-01 14:52:54 225

原创 EasyPermission___最简单易用的权限请求框架

引包compile 'pub.devrel:easypermissions:1.0.1'使用方法1.在配置文件中配置权限 <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"

2017-12-01 11:03:29 2880 3

原创 外观模式

外观模式外观模式,为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使子系统更加易用;Demopublic class Stock1 implements IStock { @Override public void buy() { Log.d("meee","买入Stock1"); } @Override public v

2017-11-29 17:44:54 173

原创 模版方法模式

作用把都需要实现的上放到抽象父类中,具体细节交给子类实现;实现了代码的复用;Demo以常用的listview的adapter举例//把通用操作抽取到抽象父类中public abstract class MyBaseAdapter<T> extends BaseAdapter { Context mContext; List<T> mDatas; LayoutInflate

2017-11-29 17:06:25 211

原创 原型模式

目的就是实现深复制//实现Cloneable接口,不然调用clone()时抛出CloneNotSupportExceptionpublic class Person implements Cloneable { public String name; public Person(String name) { this.name = name; } @Ov

2017-11-29 17:02:01 193

原创 工厂方法模式

工厂方法模式与简单工厂模式的对比简单工厂模式的最大优点就是在于工厂类中包含了必要的逻辑判断,可以根据客户端的需求自动的去选择需要的类.对于客户端而言,去除了与具体产品的依赖;但是,这违背了封闭开放原则(增加新的类时需要去改动原来的工厂类)工厂方法模式Factory Method,定义了一个用于创建对象的接口,让子类决定实例化哪一个类.使一个类的实例化延迟到其子类工厂方法模式结构图工厂方法的De

2017-11-29 16:25:04 231

原创 观察者模式

什么是观察者模式 * 观察者模式,又叫发布-订阅模式(Publist/Subscribe)模式; * 定义了一种一对多的依赖关系,让多个观察者对象监听某一个主题对象. * 这个主题对象发生变化时,会通知所有的观察者对象,使它们能够自动更新自己观察者模式的组成以及DemoSubject /** * Subject类,主题对象/抽象通知者,一般用一个抽象

2017-11-29 11:39:17 215

原创 第三方Zxing____更简单易用的二维码扫描

引包//定制化的Zxing,让Zxing更加简单易用compile 'com.journeyapps:zxing-android-embedded:3.5.0'基本使用 //开始扫描 public void scan(View view) { new IntentIntegrator(this) .setDesiredBarcodeFo

2017-11-28 11:15:55 366

原创 常用的MIME类型

.doc application/msword.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document.rtf application/rtf.xls application/vnd.ms-excel application/x-excel.xlsx a

2017-11-27 12:12:14 251

原创 建造者模式

目的是为了解决当构造器所需要的参数过多时,构造器的编写困难构造器的编写原则每多一个构造器就多一个参数public builddemo(int param1){}public builddemo(int param1,int param2){}public builddemo(int param1,int param2,int param3){}但这样编写对构造器的顺序有要求,不能自由选择

2017-11-24 11:59:36 207

原创 Okhttpinterceptor____用于打印Okhttp的请求头响应头的信息

引包compile 'com.squareup.okhttp3:okhttp:3.8.1'compile 'com.squareup.okhttp3:logging-interceptor:3.8.1'自定义打印信息public class LoggingInterceptor implements Interceptor { @Override public Response i

2017-11-23 09:58:30 2177

原创 EasyRecyclerView,简单易上手,支持多种常用的功能的RecyclerView

引包compile 'com.jude:easyrecyclerview:4.4.2'使用方法xml中使用<com.jude.easyrecyclerview.EasyRecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_pa

2017-11-22 17:31:47 4368 1

原创 ok_gradle,一款可以在android studio中搜索第三方库的compile插件

ok,gradle是一款在可以让你不离开android studio,也能搜索到在gradle添加第三方库的地址的插件使用方法打开android studio 中的setting >>Plugins >> 点击中下方的browse repositories>>在弹出的搜索框中搜索 "ok,gradle" ,点击install并重启重启完成后,再次打开setting >>key map ,在右上

2017-11-22 11:41:05 2159 2

原创 Android工具类 TextUtils使用方法

String str=" "; /**判断一个字符串是否为空(null||length==0),空格返回false * Param:CharSequence * Return:boolean */ String str2="sfsafsafjo"; TextUtils.isEmpty(str);//

2017-11-22 11:22:50 2852

Retrofit学习笔记

目前最火热的Rx式编程中,最核心的Retrofit请求网络; 详解Retrofit是如何封装了Okhttp,实现了线程调度,以及动态代理实现的动态类型转换

2018-09-04

Okhttp源码阅读学习笔记

Android最流行的网络请求框架OkHttp的源码的阅读笔记; 详细解读了请求的构建以及执行流程,应用的设计模式以及该设计模式的应用场景等

2018-09-04

Android面试题__人事相关_面试题集合

Android开发者在面试时可能被问到的,非技术类的面试题集合,有备无患,为面试加分

2018-09-04

Android面试简历模版

适合Android开发者编写简历时参照的模版,以及简历的编写的要点;

2018-09-04

Android面试题常见代码

Android面试题常见代码,在学习面试题时可通过直接查看代码,加深理解

2018-09-04

Android面试题集合

精心收集数百道的Android方面面试题; 基础至四大组建,深度至热更新原理应有尽有

2018-09-04

java练习题大全

精心整理,数百道java练习题集合;大部分带参考答案,适合想加深java基础的人学习

2018-09-04

HeadFirstHtmlPdf高清版

新手学习Html的优秀入门书籍,语言幽默通俗易懂, 大概两天就能看完

2018-09-04

深入理解java虚拟机

学习Java虚拟的经典必备好书,适合有一定java基础,并想了解java虚拟工作原理和流程的人学习;

2018-09-04

深入理解Android之Gradle

学习Gradle的优秀入门书籍,文章精炼而不简单,适合有一定Gradle基础的人阅读

2018-09-04

海康网络摄像头的Android端Demo

海康网络摄像头的Android端Demo; 可实现通过wifi实时读取并显示摄像头捕捉的画面;

2018-09-04

算法_4_源码

算法第四版书籍中的数据结构类的实现源码; 注释清晰,适合学习算法4的同学参考学习

2018-09-04

TinyDemo.zip

Android上的一个优秀的图片压缩框架的Demo,在将一张图片在轻微损失的情况下将一张图片压缩至原本的30%大小左右

2018-09-04

X5WebViewForOffice

通过腾讯的X5WebView内核,解析并渲染至WebView中; 可在一定程度上实现对excel,word文件的浏览

2018-09-04

Android音视频入门书籍

ffmpeg在Android中使用的入门优秀书籍; 电子书版本,可在Kindle上看

2018-09-04

Android多媒体实战_源码

Android多媒体实战书籍的源码; 实际编译运行时修复了各种bug 可实际运行

2018-09-04

Gradle自动截图并复制到电脑

Gradle脚本,使用Adb对手机的屏幕截屏并复制到电脑的指定目录中; 使用前请确保已经安装Adb并配置好环境变量; 解压文件后 打开脚本文件的cmd ,执行gradlew screencap 截图的图片将以时间戳命令并保存到脚本文件目录的imgs文件夹中

2018-09-04

空空如也

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

TA关注的人

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