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