12 2016 档案

【JAVA - 基础】之Annotation注解浅析
摘要:注解在JAVA中,尤其是一些ORM框架(如Hibernate等)中是比较常用的一种机制。 注解是JAVA 1.5之后引入的新功能,正确来说是反射的一部分,没有反射,注解也就无法正常使用。注解可以理解成一种遵循特定规范的标记,也可以理解成是一种额外信息的载体。 例如,在Hibernate的使用中,我们 阅读全文

posted @ 2016-12-28 14:53 ITGungnir 阅读(488) 评论(0) 推荐(0) 编辑

【Android - 自定义View】之自定义View浅析
摘要:1、概述 Android自定义View / ViewGroup的步骤大致如下: 2、自定义属性 Android自定义属性主要有定义、使用和获取三个步骤。 2.1、定义自定义属性 参考:http://blog.csdn.net/lmj623565791/article/details/45022631 阅读全文

posted @ 2016-12-24 15:32 ITGungnir 阅读(37235) 评论(1) 推荐(4) 编辑

【开发工具 - Git】之Git常用命令汇总
摘要:本文记录了Git Bash中的常用指令。 1、Git操作 2、文件目录操作 3、文件读写操作 4、全局配置操作 阅读全文

posted @ 2016-12-22 17:20 ITGungnir 阅读(224) 评论(0) 推荐(0) 编辑

【开发工具 - Git】之Git版本回退
摘要:这篇博客主要记录了关于 查看记录、版本回退、添加标签、删除文件 的操作 1、查看文件修改情况: 可以通过 git diff a.java 查看a.java文件自从上次提交后的修改情况,如果自从上次提交之后没有修改,则不弹出任何信息。 在 git diff 命令得到的结果中,用绿色字体标记出新加的行, 阅读全文

posted @ 2016-12-22 15:16 ITGungnir 阅读(406) 评论(0) 推荐(0) 编辑

【开发工具 - Git】之Git使用案例
摘要:本帖主要介绍一下Git在实际项目开发中的使用流程,包括克隆、暂存、提交、推送、拉取、分支、冲突解决等,暂时还不包括回退。 1、首先需要安装Git,下一步下一步就行,这里就不说了。值得一提的是,如果Git安装成功,当你在某个文件夹下点击鼠标右键的时候,弹出的菜单中会有一项是 Git Bash Here 阅读全文

posted @ 2016-12-22 15:15 ITGungnir 阅读(277) 评论(0) 推荐(0) 编辑

【Android - 进阶】之Animator属性动画
摘要:1、概述 在3.0系统之前,Android给我们提供了逐帧动画Frame Animation和补间动画Tween Animation两种动画: 逐帧动画的原理很简单,就是将一个完整的动画拆分成一张张单独的图片,然后将它们连贯起来进行播放; 补间动画是专门为View提供的动画,可以实现View的透明度 阅读全文

posted @ 2016-12-22 15:13 ITGungnir 阅读(10485) 评论(0) 推荐(1) 编辑

【Android - 自定义View】之View的事件分发机制
摘要:参考资料: View事件分发:http://blog.csdn.net/pi9nc/article/details/9281829 ViewGroup事件分发:http://blog.csdn.net/guolin_blog/article/details/9153747 1 概述 Android中 阅读全文

posted @ 2016-12-22 15:09 ITGungnir 阅读(458) 评论(0) 推荐(0) 编辑

【JavaEE】之MyBatis查询缓存
摘要:为了减轻数据压力,提高数据库的性能,我们往往会需要使用缓存。MyBatis为我们提供了一级缓存和二级缓存。 (1)一级缓存是SqlSession级别的缓存,在操作数据库的时候需要创建一个SqlSession,其中有一个HashMap,用于存储缓存数据。不同的SqlSession之间,其缓存数据的Ha 阅读全文

posted @ 2016-12-22 15:08 ITGungnir 阅读(740) 评论(0) 推荐(0) 编辑

【JavaEE】之MyBatis逆向工程的使用
摘要:MyBatis逆向工程可以方便的从数据库中将表自动映射到JAVA POJO类,并同时生成Mapper.xml和Mapper接口,方便实用。下面介绍一下逆向工程的使用方法。 使用逆向工程,我们最好是新建一个JAVA Project,而不要直接在项目工程中进行,以免造成不好的后果。新建一个JAVA Pr 阅读全文

posted @ 2016-12-22 15:07 ITGungnir 阅读(7628) 评论(0) 推荐(3) 编辑

【JavaEE】之MyBatis动态SQL
摘要:动态SQL就是在SQL语句中添加一些标签,以完成某些逻辑。通常用到的动态SQL标签有<if>、<choose>、<where>、<trim>、<set>、<foreach>、<bind>、<sql>等。 1、if if是简单的条件判断,通过if语句我们可以实现某些简单的条件选择,一个例子的代码如下: 阅读全文

