自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 MVP架构

参考文章:http://blog.csdn.net/magic_jss/article/details/52144019

2017-04-09 13:24:01 105

原创 WebView属性详解

1. 打开网页时不调用系统浏览器, 而是在本WebView中显示:  mWebView.setWebViewClient(new WebViewClient(){      @Override      public boolean shouldOverrideUrlLoading(WebView view, String url) {          view.loa...

2017-03-06 20:22:12 123

原创 Vector与 ArrayList 的区别

 https://zhidao.baidu.com/question/501985714.html 这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,,并且其中的数据是允许重复的,这是HashSet之类的集合的最大不同处,HashSe...

2017-02-24 18:13:52 124

原创 Android中资源文件夹res/raw和assets的区别

*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。 *res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.res...

2017-02-20 20:39:24 210

原创 Android 异步消息处理—让你深入理解 Looper、Handler、Message

很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢?异步消息处理线程启动后会进入一个无限的循环体之中,每循环...

2017-02-20 20:29:07 82

原创 Android通过HTTP协议实现多线程下载

import java.io.File;  import java.io.InputStream;  import java.io.RandomAccessFile;  import java.net.HttpURLConnection;  import java.net.URL;    public class MulThreadDownload {      ...

2017-02-20 17:58:26 129

原创 用代码实现将activity标题设置成图片

用代码实现将activity标题设置成图片。 @Overridepublic void onCreate(Bundle icicle) {   super.onCreate(icicle);   Window win = getWindow();   win.requestFeature(Window.FEATURE_LEFT_ICON);   set...

2017-02-20 16:52:33 91

原创 Android下常见的内存泄漏

 1、非静态内部类的静态实例1.  public class MainActivity extends Activity   2.  {   3.      static Demo sInstance = null;   4.      @Override   5.      public void onCreate(BundlesavedInstanceSt...

2017-02-20 16:47:16 64

原创 java运算符优先级

Java运算符优先级 序列号符号名称结合性(与操作数)目数说明1.点从左到右双目 ( )圆括号从左到右  [ ]方括号从左到右 ...

2017-02-17 21:35:30 89

原创 view概述总结

drawableview(textview,imageview ...)viewgroup(relative layout,linearLayout ...)-----------------------------------------------------------------分层模式canvas分层view叠加(事件传递机制)view的事件传递机制是...

2016-06-26 23:42:52 97

原创 多线程

多线程就是有多个线程同时运行。线程的生成new Thread(new Runnable() {    @Override    public void run() {            }}).start(); 多线程有共用的资源就需要同步(例如,变量,列表);没有共用资源不需要同步。同步需要使用锁。锁与锁上的条件(条件wait时会释放该锁,条件...

2016-06-26 17:08:00 73

原创 方法的实现方法,功能的实现方法。

方法的实现方法,功能的实现方法。使用算法。1.什么是算法:方法的实现方法,问题的程序式解决方法。算法的5个特征:输入性:0个或多个输入。输出性:1个或多个输出。有穷性:方法必须在有穷的时间内执行完。确定性:方法的每个语句都有确切的含义,不能有二义性。必须是相同的输入,有相同的输出。可行性:方法的每一句都可以用计算机来执行。 -- 2.算法模式:递归:...

2016-06-10 08:12:24 1407

原创 容器 集合 数据结构

 http://www.open-open.com/lib/view/open1474167415464.html   基本容器:集合:1.set:元素之间没有关系,确定性,不重复性,无序性。 线性结构:1.线性表:一个元素接着一个元素,随意位置可以插入删除。2.队:先进先出,只准在尾部插入,在头部读出。3.栈:后进先出,只准在一端插入和删除。...

2016-06-09 21:22:54 92

原创 ContentProvider

ContentProvider可以同进程,不同进程之间数据共享,<provider android:name=".MyContentProvider" android:authorities="cn.wzl"/>public class MyContentProvider extends ContentProvider { publ...

2016-06-07 00:02:26 87

原创 BroadcastReceiver

广播是一种消息机制,有消息的发送者和接收者,广播可实现组件间通讯,进程间通讯。 广播的发送全局广播分类1.发送普通广播Intent intent=new Intent("123");sendBroadcast(intent); 2.发送有序广播:有序广播是:广播接收者根据自己的优先级先后接收广播优先级:<receiver android:nam...

2016-06-06 22:14:58 68

原创 Service详解

Service详解1.后台运行,没有界面与activity相对。2.Service更不容被回收,相对于全局对象或后台activity来说。 Service生命周期:使用startService启动服务service没有启动时:onCreate()- >onStartCommand()service已经启动时:onStartCommand()对应使用...

2016-06-05 15:13:16 171

原创 Service

参考:http://blog.csdn.net/pi9nc/article/details/18764415 Service要执行onCreate()、onStartCommand()和onDestroy()方法,Service是运行在主线程里。构建Intent对象,调用startService()方法和stopService()方法来启动和停止Service注意:项目中的每一...

2016-05-18 17:53:09 71

原创 Intent

Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件。 对于每种组件来说,激活的方法是不同的:1.通过传递一个Intent对象至 Context.startActivity()或Activity.startActivityForResult()以载入(或指定新工作给)一个activity。相应的activity可以通过调用 getIntent() 方法来查看激活它...

2016-05-16 22:12:59 92

原创 android的多线程如何通信

 参考:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=49595&highlight=handler            http://blog.csdn.net/itachi85/article/details/8035333 Android提供了Handler和Looper来满足线程间的通信。...

2016-05-16 16:22:53 92

原创 Android四大组件说明

activityservicebroadcastReceiver使用另一个应用的broadcastReceiver会调起另一个应用application启动contentProvider使用另一个应用的contentprovider会调起另一个应用application启动...

2016-05-15 07:51:51 69

原创 android的xml解析有哪些?有什么区别?

在Android平台上可以使用SAX(Simple API for XML)、Document Object Model(DOM)和Android附带的Pull解析器解析XML文件。DOM解析: 处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问解析过程:1.     ...

2016-05-11 17:19:15 149

原创 Android 中Serializable与Parcelable区别?

两种都是用于支持序列化、反序列化话操作,两者最大的区别在于存储媒介的不同,Serializable使用IO读写存储在硬盘上,而Parcelable是直接在内存中读写,很明显内存的读写速度通常大于IO读写,所以在Android中通常优先选择Parcelable。Serializable不是当前关注的焦点,不过可以查看《Java序列化算法透析》这篇文章中实现一个简单的Serializable例子,查...

2016-05-11 17:01:36 70

原创 Activity

 创建状态:已经从内存中生成了。(oncreate(进) onDestroy(出))可见状态:如果前台Activity是有一定透明度或不是全屏的,就可以看到了,但不在前台。(onStart(进) onStop(出))前台状态:在最上层可以直接交互。(onResum(进) onPause(出)) Activity正常生命周期情况:1.A再次可见会执行onRestart()...

2016-05-06 20:13:27 61

原创 Android 开发四大基本组件之一——Activity详解

一、Activty的生命周期图:1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResum...

2016-05-05 19:04:26 119

原创 简单工厂模式 (SimpleFactory)工厂方法模式 (Factory Method)抽象工厂模式(Abstract Factory)...

简单工厂模式 (SimpleFactory) 实现要点:工厂有一个方法createProduct()可以生产抽象product的不同具体产品。每个具体产品可以需要不同的标识。public static Operation createOperate(string operate){ Operation oper = null; switch (operate) ...

2016-05-05 11:01:50 94

原创 生成器模式 (Builder)

 GOF意图:将一个复杂对象的构建(Director)与它的表示(builder)分离,使得同样的构建过程(Director定义的)可以创建不同的表示(builder在组装的)。(构建与表示分离) 角色:1 builder:为建造者,提供建造part的接口buildPart()建造产品的一部分,获得建造结果的接口geResult()。2 ConcreteBuilder:具体建造...

2016-05-04 16:45:13 134

原创 原型模式(Prototype)

GOF意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。(用已存在的类A实例创另一个类A实例)角色:Prototype:抽象原型类。声明克隆自身的接口clone。 ConcretePrototype:具体原型类。实现克隆的具体操作。 Client:客户类。使用clone类的用户。 实现要点:clone方法实现时一定要深拷贝,不能是浅拷贝。 浅拷...

2016-05-04 13:19:40 58

原创 *单例模式(Singleton )

GOF意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点角色:singleton(单例):有一个静态的本身实例,并且有个静态的方法如果实例为空则创建且返回该实例,否则直接返回实例。 实现要点:instance()获得或创建实例 uniqueInstance是本身实例。  ...

2016-05-04 12:43:47 68

原创 迭代者模式(Iterator)

GOF意图:提供一种方法顺序访问一个聚合对象中各个元素,,而又不需暴露该对象的内部表示(遍历集合中的每个元素) 角色:Iterator(迭代器):ConcreteIterator (具体迭代器):持有集合的引用,,知道第一个,并且记着集合当前遍历的位置,并且知道如何找到下一个,并且知道什么时候结束。Aggregate (集合):ConcreteAggregate (具体...

2016-05-04 12:29:23 231

原创 模板方法模式(Template Method)

 GOF意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。(固定步骤行为的解决方案) 角色:1 抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。 2 具体类(ConcreteClass):实现抽象类中的抽象方法,已完成完整的算法。 实现要点:固定步骤在父类中定义成抽象方法。  ...

2016-05-04 12:29:14 72

原创 中介者模式(Mediator )

 GOF意图:用一个中介对象来封装一系列的对象交互 角色:Mediator(中介者):中介者定义一个接口用于与各同事对象进行通信ConcreteMediator(具体中介者):要持有每个同事的引用,或持有同事列表。Colleague class(同事):持有中介者引用,要与别的同事通讯,可以通过中介者的接口查到同事通讯。 实现要点:中介者持有同事列表,和提供通讯接...

2016-05-03 21:40:35 98

原创 观察者模式(Observer)

 GOF意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。(一个类(观察者)的行为依赖另一个类(被观察者)的行为) 角色:1 抽象主题(Subject):抽象被观察者,维持有一个观察者列表,可以添加和删除,被观察这变化的时候调用或通知观察者。2 具体主题(ConcreteSubject): 具体被观察者。3 抽象观...

2016-05-03 20:46:17 62

原创 * 策略模式(Strategy)

 GOF意图:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。(同一个调用类在不同策略下有不同策略实现的解决方案) 角色:环境类(Context):用一个Strategy对象来配置。维护一个对Strategy对象的引用抽象策略类(Strategy):有一个方法Algorithminterface()是context当前策略下的不同实现。具体策略...

2016-05-03 20:14:41 81

原创 状态模式(State)

 GOF意图:允许一个对象在其内部状态改变时改变它的行为。(同一个调用类在不同状态下有不同反应) 角色:环境类(Context):  定义客户感兴趣的接口。维护一个ConcreteState类的实例,这个ConcreteState是context的状态。抽象状态类(State): 抽象状态,有一个方法handle()是context当前状态下的反应。具体状态类(Concre...

2016-05-03 20:04:41 60

原创 访问者模式(Visitor )

 GOF意图:表示一个作用于某对象结构中的各元素的操作。(元素设定访问器,访问器再访问对象)角色:1.Visitor 抽象访问者角色。有方法visitElent需要元素参数2.ConcreteVisitor.具体访问者角色,访问元素对象的。3.Element 被访问者,定义一个接受访问操作(accept()),它以一个访问者(Visitor)作为参数。4.ConcreteE...

2016-05-03 16:39:40 87

原创 享元模式 (Flyweight)

GOF意图:运用共享技术有效地支持大量细粒度的对象Flyweight模式是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用,所以叫享元。 此模式解决的是由于大量的细粒度对象所造成的内存开销的问题,它在实际的开发中并不常用,但是作为底层的提升性能的一种手段却很有效 角色:享元工厂(FlyweightFactoiy)角色:维持一个享元列表,并且负责创建和查询抽...

2016-05-02 11:08:41 101

原创 代理模式 (Proxy)

 GOF意图:为其他对象提供一种代理以控制对这个对象的访问角色:1) 抽象主题角色(Subject):统一接口2)代理角色(Proxy):保存一个引用使得代理可以访问实体。若 RealSubject和Subject的接口相同,Proxy会引用Subject。提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体。控制对实体的存取,并可能负责创建和删除它。...

2016-05-02 11:05:45 110

原创 适配器模式(Adapter)

 GOF意图:将一个类的接口转换成客户希望的另外一个接口。Adapt 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。  角色:1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。2 适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。3 需要适配的类(Adaptee):需要适配的类或被适...

2016-05-02 11:05:26 60

原创 外观模式(Facade)

 GOF意图:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 角色:(1) Facade(外观角色):在客户端可以调用它的方法,在外观角色中可以知道相关的(一个或者多个)子系统的功能和责任;在正常情况下,它将所有从客户端发来的请求委派到相应的子系统去,传递给相应的子系统对象处理。(2) SubSystem(子系统角色):在...

2016-05-01 18:41:37 53

原创 装饰模式(Decorator)

装饰模式又名包装(Wrapper)模式 GOF意图:动态地给一个对象添加一些额外的职责。(功能分离,自由组合)Decorator模式相比生成子类更为灵活角色:抽象构件(Component)角色:一个统一抽象接口,里面没有被包装者的引用。具体构件(ConcreteComponent)角色:原始被包装者,没有被包装者的引用。装饰(Decorator)角色:是包装者的父类,持有被包...

2016-05-01 18:25:17 55

空空如也

空空如也

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

TA关注的人

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