在 Android Studio 中,你可以使用 SharedPreferences 来持久化全局变量。SharedPreferences 是 Android 平台提供的一种轻量级的存储方式,适用于保存少量的、不涉及用户安全信息的数据。以下是如何在 Android Studio 中使用 SharedPreferences 存储和读取全局变量的步骤:
GlobalVariables.java
或 GlobalVariables.kt
。在这个类中,你可以定义全局变量以及相应的获取和设置方法。以 Java 为例:
import android.content.Context;
import android.content.SharedPreferences;
public class GlobalVariables {
private static final String PREFERENCES_FILE_NAME = "my_preferences";
private static final String KEY_GLOBAL_VARIABLE = "global_variable";
private SharedPreferences sharedPreferences;
public GlobalVariables(Context context) {
sharedPreferences = context.getSharedPreferences(PREFERENCES_FILE_NAME, Context.MODE_PRIVATE);
}
public String getGlobalVariable() {
return sharedPreferences.getString(KEY_GLOBAL_VARIABLE, "");
}
public void setGlobalVariable(String value) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(KEY_GLOBAL_VARIABLE, value);
editor.apply();
}
}
以 Kotlin 为例:
import android.content.Context
import androidx.preference.PreferenceManager
object GlobalVariables {
private const val PREFERENCES_FILE_NAME = "my_preferences"
private const val KEY_GLOBAL_VARIABLE = "global_variable"
fun getGlobalVariable(context: Context): String {
return PreferenceManager.getDefaultSharedPreferences(context).getString(KEY_GLOBAL_VARIABLE, "") ?: ""
}
fun setGlobalVariable(context: Context, value: String) {
PreferenceManager.getDefaultSharedPreferences(context).edit().putString(KEY_GLOBAL_VARIABLE, value).apply()
}
}
GlobalVariables
类的实例。然后,你可以使用 getGlobalVariable()
方法获取全局变量的值,或者使用 setGlobalVariable()
方法设置全局变量的值。以 Java 为例:
public class MainActivity extends AppCompatActivity {
private GlobalVariables globalVariables;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
globalVariables = new GlobalVariables(this);
String globalVariable = globalVariables.getGlobalVariable();
// 设置全局变量的值
globalVariables.setGlobalVariable("New Value");
}
}
以 Kotlin 为例:
class MainActivity : AppCompatActivity() {
private lateinit var globalVariables: GlobalVariables
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
globalVariables = GlobalVariables(this)
val globalVariable = globalVariables.getGlobalVariable()
// 设置全局变量的值
globalVariables.setGlobalVariable("New Value")
}
}
通过这种方式,你可以在 Android Studio 中持久化全局变量。当应用关闭并重新打开时,之前设置的全局变量值将被保留。