posted @ 2016-12-22 15:06 ITGungnir 阅读(1353) 评论(0) 推荐(0) 编辑

【JavaEE】之MyBatis输出映射
摘要:MyBatis中的输出映射有两种:resultType和resultMap。 1、resultType 使用resultType进行结果映射时,只有当查询结果中有至少一列的名称和resultType指定的POJO的某个属性名称相同时,才会映射成功。如果查询出来的列名和POJO中的属性名全部不一致,就 阅读全文

posted @ 2016-12-22 15:04 ITGungnir 阅读(606) 评论(0) 推荐(0) 编辑

【JavaEE】之MyBatis开发DAO
摘要:在SSM框架中的DAO层就是MyBatis中的Mapper,Mapper分为两部分:Mapper接口(JAVA文件)和Mapper映射文件(XML文件)。DAO开发(Mapper开发)有两种方式:原始DAO开发和Mapper代理代码。今天就来介绍一下这两种方式。 1、原始DAO开发 原始DAO开发就 阅读全文

posted @ 2016-12-22 15:03 ITGungnir 阅读(1798) 评论(0) 推荐(0) 编辑

【JavaEE】之MyBatis与原生JDBC、Hibernate访问数据库的比较
摘要:首先来看一下原生JDBC访问数据库的代码: 使用原生JDBC访问数据库,存在以下四个问题: 数据库使用时就创建,不使用就释放,即需要对数据库进行频繁的开启和关闭,造成数据库资源的浪费,影响数据库的性能。 将SQL语句硬编码到JAVA代码中,如果后期SQL语句发生变化,就需要重新编译JAVA代码,不利 阅读全文

posted @ 2016-12-22 15:02 ITGungnir 阅读(1607) 评论(0) 推荐(0) 编辑

【JavaEE】之MyBatis插入数据后获取自增主键
摘要:很多时候,我们都需要在插入一条数据后回过头来获取到这条数据在数据表中的自增主键,便于后续操作。针对这个问题,有两种解决方案: 先插入,后查询。我们可以先插入一条数据,然后根据插入的数据的各个字段值,再次访问数据库,从数据库中将刚刚插入的数据查询出来。当然,这种方法是很笨的,不提倡使用。 MyBati 阅读全文

posted @ 2016-12-22 15:01 ITGungnir 阅读(4223) 评论(0) 推荐(0) 编辑

【JavaEE】之MyBatis的ParameterType的使用
摘要:在MyBatis的Mapper.xml文件中,参数的表示方法有两种:一种是使用 “#{XXX}” 的方式表示的,另一种是使用 “${XXX}” 的方式表示的。今天来介绍以下这两种方式的不同之处。 1、#{XXX} “#{XXX}” 是用来表示变量占位符,即将这个变量注入到SQL语句中。这里的变量可以 阅读全文

posted @ 2016-12-22 15:00 ITGungnir 阅读(2875) 评论(0) 推荐(0) 编辑

【Android - 进阶】之PopupWindow的使用
摘要:创建一个类继承自PopupWindow,编写自定义的PopupWindow类。示例代码如下: 调用代码: 阅读全文

posted @ 2016-12-22 14:59 ITGungnir 阅读(1623) 评论(0) 推荐(0) 编辑

【Android - 进阶】之Dialog分类及使用
摘要:1、确定取消对话框 代码: 效果: 2、列表对话框 代码: 效果: 3、条形进度条对话框 代码: 效果: 4、圆形进度条对话框 代码: 效果: 5、单选列表对话框 代码: 效果: 6、多选列表对话框 代码: 效果: 7、日期选择对话框 代码: 效果: 8、事件选择对话框 代码: 效果: 9、自定义对 阅读全文

posted @ 2016-12-22 14:58 ITGungnir 阅读(431) 评论(0) 推荐(0) 编辑

【设计模式】
摘要:设计模式是一套反复被使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使得代码编写工程化,是软件工程的基石。设计模式的设计需要满足以下六个原则: (1)开闭原则(Open Close Principle):对扩展开放 阅读全文

posted @ 2016-12-22 14:55 ITGungnir 阅读(183) 评论(0) 推荐(0) 编辑

【设计模式 - 24】之访问者模式(Visitor)
摘要:1、模式简介 访问者模式的定义: 访问者模式将数据结构与数据操作进行了分离,解决了稳定的数据结构和易变的数据操作的耦合问题。 访问者模式的优点: 符合单一职责原则; 优秀的扩展性; 灵活性。 访问者模式的缺点: 具体元素对访问者公布细节,违反了迪米特原则; 具体元素变更比较困难; 违反了依赖倒置原则 阅读全文

posted @ 2016-12-22 14:49 ITGungnir 阅读(199) 评论(0) 推荐(0) 编辑

