Android下关于Application的使用
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、雅安服务器托管、营销软件、网站建设、桓台网站维护、网站推广。1、Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Application并在manifest的application标签中进行注册(只需要给Application标签增加个name属性把自己的 Application的名字定入即可)。
2、ndroid系统会为每个程序运行时创建一个Application类的对象且仅创建一个,所以Application可以说是单例 (singleton)模式的一个类.且application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期。因为它是全局 的单例的,所以在不同的Activity,Service中获得的对象都是同一个对象。所以通过Application来进行一些,数据传递,数据共享 等,数据缓存等操作。
//创建一个DemoApplication类继承Application实现onCreate()方法
public class DemoApplication extends Application{ public String name = "tom"; public void onCreate(){ super.onCreate(); Log.v("zd", "CustomApplication---------------onCreate"); setName(name); } public String getName() { return name; } public void setName(String name) { this.name = name; } }
//在需要使用的地方调用DemoApplication中的数据,达到数据共享
public class MainActivity extends Activity { private DemoApplication app; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.v("zd", "MainActivity---------------onCreate"); app = (DemoApplication) getApplication(); Log.v("zd", app.getName()); } protected void onStop() { super.onStop(); Log.v("zd", "MainActivity---------------onStop"); } protected void onDestory(){ super.onDestroy(); Log.v("zd", "MainActivity---------------onDestory"); } }
//Manifest中在Application中增加name属性即name="DemoApplication"
//注意在DemoApplication中不可以执行耗时操作,否则会影响程序的启动时间
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。