利用Application对象存储登录用户信息

Application对象非常适合用于存储一些与整个应用相关数据,例如应用版本,应用登录账户,数据缓存等。
如activity的切换是很频繁的,差不多可以和一个网站中不同网页之间的切换一样,那么不同的activity之间需要存储公共信息(如只有一个当前登录用户)以及数据传递等。
利用Application对象存储登录用户信息的方法,可以很方便的不同activity之间获取登录用户信息。


首先,新建一个java类继承Application类:BaseApplication.java

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;   
    } 

}

然后,在AndroidManifest.xml中指定应用的application对象

......
<application
        android:name=".BaseApplication"
......


最后,在activity中使用application对象, 使用Activity的getApplication()方法。

import android.os.Bundle;
import android.app.Activity;

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();


}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。