【设计模式 - 23】之模版方法模式(Template)
摘要:1、模式简介 模版方法模式的定义: 模版方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模版方法模式的优点: 封装不变部分,扩展可变部分; 提取公共代码,便于维护; 行为由父类控制,子类实现。 模版方法模式的 阅读全文

posted @ 2016-12-22 14:48 ITGungnir 阅读(185) 评论(0) 推荐(0) 编辑

【设计模式 - 22】之策略模式(Strategy)
摘要:1 模式简介 在策略模式中,一个类的行为或其算法可以在运行时改变。策略模式定义了一系列算法,把它们一个个封装起来,并且使它们可以互相替换。 策略模式的优点: 算法可以自由切换; 避免使用多重条件判断; 扩展性良好。 策略模式的缺点: 算法可以自由切换; 避免使用多重条件判断; 扩展性良好。 策略模式 阅读全文

posted @ 2016-12-22 14:47 ITGungnir 阅读(272) 评论(0) 推荐(0) 编辑

【设计模式 - 21】之空对象模式(Null Object)
摘要:1、模式简介 在空对象模式中,一个空对象取代NULL对象的实例的检查。NULL对象不是检查空值,而是反映一个不做任何动作的关系。这样的NULL对象也可以在数据不可用的时候提供默认的行为。 在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象 阅读全文

posted @ 2016-12-22 14:46 ITGungnir 阅读(239) 评论(0) 推荐(0) 编辑

【设计模式 - 20】之状态模式(State)
摘要:1、模式简介 状态模式的定义: 状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。这个模式将状态封装成独立的类,并将动作委托到代表当前状态的类的对象。 状态模式的优点: 封装了转换规则; 枚举可能的状态,在枚举状态之前需要确定状态种类; 将所有与某个状态有关的行为放到一个类中 阅读全文

posted @ 2016-12-22 14:45 ITGungnir 阅读(223) 评论(0) 推荐(0) 编辑

【设计模式 - 19】之观察者模式(Observer)
摘要:1、模式简介 观察者模式的介绍: 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象的状态发生改变时,它的所有依赖者都会收到通知并自动更新。 发布者(被观察者) + 订阅者(观察者) = 观察者模式 观察者模式的优点: 观察者和被观察者是抽象耦合的; 观察者模式建立了一套触发机制(触发联动) 阅读全文

posted @ 2016-12-22 14:43 ITGungnir 阅读(337) 评论(0) 推荐(0) 编辑

【设计模式 - 18】之备忘录模式(Memento)
摘要:1、模式简介 备忘录模式的定义: 备忘录模式保存一个对象的某个状态,以便在适当的时候恢复对象,用作“后悔药”,即取消上次操作或返回到以前的某个版本。 备忘录模式的应用实例: Windows系统中的Ctrl+Z; 浏览器等软件中的后退按钮功能; 数据库的事务管理及回滚功能; 游戏存档。 备忘录模式的优 阅读全文

posted @ 2016-12-22 14:41 ITGungnir 阅读(219) 评论(0) 推荐(0) 编辑

【设计模式 - 17】之中介者模式(Mediator)
摘要:1、模式简介 中介者模式的定义: 用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显式地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。 中介者模式中的组成部分: 同事类:如果两个类对象之间可以彼此影响,则称这两个类为同事类; 中介者:中介者中有所有同事类的引用,定义了各个同事 阅读全文

posted @ 2016-12-22 14:40 ITGungnir 阅读(197) 评论(0) 推荐(0) 编辑

【设计模式 - 16】之迭代器模式(Iterator)
摘要:1、模式简介 迭代器模式是JAVA中非常常用的模式,List、Map、Set等常见集合中都封装了迭代器Iterator。 迭代器模式的介绍: 迭代器模式用于顺序访问集合对象中的元素,而不需要知道集合对象的底层表示,即可以将在元素之间游走的责任交给迭代器,而不是集合对象本身。 迭代器模式的优点: 它支 阅读全文

posted @ 2016-12-22 14:39 ITGungnir 阅读(184) 评论(0) 推荐(0) 编辑

【设计模式 - 15】之解释器模式(Interpreter)
摘要:1、模式简介 解释器模式允许我们自定义一种语言,并定义一个这种语言的解释器,这个解释器用来解释语言中的句子。由于这种模式主要用于编译器的编写,因此在日常应用中不是很常用。 如果一种特定类型的问题发生频率足够高,那么可能就值得将该问题的各个实例表述为一种简单语言中的一个句子,这样就可以构建一个解释器, 阅读全文

posted @ 2016-12-22 14:37 ITGungnir 阅读(241) 评论(0) 推荐(0) 编辑

