Context:一个访问全局信息的接口,如应用程序的资源(图片资源、字符串资源等),一些常用的组件会继承Context,如Activity
Activity中的组件TextView、ImageView等,构造函数需传入Context类的参数来
访问全局信息,如:
ImageView iv=new ImageView(this);
iv.getImageResource(R.mipmap.ic_launcher);
setContentView(iv);
会访问到并显示图片ic_launcher
Application: 创建一个类app并继承Application,在AndroidManifest.xml文件中在application标签下配置一个名字android:name=".App",这样就定义了android的Application它是一个全局上下文对象,在MainActivity中可通过方法getApplicationContext()来获取Application全局的对象
实现数据共享:定义一个类App使它继承Application,声明一个字符串变量textData默认值"default",并定义它的set方法setTextData()和get方法
getTextData();定义两个activity名为Main1、Main2,并绑定对应的layout,使用同样的布局:文本textView、输入文本editText、保存按钮btnSave,在两个activity中获取资源,重写参数为Bundle的onCreate函数,并设置监听器:
public void onClick(View v){
((App)getApplicationContext()).setTextData(editText.getText().toString());
textView.setText("共享的数据是:"+((App)getApplicationContext()).getTextData());
}
运行即可实现数据共享
Application生命周期:
onCreate():启动时执行,优先于activity的onCreate方法
onTerminate():结束时执行,几乎不会执行
onLowMemory():低内存时执行,几乎不执行
onTrimMemory():程序内存清理时执行
onConfigurationChanged():配置改变时执行