Application对象很是适合用于存储一些与整个应用相关数据,例如应用版本,应用登陆帐户,数据缓存等。
如activity的切换是很频繁的,差很少能够和一个网站中不一样网页之间的切换同样,那么不一样的activity之间须要存储公共信息(如只有一个当前登陆用户)以及数据传递等。
利用Application对象存储登陆用户信息的方法,能够很方便的不一样activity之间获取登陆用户信息。 java
首先,新建一个java类继承Application类:BaseApplication.java android
import android.app.Application; 缓存
public class BaseApplication extends Application {
private String login_user_name = "";
public String getLoginUserName() {
return login_user_name;
}
public void setLoginUserName(String login_user_name) {
this.login_user_name = login_user_name;
} app
} ide
而后,在AndroidManifest.xml中指定应用的application对象 网站
......
<application
android:name=".BaseApplication"
...... this
最后,在activity中使用application对象, 使用Activity的getApplication()方法。 spa
import android.os.Bundle;
import android.app.Activity; xml
public class MainActivity extends Activity {
private BaseApplication mApplication;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); 对象
// 获取整个应用的Application对象
// 在不一样的Activity中获取的对象是同一个
mApplication = (BaseApplication) getApplication();
}
/**
* 通常只有在登陆界面中设置登陆用户信息,在其余的Activity中
* 只要经过Application对象就能够获取登陆用户信息
*/
......
// 将登陆用户信息保存到Application对象中
mApplication.setLoginUserName("登陆名");
//获取登陆名
mApplication.getLoginUserName();
}