【设计模式 - 14】之命令模式(Command)
摘要:1、模式简介 命令模式的定义: 命令模式将命令封装成对象,从而使调用一个命令变为调用一个对象的指定方法。 命令模式的优点: 降低了系统耦合度; 新的命令可以很容易的添加到系统中去。 命令模式的缺点: 会导致系统中有过多的具体命令类。 2、案例 在一个系统中有三种命令:点击按钮、加载图片和访问网络。我 阅读全文

posted @ 2016-12-22 14:36 ITGungnir 阅读(176) 评论(0) 推荐(0) 编辑

【设计模式 - 13】之责任链模式(Chain Of Responsibility)
摘要:1、模式简介 责任链模式的简介: 责任链模式为请求创建了一个接收者对象的链,每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。 责任链模式避免了请求的发送者和接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连成一条链,并且沿着这 阅读全文

posted @ 2016-12-22 14:35 ITGungnir 阅读(217) 评论(0) 推荐(0) 编辑

【设计模式 - 12】之代理模式(Proxy)
摘要:1、模式简介 代理模式的简介: 为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介作用,可以去掉功能服务或增加额外服务。 常见的代理模式: 远程代理:可以隐藏一个对象存在于不同控件的事实,也使得客户端可以访问在远程机器上的对象,远程机器可能具有更好的计算性能与处理速度,可以快速响应并处理 阅读全文

posted @ 2016-12-22 14:34 ITGungnir 阅读(270) 评论(0) 推荐(0) 编辑

【设计模式 - 11】之享元模式(FlyWeight)
摘要:1、模式简介 当系统中存在大量对象时,非常容易造成内存溢出。为了解决这个问题,我们把这些对象中共有的部分抽象出来,如果有相同的业务请求,则直接返回在内存中已有的对象,避免重新创建,这就是享元模式。 享元模式(FlyweightPattern)主要用于减少创建对象的数量,以减少内存占用和提高性能,即它 阅读全文

posted @ 2016-12-22 14:32 ITGungnir 阅读(187) 评论(0) 推荐(0) 编辑

【设计模式 - 10】之外观模式(Facade)
摘要:1、模式简介 外观模式隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。外观模式往往涉及到一个类,这个类提供了客户端请求的简化方法和对现有系统类方法的委托调用。外观模式使得系统中的子系统更加容易使用。 外观模式主要是为了降低访问复杂系统的内部子系统的复杂度,简化客户端与之的接口。 外观模式 阅读全文

posted @ 2016-12-22 14:31 ITGungnir 阅读(203) 评论(0) 推荐(0) 编辑

【设计模式 - 9】之装饰者模式(Decorator)
摘要:1、模式简介 装饰者模式允许向一个现有的对象添加新的功能,同时又不改变其结构。 装饰者模式的思路是用“调料”对象将原始对象进行层层包裹,同时其属性、动作层层传递,达到最终的扩展效果。因此,要求原始对象和“调料”对象继承同一个类或实现同一个接口,这样才能在装饰完成后调用原始对象的属性或动作。 装饰者模 阅读全文

posted @ 2016-12-22 14:30 ITGungnir 阅读(216) 评论(0) 推荐(0) 编辑

【设计模式 - 8】之组合模式(Composite)
摘要:1、模式简介 组合模式可以将对象以树形结构来表现“整体/部分”层次结构,让客户以一致的方式处理个别形象以及对象组合。 组合模式让我们能用树形方式创建对象的结构,树里面包含了组合以及个别的对象。使用组合模式,我们能把相同的操作应用在组合的个别对象上,换句话说,我们可以忽略对象组合的个别对象之间的差别。 阅读全文

posted @ 2016-12-22 14:29 ITGungnir 阅读(180) 评论(0) 推荐(0) 编辑

【设计模式 - 7】之过滤器模式(Filter)
摘要:1、模式简介 过滤器模式(Filter)也叫标准模式(Criteria),这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。 2、实例 这个实例的需求如下: Person类有三个属性:姓名(Name)、性别(Gender)和婚姻情况(Marital),我们的系 阅读全文

posted @ 2016-12-22 14:28 ITGungnir 阅读(2805) 评论(0) 推荐(0) 编辑

【设计模式 - 6】之桥接模式(Bridge)
摘要:1、模式简介 举个例子,人、车和公路是三个维度,人开着车在公路上行驶,就是将这三个维度进行了关联。人分男人(Man)和女人(Woman),车分小轿车(Car)和公共汽车(Bus),公路分市区公路(Street)和高速公路(Speedway),那么如果我们不使用桥接模式的话,要模拟出所有情况,系统的架 阅读全文

posted @ 2016-12-22 14:26 ITGungnir 阅读(315) 评论(0) 推荐(0) 编辑

