自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (11)
  • 收藏
  • 关注

原创 Java23种设计模式总汇

Java23种设计模式总汇设计模式分为三大类:创建型模式:(共五种)分别是工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式:(共七种)分别是适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式:(共十一种)分别是策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

2016-08-23 22:58:39 630

原创 Android学习笔记之封装数据库工具类

Android学习笔记之封装数据库工具类在android开发中,难免会对数据库进行操作,如果说每次要自己去写一些具体的数据库操作语句来操作数据库,我个人感觉非常的麻烦,所以今天就写了一个操作数据库的封装类,是需要调用一些基本的增、删、改、查等,而且创建表格,插入数据都不需要我们去写一些操作语句,只需要将你需要插入的表格,写成一个实体类,然后将要插入的数据作为该类的属性,然后保存数据到该实体类中,就能

2016-09-30 01:12:43 7208 8

原创 Java设计模式之观察者模式

Java设计模式之观察者模式观察者模式介绍      观察者模式是我们项目中使用率非常高的一种设计模式,它最常用的地方就是GUI系统、订阅——发不系统,因为这个模式的一个重要的作用就是解耦,将被观察者和观察者解耦,使得他们之间的依赖性更小,甚至做到毫无依赖。观察者模式的定义      定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖与它的对象都会得到通知并被自动更新

2016-09-28 00:22:12 597

原创 Android学习笔记之屏幕宽高、状态栏宽高、标题宽高以及left()、top()、right()、bottom()

Android学习笔记之屏幕宽高、状态栏宽高、标题宽高以及left()、top()、right()、bottom()前言:  想学号安卓,这几个方法及属性你不得不学会怎么获取,当你学会了如何获取屏幕宽高、状态栏宽高、标题栏宽高以及子控件与父控件的left()、top()、right()、bottom()等,这会对你学习自定义控件会有很大的帮助,我之前做自定义的时候有时候也很难弄清他们之间的区别,今天

2016-09-24 00:22:40 3890

原创 Android学习笔记之RecyclerView详解

Android学习笔记之RecyclerView详解RecyclerView是什么?  在android5.0,开始出现了一些新特性,其中就包括了非常受欢迎的RecyclerView。RecyclerView是一种新的视图组,其目的是为任何基于适配器的视图提供相似的渲染方式。该控件用于在有限的窗口中展示大量数据集,它被作为ListView和GirdView控件的继承者。RecyclerView高度

2016-09-22 21:22:14 2434 4

原创 Java设计模式之适配器模式

Java设计模式之适配器模式适配器模式介绍  适配器模式在我们的项目开发中使用效率也非常高,尤其最为熟悉的,在android中,无论是我们的ListView,GridView,还是到现在最新用的RecyclerView都需要用到Adapter。适配器是将两个不兼容的类融合在一起,他有点像粘合剂,将不同的东西通过一种转换使得他们能够协作起来。例如,经常碰到要再来年各个没有关系的类型之间进行交互,第一

2016-09-21 00:32:57 496

原创 Android之Databinding学习笔记

Android之DataBinding学习笔记简介Data binding 在2015年7月发布的Android Studio v1.3.0 版本上引入,在2016年4月Android Studio v2.0.0 上正式支持。目前为止,Data Binding 已经支持双向绑定了。Databinding 是一个实现数据和UI绑定的框架,是一个实现 MVVM 模式的工具,有了 Data Binding

2016-09-20 14:43:13 2544

原创 Android之自定义实现BaseAdapter(通用适配器四)

