#kotlin #sharedpreferences
#kotlin #sharedpreferences
Вопрос:
Я создаю приложение в Flutter, и мне нужно запустить фрагмент кода в Kotlin, чтобы проверить, запущено ли приложение при первом запуске.
Я узнал, что это код на Java, но как мне сделать это в Kotlin?
public class MyActivity extends Activity {
SharedPreferences prefs = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Perhaps set content view here
prefs = getSharedPreferences("com.mycompany.myAppName", MODE_PRIVATE);
}
@Override
protected void onResume() {
super.onResume();
if (prefs.getBoolean("firstrun", true)) {
// Do first run stuff here then set 'firstrun' as false
// using the following line to edit/commit prefs
prefs.edit().putBoolean("firstrun", false).commit();
}
}
}
Комментарии:
1. Если вы скопируете и вставите код Java в исходный файл Kotlin в Android Studio, он преобразует его для вас.
2. все, что делает этот код, это пытается вызвать сохраненное значение
firstrun
и по умолчаниюtrue
, если оно не существует (т. Е. Если оно еще не установлено, предположительно, потому что это первый запуск!). А затем, выполнив все при первом запуске, они устанавливают это значение для следующего раза. В Kotlin то же самое!
Ответ №1:
На самом деле довольно просто:
class MainActivity : Activity() {
private lateinit var sharedPrefs: SharedPreferences
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
sharedPrefs = getSharedPreferences(packageName, MODE_PRIVATE)
}
override fun onResume() {
super.onResume()
if (sharedPrefs.getBoolean("firstRun", true)){
sharedPrefs.edit().putBoolean("firstrun", false).commit()
}
}
}