【设计模式 - 5】之适配器模式(Adapter)
摘要:1、模式简介 适配器模式解决的问题: 让原本因为接口不兼容而不能一起工作的类可以一起工作。 适配器模式的UML原理图如下图所示: 从上图可见,客户想要用Target接口实现Adaptee接口中的方法,但这显然是不可能的。因此,我们需要定义一个适配器类Adapter,让它在Target和Adaptee 阅读全文

posted @ 2016-12-22 14:24 ITGungnir 阅读(251) 评论(0) 推荐(0) 编辑

【设计模式 - 4】之原型模式(Prototype)
摘要:1、模式简介 原型模式的定义: 通过复制一个现有的对象(原型)来得到一个相似的对象。 原型模式的UML图如下图所示: 从上图中可以看到,所有的对象实体类都是继承自一个Prototype的父类,而prototype类有一个可以复制对象的方法clone(),可以复制其任意子类。这样,所有Prototyp 阅读全文

posted @ 2016-12-22 14:23 ITGungnir 阅读(206) 评论(0) 推荐(0) 编辑

【设计模式 - 3】之建造者模式(Builder)
摘要:1、模式简介 建造者模式也叫生成器模式,和抽象工厂模式相似,也是一种构建复杂对象的模式。 建造者模式中的角色分类: 抽象建造者Builder:接口类型,用于规范各个产品的组成部分; 具体建造者ConcreteBuilder:实现Builder中的所有方法,并且返回一个构造好的产品实例; 指导者Dir 阅读全文

posted @ 2016-12-22 14:22 ITGungnir 阅读(238) 评论(0) 推荐(0) 编辑

【设计模式 - 2】之单例模式(Singleton)
摘要:1、模式简介 单例模式在代码中是非常常用的,如线程池、数据库连接、注册表、共享资源、一些非常消耗资源的组件,等等。 单例模式主要解决如下问题: 确保一个特殊类的实例是独一无二的; 确保这个类的实例非常容易访问(提供了这个类的一个全局访问指针); 以下情况下可以使用单例模式: 当类只能有一个实例而且客 阅读全文

posted @ 2016-12-22 14:20 ITGungnir 阅读(208) 评论(0) 推荐(0) 编辑

