`
文章列表
Service详解 1.后台运行,没有界面与activity相对。 2.Service更不容被回收,相对于全局对象或后台activity来说。   Service生命周期: 使用startService启动服务 service没有启动时: onCreate()- >onStartCommand() service已经启动时: onStartCommand() 对应使用stopService()结束服务: 1.只有在没有人连到该服务时才会执行。 onDestroy()   使用bindService连接服务: service没有启动时:    onCrea ...

Service

参考:http://blog.csdn.net/pi9nc/article/details/18764415   Service要执行onCreate()、onStartCommand()和onDestroy()方法,Service是运行在主线程里。 构建Intent对象,调用startService()方法和stopService()方法来启动和停止Service 注意:项目中的每一个Ser ...
Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件。   对于每种组件来说,激活的方法是不同的: 1.通过传递一个Intent对象至 Context.startActivity()或Activity.startActivityForResult()以载入(或指定新工作给)一个activity。相应的activity可以通过调用 getIntent() 方法来查看激活它的intent。Android通过调用activity的onNewIntent()方法来传递给它继发的intent。 一个activity经常启动下一个activity。如果它所启动的那个activi ...
 参考:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=49595&highlight=handler             http://blog.csdn.net/itachi85/article/details/8035333   Android提供了Handler和Looper来满足线程间的通信。 Handler是消息的处理者,可以发布或者处理或 ...
activity service broadcastReceiver 使用另一个应用的broadcastReceiver会调起另一个应用application启动 contentProvider 使用另一个应用的contentprovider会调起另一个应用application启动
在Android平台上可以使用SAX(Simple API for XML)、Document Object Model(DOM)和Android附带的Pull解析器解析XML文件。 DOM解析: 处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须 ...
两种都是用于支持序列化、反序列化话操作,两者最大的区别在于存储媒介的不同,Serializable使用IO读写存储在硬盘上,而Parcelable是直接在内存中读写,很明显内存的读写速度通常大于IO读写,所以在Android中通常优先选择Parcelable。Serializable不是当前关注的焦点,不过可以查看《Java序列化算法透析》这篇文章中实现一个简单的Serializable例子,查看序列化生成的IO文件,并且以16进制读取并一一解释每一个16进制数字的含义。   Parcelable举例:   public class MyParcelable implements Pa ...

Activity

  创建状态:已经从内存中生成了。(oncreate(进) onDestroy(出)) 可见状态:如果前台Activity是有一定透明度或不是全屏的,就可以看到了,但不在前台。(onStart(进) onStop(出)) 前台状态:在最上层可以直接交互。(onResum(进) onPause(出))   Activity正常生命周期情况: 1.A再次可见会执行onRestart(); 2.A->B时,如果B是有一定透明度或不是全屏的,A可见,A生命周期只执行onPause不执行onStop。      (如果A上弹出Dialog时,A的生命周期没有变化) 3.A-&g ...
一、Activty的生命周期图: 1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。 2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。 3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。 4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。 5.用 ...
简单工厂模式 (SimpleFactory) 实现要点:工厂有一个方法createProduct()可以生产抽象product的不同具体产品。每个具体产品可以需要不同的标识。 public static Operation createOperate(string operate) { Operation oper = null; switch (operate) { case "+": { oper = new OperationAdd(); ...
 GOF意图:将一个复杂对象的构建(Director)与它的表示(builder)分离,使得同样的构建过程(Director定义的)可以创建不同的表示(builder在组装的)。(构建与表示分离)   角色: 1 builder:为建造者,提供建造part的接口buildPart()建造产品的一部分,获得建造结果的接口geResult()。 2 ConcreteBuilder:具体建造者,可以有多个具体建造者。不同的建造者建造出的产品外观有区别。 3 Director,指挥者:指挥者统一了建造的过程,传给指挥者的建造者不同,创建出的产品外观不同。 4 Product:表示被构造的 ...
GOF意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。(用已存在的类A实例创另一个类A实例) 角色: Prototype:抽象原型类。声明克隆自身的接口clone。  ConcretePrototype:具体原型类。实现克隆的具体操作。  Client:客户类。使用clone类的用户。   实现要点:clone方法实现时一定要深拷贝,不能是浅拷贝。   浅拷贝:非引用型成员变量和引用类型成员变量直接赋值,引用类型成员变量自身不深拷贝。 深拷贝:1.非引用型成员变量直接对应赋值值,2.引用类型成员变量也要深拷贝。   使用场景:        如果创 ...
GOF意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点 角色: singleton(单例):有一个静态的本身实例,并且有个静态的方法如果实例为空则创建且返回该实例,否则直接返回实例。   实现要点:instance()获得或创建实例 uniqueInstance是本身实例。    
GOF意图:提供一种方法顺序访问一个聚合对象中各个元素,,而又不需暴露该对象的内部表示(遍历集合中的每个元素)   角色: Iterator(迭代器): ConcreteIterator (具体迭代器):持有集合的引用,,知道第一个,并且记着集合当前遍历的位置,并且知道如何找到下一个,并且知道什么时候结束。 Aggregate (集合): ConcreteAggregate (具体集合):具体集合可以创建并返回一个迭代器。   实现要点: 迭代器持有集合引用,并知道遍历的第一个,当前位置,下一个,结束。集合创建并返回迭代器。    
 GOF意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。(固定步骤行为的解决方案)   角色: 1 抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。   2 具体类(ConcreteClass):实现抽象类中的抽象方法,已完成完整的算法。   实现要点:固定步骤在父类中定义成抽象方法。    
Global site tag (gtag.js) - Google Analytics