MaterialTest学习笔记(七)感谢郭神
Android实现存储和实时更新和取出全局变量
Android通过继承Application类,实现全局变量的存储更新与取出,可以解决用户登录状态,以及一些每个活动间都需要传递的变量。以及解决从Activity到Fragment,有Fragment到Activity的值得一系列传递。
效果图:
第一步,新建一个MyApplication类继承Application
package com.example.globalvariableuse;
import android.app.Application;
import android.content.Context;
public class MyApplication extends Application {
private static Context context;
private static MyApplication instance;
//新建静态变量
private static String Globalvariable;
@Override
public void onCreate() {
super.onCreate();
//获取去全局context
context = getApplicationContext();
//实例个人Application类
instance = this ;
}
public static MyApplication getInstance() {
return instance;
}
public static void setInstance(MyApplication instance) {
MyApplication.instance = instance;
}
public static Context getContext() {
return context;
}
public static void setContext(Context context) {
MyApplication.context = context;
}
public static String getGlobalvariable() {
return Globalvariable;
}
public static void setGlobalvariable(String globalvariable) {
//这一步很重要
MyApplication.Globalvariable = globalvariable;
}
}
第二步,添加name到AndroidManifest.xml文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.globalvariableuse">
<application
//添加注册应用,以便初始化自己的Application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Main2Activity" />
<activity android:name=".Main3Activity"></activity>
</application>
</manifest>
第三步,实际测试
新建三个空白Activity分别为,MainActivity.java,Main2Activity.java, MainActivity.java
修改activity_main.xml布局文件