【设计模式 - 1】之工厂模式(Factory)
摘要:1、模式简介 工厂模式的作用: 工厂模式解决的是“使用new关键字获取对象造成松耦合”的问题。 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式可以分为三类: 简单工厂模式(SimpleFactory) 工厂方法模式(FactoryMeth 阅读全文

posted @ 2016-12-22 14:18 ITGungnir 阅读(338) 评论(0) 推荐(0) 编辑

【JavaEE】之SSM入门项目的搭建
摘要:最近学习了一下SSM。SSM是 Spring + SpringMVC + MyBatis 整合框架,非常适合WEB后台开发,也是当前很多人的不二选择。这篇博客带大家来创建一个学习SSM的入门程序,从搭建框架开始,到实现一个小功能,相信新手朋友们通过这篇博客就可以基本入门开发SSM了。 首先介绍一下本 阅读全文

posted @ 2016-12-22 14:14 ITGungnir 阅读(4796) 评论(2) 推荐(1) 编辑

【Android - 进阶】之图片压缩
摘要:很多时候,如果APP需要下载和加载很多图片(尤其是大图片)的时候,就往往会报如下图所示的错误: 如上图所示,OOM(OutOfMemoryError)表示内存溢出,这是因为网络或内存中的图片被加载成Bitmap时耗费的内存超出了系统内存而造成内存溢出。解决这个问题有很多方法,这里主要介绍其中的一种方 阅读全文

posted @ 2016-12-22 14:09 ITGungnir 阅读(285) 评论(0) 推荐(0) 编辑

【Android - 框架】之刷新加载框架Ultra-Pull-To-Refresh的使用
摘要:Ultra-Pull-To-Refresh框架是用来嵌套其他布局,实现下拉刷新和上拉加载的框架。它其中可以嵌套任何控件,ListView、GridView、ScrollView、RecyclerView,甚至TextView。 这个框架在GitHub上的地址:【Ultra-Pull-To-Refre 阅读全文

posted @ 2016-12-22 14:08 ITGungnir 阅读(4190) 评论(0) 推荐(0) 编辑

【Android - 控件】之可悬浮列表StickyHeadersRecyclerView
摘要:这是timehop的GitHub上发表的一个控件框架,大家可以去参考它的【GitHub】。 这里先贴出GitHub上提供的效果图: 要使用这个框架,我们需要首先导入它的依赖: 这里需要说明的是,这个框架要求SDK的最小版本不能低于14;另外,这个框架在2016年4月之后就不再更新维护了。 下面让我们 阅读全文

posted @ 2016-12-22 14:05 ITGungnir 阅读(8166) 评论(0) 推荐(0) 编辑

【Android - 进阶】之图片三级缓存的原理及实现
摘要:在Android开发中,如果图片过多,而我们又没有对图片进行有效的缓存,就很容易导致OOM(Out Of Memory)错误。因此,图片的缓存是非常重要的,尤其是对图片非常多的应用。现在很多框架都做了很好的图片缓存处理,如【Fresco】、【Glide】等。 本帖主要介绍以下Android中图片的三 阅读全文

posted @ 2016-12-22 14:03 ITGungnir 阅读(15031) 评论(3) 推荐(0) 编辑

【Android - 框架】之Fresco的使用
摘要:当下有很多图片加载框架,常见的有Glide、Fresco、Picasso等。Glide因为其体积小、缓存机制强大等优点,受到了广大程序员的青睐;Fresco虽然体积比较大,缓存机制也没有Glide强大,但它胜在拥有一些炫酷的效果(进度条、淡入效果)等,也有很多人在使用。今天我们就来介绍一下Fresc 阅读全文

posted @ 2016-12-22 14:01 ITGungnir 阅读(3664) 评论(0) 推荐(0) 编辑

【Android - 框架】之OkHttp的使用
摘要:OkHttp是一个非常优秀的网络访问框架,当下非常火的Retrofit的底层就是使用OkHttp进行封装的。接下来介绍以下OkHttp的简单使用。 1、导入依赖 在Android Studio中,在Module的build.gradle文件中导入以下依赖: 2、代码编写 3、OkHttp原理 (1) 阅读全文

posted @ 2016-12-22 13:59 ITGungnir 阅读(1415) 评论(0) 推荐(0) 编辑

【Android - 框架】之GreenDao的使用
摘要:上一篇博客(【Android - 框架】之ORMLite的使用)中介绍了ORMLite的基本使用,今天我们来研究以下GreenDao的使用。 GreenDao和ORMLite一样,都是基于ORM(Object Relation Mapping,对象关系映射)的用于操作Sqlite数据库的第三方框架。 阅读全文

posted @ 2016-12-22 13:58 ITGungnir 阅读(3341) 评论(0) 推荐(0) 编辑

【Android - 框架】之ORMLite的使用
摘要:Android中有很多操作SQLite数据库的框架,现在最常见、最常用的是ORMLite和GreenDAO。ORMLite相比与GreenDAO来说是一个轻量级的框架,而且学习成本相对较低。所以这个帖子中先介绍ORMLite,下个帖子再介绍GreenDAO。 要使用ORMLite,首先需要导入ORM 阅读全文

posted @ 2016-12-22 13:54 ITGungnir 阅读(14945) 评论(0) 推荐(1) 编辑

【JAVA - 基础】之数据加密和解密
摘要:1、Base64工具类(可逆): 2、MD5工具类(不可逆): 3、SHA1工具类(不可逆): 4、AES工具类(可逆): 5、DES工具类(可逆): 6、XOR(异或加密)工具类(可逆): 7、测试: 测试结果: 阅读全文

posted @ 2016-12-22 13:51 ITGungnir 阅读(9235) 评论(0) 推荐(1) 编辑

【Android - 进阶】之代码打包签名与混淆
摘要:代码打包签名 Android Studio为大家集成了代码打包混淆的功能,具体操作流程如下组图所示: 1、点击Android Studio上方工具栏的 Build -> Generate Signed APK 选项,弹出如下右图所示的对话框: 2、这里需要创建一个Key Store,如果你已经有了一 阅读全文

posted @ 2016-12-22 13:49 ITGungnir 阅读(1960) 评论(0) 推荐(0) 编辑

【Android - 进阶】之MultiDex的配置
摘要:一、什么是MultiDex 随着时代的进步,人们对手机 APP 的需求越来越大,越来越苛刻,很多APP都变得很大,再加上APP都不可避免的需要导入一些框架、第三方类库等等,就更加大了项目的整体文件体系。如果文件太多,系统可能会报如下错误: Android基于JAVA语言,JAVA语言在编译之后都会生 阅读全文

posted @ 2016-12-22 13:45 ITGungnir 阅读(12287) 评论(0) 推荐(0) 编辑

【JAVA - 基础】之反射的原理与应用
摘要:一、反射简介 反射机制指的是程序在运行时能够获取自身的信息。在JAVA中,只要给定类的名字,那么就可以通过反射机制来获取类的所有信息。 1、反射的应用 JDBC编程中的:Class.forName("com.mysql.jdbc.Driver.class"); 通过文件名找到项目中的文件; Hibe 阅读全文

posted @ 2016-12-22 13:43 ITGungnir 阅读(279) 评论(0) 推荐(0) 编辑

【Android - 框架】之XBanner的使用
摘要:一、XBanner简介 XBanner是一个非常优秀的无限自动轮播框架,也是一个控件。这里是XBanner的GitHub地址 XBanner的主要功能如下: 根据传入的数据条数自动调整广告页数 当图片数量大于一张时,可以无限循环自动播放、手指按下停止轮播、抬起手指继续轮播 可以自定义指示器的位置:左 阅读全文

posted @ 2016-12-22 13:41 ITGungnir 阅读(11186) 评论(0) 推荐(0) 编辑

【Android - 框架】之Glide的使用
摘要:一、Glide简介: Glide是Google官方推荐的一个图片加载和缓存的开源库,它不仅能实现平滑的图片列表滚动效果,还支持远程图片的获取、大小调整和展示,并且可以加载GIF图片。Glide相比与UIF、Volley、Picasso、Fresco等其他框架的优点是轻量和稳定。 二、Glide的配置 阅读全文

posted @ 2016-12-22 13:38 ITGungnir 阅读(6629) 评论(0) 推荐(0) 编辑

【Android - 框架】之Dagger2+MVP的用法
摘要:MVP模式本身相比于MVC模式就已经把View层和Controller层从Activity中进行了分离,将Model层和View层用Presenter层隔开,实现了初步的解耦。如果再加入Dagger2框架,就可以进一步解耦。 Dagger2使用的是依赖注入的思想,通过annotation注解的方式实 阅读全文

posted @ 2016-12-22 13:34 ITGungnir 阅读(1876) 评论(0) 推荐(0) 编辑

【Android - 框架】之MVP模式的使用
摘要:提起MVP架构模式,大家可能首先想到的是它的“前辈”MVC模式。MVC由Model、View、Controller组成,请求从Controller进入后进行业务判断,然后交给Model或View进行处理。这本身没什么,但是应用在Android程序中时,大家就会发现,Activity既担任了Contr 阅读全文

posted @ 2016-12-22 13:32 ITGungnir 阅读(1662) 评论(0) 推荐(0) 编辑

【Android - 框架】之ButterKnife的使用
摘要:ButterKnife可以省去控件findViewById的步骤,提高开发效率。 1、添加依赖: 2、在Activity中使用: 3、在Fragment中使用: public class MainFragment extends Fragment { // 使用ButterKnife初始化控件(省去 阅读全文

posted @ 2016-12-22 13:30 ITGungnir 阅读(339) 评论(0) 推荐(0) 编辑

【Android - 框架】之Retrofit+RxJava的使用
摘要:前几天分别对Retrofit和RxJava进行了总结,这个帖子打算把Retrofit结合RxJava使用的方法总结以下。有还不了解Retrofit或RxJava的朋友可以参考下面的帖子学习~ 【Android - 框架】之Retrofit的使用 【Android - 框架】之RxJava的使用 首先 阅读全文

posted @ 2016-12-22 13:29 ITGungnir 阅读(485) 评论(0) 推荐(0) 编辑

【Android - 框架】之RxJava的使用
摘要:RxJava算是最新最常用的,也是程序员们最喜欢的框架之一了。 RxJava的核心由Observable(被观察者,事件源)和Subscriber(观察者)构成,Observable负责发出一系列事件,Subscriber处理这些事件。 一个Observble可以发出零个或多个事件,直到结束或出错。 阅读全文

posted @ 2016-12-22 13:27 ITGungnir 阅读(1981) 评论(0) 推荐(0) 编辑

【Android - 框架】之Retrofit的使用
摘要:Retrofit是Square公司发布的一个可以应用在Android和Java中的Http客户端访问框架,其底层应用的是OkHttp。 在这个帖子中,我们以下面这个Http请求为例: 其请求结果(JSON)如下所示: 接下来我们从Retrofit的用法到原理,来介绍一下这个框架。 一、Retrofi 阅读全文

posted @ 2016-12-22 13:24 ITGungnir 阅读(1089) 评论(0) 推荐(0) 编辑

【Android - 控件】之V - ViewPager的使用
摘要:ViewPager是Android V4包中的一个控件,常常用来作为首页的滚动广告,也常常结合Fragment来实现页面的切换效果。 ViewPager和ListView有很多相似的地方,都是适配器控件,要在其中展示数据,都需要设置适配器。ViewPager的常用的适配器类有两个:PagerAdap 阅读全文

posted @ 2016-12-22 13:19 ITGungnir 阅读(383) 评论(0) 推荐(0) 编辑

【Android - 控件】之V - DrawerLayout的使用
摘要:DrawerLayout是Android V4包中的一个布局控件,用来实现一个抽屉样式的布局。 DrawerLayout通过设置子视图的layout_gravity来决定子视图停靠在屏幕的哪个边缘外侧,等待用户将它拖进来或点击按钮拉开抽屉。 下面是一个简单的DrawerLayout的布局文件中的代码 阅读全文

posted @ 2016-12-22 13:18 ITGungnir 阅读(369) 评论(0) 推荐(0) 编辑

【Android - 控件】之V - Toolbar的使用
摘要:Toolbar是Android V7包中的一个控件,用来代替Action Bar作为界面的头部标题栏布局。Toolbar相对于Action Bar的特点是更加灵活,可以显示在任何位置。 首先先来看Toolbar在布局文件中的代码怎么写,实际上跟其他Android原生控件一样,只需要设置宽高、背景等属 阅读全文

posted @ 2016-12-22 13:16 ITGungnir 阅读(625) 评论(0) 推荐(0) 编辑

【Android - 控件】之V - SwipeRefreshLayout的使用
摘要:SwipeRefreshLayout是Android V4、V7包中的一个控件,是Google给我们提供的一个下拉刷新的布局控件,可以轻松完成下拉刷新。 SwipeRefreshLayout的特点是其中只能有一个子控件,和ScrollView相似。 我们今天已一个例子来看看SwipeRefreshL 阅读全文

posted @ 2016-12-22 13:15 ITGungnir 阅读(1461) 评论(0) 推荐(0) 编辑

【Android - 控件】之MD - CoordinatorLayout的使用
摘要:CoordinatorLayout是Android 5.0新特性——Material Design中的一个布局控件,主要用来协调各个子视图之间的工作,也可以用来作为顶部布局。CoordinatorLayout主要是通过设置子视图的Behavior来达到协调子视图之间的工作的目的的。 Coordina 阅读全文

posted @ 2016-12-22 13:13 ITGungnir 阅读(2270) 评论(0) 推荐(0) 编辑

【Android - 控件】之MD - RecyclerView的使用
摘要:RecyclerView是Android 5.0新特性——Material Design中的一个控件,它将ListView、GridView整合到一起,可以使用极少的代码在ListView、GridView和瀑布流等布局方式之间转换。RecyclerView整体使用的是插件式的方式,解耦度相比提高了 阅读全文

posted @ 2016-12-22 13:12 ITGungnir 阅读(249) 评论(0) 推荐(0) 编辑

【Android - 控件】之MD - NavigationView的使用
摘要:NavigationView是Android 5.0新特性——Material Design中的一个布局控件,可以结合DrawerLayout使用,让侧滑菜单变得更加美观(可以添加头部布局)。 NavigationView需要嵌套在DrawerLayout内部,其相对于单独使用DrawerLayou 阅读全文

posted @ 2016-12-22 13:08 ITGungnir 阅读(1252) 评论(0) 推荐(0) 编辑

【Android - 控件】之MD - TextInputLayout的使用
摘要:TextInputLayout是Android 5.0新特性——Material Design中的一个布局控件,主要用来嵌套EditText,实现数据输入时的一些效果,如: 当输入框获取焦点时,输入提示语会动画移动到输入框上方; 当输入框失去焦点时,如果输入框中没有文本,则提示语动画移动回到输入框中 阅读全文

posted @ 2016-12-22 13:05 ITGungnir 阅读(4286) 评论(0) 推荐(0) 编辑

【Android - 控件】之MD - TabLayout的使用
摘要:TabLayout是Android 5.0新特性——Material Design中的一个控件,是一个标签页的导航条,常结合ViewPager完成页面导航。 和其他MD控件一样,使用TabLayout之前需要在gradle文件中声明依赖: 1、TabLayout的属性: 2、TabLayout和Vi 阅读全文

posted @ 2016-12-22 13:03 ITGungnir 阅读(931) 评论(0) 推荐(0) 编辑

【Android - 控件】之MD - CardView的使用
摘要:CardView是Android 5.0新特性——Material Design中的一个布局控件,可以通过属性设置显示一个圆角的类似卡片的视图。 1、CardView的属性: 2、演示代码: 运行结果如图所示: 以上就是对CardView简单使用方法的介绍,下面贴出码云上的源码,供大家参考。 DEM 阅读全文

posted @ 2016-12-22 13:01 ITGungnir 阅读(572) 评论(0) 推荐(0) 编辑

【Android - 控件】之MD - FloatingActionButton的使用
摘要:FloatingActionButton(FAB) 是 Android 5.0 新特性——Material Design 中的一个控件,是一种悬浮的按钮。 FloatingActionButton 是 ImageView 的子类,因此它具备ImageView的全部属性。 FloatingAction 阅读全文

posted @ 2016-12-22 12:59 ITGungnir 阅读(8082) 评论(0) 推荐(1) 编辑

【Android - 控件】之MD - Snackbar的使用
摘要:Snackbar 是 Android 5.0 新特性——Material Design 中的一个控件,用来代替 Toast ,Snackbar与Toast的主要区别是:Snackbar可以滑动退出,也可以处理用户交互(点击)事件。 Snackbar的特点如下: Snackbar会在超时或者用户在屏幕 阅读全文

posted @ 2016-12-22 12:55 ITGungnir 阅读(1873) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示