Android之自定义实现BaseAdapter(通用适配器四)最近又学习到了一种自定义通用适配器的方法,刚好可以结合前面的一起来写一下,接下来先看代码吧。CommonAdapter.javapublic abstract class CommonAdapter<T, V extends CommonAdapter.ViewHolder> extends BaseAdapter { //上下

2016-09-08 19:52:14 2824

原创 Android之自定义TextView学习笔记

Android之自定义TextView对于自定义,我也是最近才开始学习,所以有些自定义的控件也都是在学习中,今天先来写一个简单的自定义控件TextView,这个模仿已经简单的不能再简单了。对于自定义控件,一般来说,我们首先有以下几个步奏自定义的属性获取自定义属性重写常用的方法onDraw() onMeasure() onTouchEvent()等,这些是我们一些基本的方法,具体重写哪些方法

2016-09-07 21:14:40 903

原创 Android之TypedValue.applyDimension()方法的使用

Android之TypedValue.applyDimension()方法的使用TypedValue是一个工具类,他是一个动态容器。具体是做什么用这里不作介绍了。主要是要了解applyDimension(int unit, float value,DisplayMetrics metrics)方法的使用先看看该方法的参数表示:applyDimension(int unit, float value,

2016-09-07 19:53:02 3322

原创 Android之Canvas自定义画一个时钟

Android之Canvas自定义画一个时钟自定义控件,在安卓是也是一种无所不能的技术了,所有自带控件,以及组合自带控件不能实现的一些效果,我们都可以通过自定义控件来实现,不过,如果能有系统控件使用的就用系统自带的控件去实现,而不必要用自定义去实现,我们都知道,自定义控件在一定的程度上,效率往往会比系统自带的控件效率低,所以我不到万不得已,不要使用自定义控件,今天用自定一控件,实现一个小小的时钟,具

2016-09-06 22:42:09 1007

原创 Android之Fragment+ViewPager实现点击+滑动界面切换学习笔记

Android之Fragment+ViewPager实现点击+滑动界面切换学习笔记  今天在上一个界面切换的基础上来添加一个功能,就是模仿微信滑动界面的切换,我们不仅可以点击下面的控件来选择我们的界面,而且可以自由的滑动切换界面,所有的功能我将通过在代码中添加注释来说明,这里的Fragment代码我就不重复写了,和上一个篇的Fragment代码是一样的,需要了解的请点击无滑动界面切换进行查看。

2016-09-04 01:13:53 1077

原创 Android之Fragment实现界面切换学习笔记

Android之Fragment实现界面切换学习笔记  今天来实现一个简单的界面切换功能,关于页面的切换相信大家都非常熟悉,比如微信、QQ、支付宝等这些常用软件都会有界面切换功能,根据软件的要求不同,我们所设计的页面切换个数也会不同,今天我就写一个四个基本页面切换的小Demo,具体的代码功能都会在注释上写上。      PS:如果想和是我一样的效果,记得先把系统默认的ActionBar去掉,在头

2016-09-04 01:09:25 1558

原创 Java设计模式之策略模式

Java设计模式之策略模式1. 策略模式的介绍通常我们在软件开发中,经常会遇到一种情况,那就是,我们在实现某一个功能可以有多种算法或者策略,我们会根据实际的情况选择不同的算法或者策略来完成该功能,列如,我们在我们的简单的计算器中,我们可以使用加法、减法、乘法、除法等。针对这种情况,我们可能最常见的方式就是将加、减、乘、除写在一个类中。然后分别用四个方法表示 ,当我们需要做加法运算的时候,我们常用的做

2016-09-02 00:43:34 426

原创 Android四大组件之Service服务学习笔记(一)

Android四大组件之Service服务学习笔记  Service是安卓四大组件之一,服务是用在后台处理事情的,并且是不可见的,该服务不是我们所说的服务器的服务,他经常用来处理一些循环操作,但是它不同于子线程,服务是运行在主线程中的。   服务一般分为本地服务和远程服务,这里先介绍本地服务。   本地服务通常用两种启动方式   1. 直接启动模式     我们可以通过startSe

2016-08-31 20:03:55 630

原创 Java设计模式之抽象工厂模式

Java设计模式之抽象工厂模式抽象工厂模式介绍   抽象工厂模式是创建型设计模式之一,在之前的学习中,我们已经了解了工厂方法模式,那么这个抽象工厂模式又是什么呢?大家可以联想一下现实中的工厂肯定都是具体的,也就是说每个工厂都会生产某一种具体的产品,那么抽象工厂意味着生产出来的产品是不确定的,那这样是不是很奇怪呢?其实定义这种设计模式,是非常方便的,因为我们都知道,如在Android中,有对应的B

2016-08-29 23:51:35 516

原创 Android之BroadcastReceiver(接收广播消息)学习笔记(一)

Android之BroadcastReceiver(广播消息)学习笔记  BroadcastReceiver是四大组件之一,这种组件本质上就是一个全局监听器,用于监听系统全局的广播消息。这种实现,就是我们典型的观察者设计模式了,谁需要监听广播,就注册一个相应的广播即可

2016-08-29 21:47:30 3868

原创 Java设计模式之工厂方法模式

Java设计模式之工厂方法模式工厂方法模式介绍      工厂方式模式是创建型设计模式之一。工厂方法模式是一种结构简单的模式,其在我们平时开发的过程中应用很广泛,也许你并不知道,但是你已经使用了无数次该模式了,如在Android中的Activity里的各个声明周期方法,以onCreate方法为例,它就可以看作是一个工厂方法,我们在其中可以构造我们的View并通过setContentView返回

2016-08-28 23:57:11 485

原创 Android之ViewPager学习笔记(MVP模式)

Android之ViewPager学习笔记(MVP模式)  今天来分享分享我在android中学习的ViewPager控件,相信大家对这款控件非常熟悉也非常喜爱,在我们平时的微信中,滑动一个个的界面,就可以用我们的ViewPager来实现,由于内容不是很多,我今天就只用简单的MVP模式来写,不使用通用MVP模式了。 今天主要学习的内容有: 1. 如何实现简单的图片滑动

2016-08-28 13:38:57 1204

原创 Android之okHttpClient+handler+LruCache缓存网络图片学习笔记(通用MVP模式)

Android之okHttpClient+handler+LruCache缓存网络图片(通用MVP模式)上一次我在学习过程中,写了一篇关于缓存网络图片的学习笔记,在那一篇博客中使用的是AsyncTask异步任务请求的方式缓存的,这一次我从学习中,学会了一种新的缓存方法,就是通过LruCache去缓存数据,LruCache是一种内存缓存机制,采用了最近最少LRU算法,这样的效率比直接去判断从本地出数据

2016-08-27 17:03:20 1228

原创 Android之通用MVP模式框架

Android之通用MVP模式框架在最近的学习中,我写代码都一直在使用通用的MVP模式框架,在使用的过程中,最让我感触非常深的是,整个代码的层次感非常清晰,耦合度非常低,扩展非常方便,以及能很好的处理Presenter和View直接内存溢出情况。如果你在写代码,我非常建议你使用这种框架下,下面请跟着我的思路走吧。1、先看以下的构架:在这里你将看到model层下的BaseModelInter、pres

2016-08-27 15:42:27 6446 6

原创 Java设计模式之原型模式

Java设计模式之原型模式原型模式的介绍:     原型模式是一个创建型的模式,原型二字表名了该模式应该有一个样板实例,然后用户想从这个样板中复制出一个内部属性一致的对象,这种过程也就是我们所说的“克隆”。被复制的实例就是我们所称的“原型”,对于原型模式来说,他是可以定制的,你先要拷贝什么样的数据就自己定义需要什么样的数据即可。原型模式多用于创建复杂的或者构造耗时的实例,因为在这中情况下,复制

2016-08-26 00:07:32 495

原创 Java设计模式之建造者(Builder)模式

Java设计模式之建造者(Builder)模式建造者模式介绍: Builder模式是一步一步创建一个复杂对象的创建性模式,它允许用户在不知道内部构建细节的情况下,可以更精细的控制对象的构造流程。该模式是为了将构建复杂对象的过程和它的不见解耦,使得构建过程和部件表示隔离起来。因为一个复杂的对象又很多大量组成部分,如电脑,有主板,显卡,显示器,CPU,电源,还有各种小零件等,如何将这些部件装

2016-08-24 23:53:20 846

原创 Android学习笔记MVP模式框架

Android学习笔记MVP模式框架1.MVP模式介绍: 在上一次学习中,我简单的介绍了MVC构架,这次我来简单的介绍下什么是MVP。对于MVP,他其实就是MVC的一个演化版本,MVP全称Model View Presenter。目前MVP在android应用开发中越来越重要了,相信不少的开发者也在各种讨论关于MVP的理论了。那么这个MVP模式他到底有哪些应用的好处呢?首先MVP能够有效的降低

2016-08-23 21:56:16 995

原创 Java设计模式之单例设计模式

Android设计模式之单例模式单例模式简介:单例模式是应用最广泛的模式之一,相信很多学过java的同学都会使用的这一种设计模式,在应用该模式时, 单例对象的类必须保证只有一个实例存在。因为在很多时候,我们整个系统只需要一个全局变量,这样有利于 我们协调整体的行为。如果在一个应用中,该应用只有一个ImageLoader实例,而这个实例中又含有线程池、 缓存系统、网络请求等,很消耗资源,因此我

2016-08-23 11:49:55 690

原创 Android动画学习之补间动画

Android动画学习笔记之补间动画首先看看补间动画的共同属性:Duration:动画持续的时间(单位:毫秒) fillAfter:设置为true,动画转化在动画被结束后被应用 fillBefore:设置为true,动画转化在动画开始前被应用 interpolator:动画插入器(加速、减速插入器) repeatCount:动画重复的次数 repeatMode:顺序动画(res

2016-08-23 09:43:23 426 1

原创 Android之MVP与MVC、MVVM的区别

Android之MVP与MVC、MVVM的区别1.MVC特点:用户可以向View发送指令,再有View直接要求Model改变状态用户也可以直接向Controller发送指令,再由Controller发送给viewController起到事件路由的作用,同时业务逻辑都部署在controller中MVC图示:由上图可以看到,MVC的耦合性还是相对较高,View可以直接访问model,导致3者之间

2016-08-22 18:18:29 1146

原创 Android之MVC模式

Android之MVC模式1.什么是MVCMVC全称是Modle-View-Controller也就是模型-视图-控制器,他是一种框架模式而非设计模式,作为框架来说,其主要的用途是对软件设计进行分工的。 view层:负责向用户展示界面信息。 model层:负责主要的业务逻辑处理。 controller层:主要负责从view读取数据,控制用户输入,并向模型发送数据,2.MVC的优点对于M

2016-08-22 17:42:20 571

原创 Android之SqliteDatabase(MVP模式)实现用户登录注册功能

Android之SqliteDatabase(MVP模式)实现用户登录注册功能用户登录以及注册功能的普遍使用就不用我说了,任何一款应用软件基本都具有登录和注册功能,今天通过前面的学习,我写了一个小demo,就是使用MVP模式写一个用户登录和注册的功能。有关MVP模式我就不做讲解了,通常来说很多实现的登录或者注册功能都是使用MVC的模式来实现的,今天我将采用MVP模式来实现这个小demo,主要是为了巩

2016-08-20 18:58:32 4729 4

原创 Adroid之SqliteDatabase学习笔记

Android之SqliteDatabase数据库学习笔记SqliteDatabase概述: 大家对sqlite数据库应该是比较了解的,他是一个轻量级的数据库,并且他只是一个嵌入式的数据库引擎,专门适合于资源有限的设备(如手机、PAD等)上存储适量的数据。那么android为我们提供了SqliteDatabase代表一个数据库(底层就是一个数据库文件),只要获取到这个对象,我们就可以对数据库进行

2016-08-19 23:31:35 447

原创 Android之选项菜单子菜单学习笔记

Android之选项菜单和子菜单学习笔记菜单简介:菜单在桌面应用中使用十分广泛,几乎所有的桌面应用都有菜单。但是随着手机的发展,对于手机桌面菜单的使用减少了很多,一般来说我们把菜单都放到应用中是实现,桌面应用的菜单与手机应用的菜单的不同之处就是,桌面菜单一般可见,而手机不可见,通常需要用户按下手机上的MENU键时,才会弹出菜单的相关应用,这里简单的来说下菜的简单使用情况,通过一个小案例来讲解。

2016-08-18 17:58:00 1381

原创 Java设计模式之模板方法模式

Java设计模式之模板方法模式1.什么是模板方法模式(Template Method) 为算法的执行定义了一个统一的框架,其中的某些具体实现方法需要他在子类中去完成,每个子类所做的事情可能都不一样,而子类可以在不改变这个框架的同时去完成该算法的某个具体步骤,这就是我们所说的模板模式。生活中的模板:银行办理业务,1、进门取号 2、填写单据 3、等待叫号 4、窗口办理,对于这四个规则,所有来办理业务的

2016-08-18 14:50:01 438

原创 Android-缓存网络图片(MVP模式)学习笔记

Android之缓存网络图片到内存中学习笔记访问网络图片是很普遍的事了,在前面的学习中,我也写过了几次异步网上请求网络图片,但是没有缓存图片,那么我们也都知道,有时候访问一些经常访问的网络图片,如果不采取缓存的形式,那么对流量的消耗会非常大,所以,有必要的时候我们可以采取缓存图片的方式来解决流量消耗问题,下面就通过一个MVP模式的简单设计来这里写代码片讲解一下缓存网络图片。整体的结构如下:首先对于缓

2016-08-18 13:41:48 1820

原创 AndroidUI控件-AlertDialog弹窗控件

AndroidUI控件-AlertDialog弹窗控件有关android的弹窗界面相信大家见过不少了,手机上很多应用软件都涉及到弹窗控件,比如典型的每次删除一个图片或者卸载一个等都会弹出一个窗口询问是否删除/卸载等,还有我们系统的设置时间/日期等,都用到了这样的控件,下面我将通过代码来总结下常用的几个弹窗控件activity_main.xml<?xml version="1.0" encoding=

2016-08-15 20:22:43 795

原创 Android之ListView分页加载数据功能实现

Android之ListView分页加载数据功能实现什么是ListView分页加载数据功能呢?在现在的大数据时代,我们不可能把某些数据全部展示到界面,好比我们经常会看的QQ空间一样,当你看动态的时候,系统不可能会把所有好友的动态都展示在上面,你能看到的一般都是最新好友更新的动态,假如你要看非最新的好友动态,通常你都会手指向上滑动屏幕然后去查看,当界面下滑到一定数量的时候,就会看到一个“查看更多”,然

2016-08-14 16:48:06 4554

原创 Android之自定义实现BaseAdapter(通用适配器三)

Android之自定义实现BaseAdapter(通用适配器三)在上一篇中,我们说过,在setData中如果有很多控件的话,我们还是要在该方法中写入很多代码,为了降低开发的方便性,本次就在此基础上再一次优化。实现原理是这样的,每次在setData中都要查找控件,然后setXXX()什么的,我们可以把这写实现放如到ViewHolder中去,在ViewHolder中写入一个链式的方法,来帮助我们来实现功

2016-08-14 11:23:02 554

原创 Android之自定义实现BaseAdapter(通用适配器二)

Android之自定义实现BaseAdapter(通用适配器二)在上一篇通用适配器一中,我们已经把ViewHolder抽取为了一个通用的持有类,极大程度上减少了我们对代码的书写,现在开始在那样的基础上在此抽取,从而达到更优。先回顾上一篇中的MyAdapter.java类中的代码,然后通过这个代码我们再一次抽取封装。public class MyAdapter extends MyBaseAdapte

2016-08-14 10:42:44 459

原创 Android之自定义实现BaseAdapter(通用适配器一)

Android之自定义实现BaseAdapter(通用适配器)通过前面的优化布局之后,我们接着来讲如何打造一个通用的适配器,那么通用适配器能干吗呢?很简单,减少我们对代码的书写,下面开始上代码了。MyAdapter.javapublic class MyAdapter extends BaseAdapter { private List<Student> data; public M

2016-08-13 18:36:51 1704

原创 Android之自定义实现BaseAdapter(优化布局)

Android之自定义实现BaseAdapter(优化布局)上一篇中我们介绍了自定义实现BaseAdapter的普通实现布局,然而上一章也说了普通实现的方式效率会很低,而且对系统开销也很大,所以,那样的实现是为了让初学者能知道可以这样使用,在实际项目中不可能使用那种方式的,要是你在做项目的时候使用普通布局方式,我敢保证,不过试用期你的老板就给你飞机票走人了,好了,闲话少说,本次讲解一下优化布局的实现

2016-08-13 17:29:52 622

原创 Android之自定义实现BaseAdapter(普通实现)

Android之自定义实现adapter(普通实现)对于ListVie来说,数据项的设置有很多种方式,而自定义实现BaseAdapter是最经常用的了,那么这里我们来讲解一下自定义实现BaseAdapter的普通实现。MainActivity.javapublic class MainActivity extends AppCompatActivity { //数据源 private

2016-08-13 16:57:38 758

DatabaseUtils

封装数据库操作工具包

2016-09-30

DatabaseUtils工具包

封装的数据库操作

2016-09-30

Fragment+ViewPager滑动界面切换

实现点击选中滑动界面切花效果

2016-09-04

Fragment界面切换

实现简单的界面切换

2016-09-04

LruCache缓存网络图片

网络缓存图片

2016-08-27

MVPCommonDemo

MVP通用框架

2016-08-27

okio-1.9.0.jar

okio-1.9.0

2016-08-26

okio-1.9.0

okio包

2016-08-26

安卓逆向助手

反编译android项目工具

2016-08-25

okhttp3.0.1下载

网络请求工具包,okhttp3.0.1

2016-08-25

MVP模式用户登录注册功能

使用mvp模式实现的用户登录和注册功能

2016-08-20

空空如也

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

TA关注的人

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