单例访问Android应用程序对象
1、单例模式:
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
2、单例模式优势:
由于单例模式在内存中只有一个实例,减少了内存开销
单例模式可以避免对资源的多重占用。
单例模式可以在系统设置全局的访问点,优化和共享资源访问。
2、问题:需要从android应用程序中去访问全局数据
解决方案:子类化androdi.app.Application 把它作为一个有静态存取方法的单例来处理,子例化android.app.Application。模式是让该实例拥有所有的全局数据,然后将
Application 实例当做单例,用静态存取非法访问各种数据和服务。
3 、code:
1 public class AndroidAppliation extends Application { 2 3 private static AndroidAppliation sInstance; 4 private SessionHandler sessionHandler; 5 6 public static AndroidAppliation getInstance() 7 { 8 return sInstance; 9 } 10 11 public sessionHandler getSessionHandler() 12 { 13 return sessionHandler; 14 } 15 16 public void OnCreate() 17 { 18 super.onCreate(); 19 sInstance=this; 20 sInstance.initializeInstance(); 21 } 22 23 private void initializeInstance() { 24 //do all your initialization here; 25 sessionHandler=new SessionHandler(this.getSharedPreferences("PRESS_PRIVATE", Context.MODE_PRIVATE)); 26 } 27 28 }