我们知道Application类的行为就像一个单例,因此我们可以在其中存储一些应用会话数据,并从不同的屏幕与之交互。例如,我们在Java中这样做:
public class App extends Application {
public static String myString;
@Override
public void onCreate() {
super.onCreate();
}
public static String getMyString() {
return myString;
}
public static void setMyString(String myString) {
App.myString = myString;
}
}
我们可以像App.setMyString("blah blah")
这样使用它,并像这样App.getMyString()
我试图将其更改为kotlin,但没有成功:
class App : Application() {
override fun onCreate() {
super.onCreate()
}
companion object {
var myString: String = null
fun setMyString(str: String) {
myString = str
}
fun getMyString(): String? {
return myString
}
}
init {
myString = String()
}
}
该变量不保留我的值