Мы знаем, что класс 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()
}
}
Эта переменная не сохраняет мое значение