2016-10-22 2 views
0

Давайте предполагать, что у нас есть функция определяется следующим образом:Выполнить некоторые операции, когда приложение впервые установлена ​​

public class MyClass { 
    public static void RunFirstTime() { 
     //... 
    } 
} 

Самый первый раз, когда я установить приложение, я хочу, чтобы запустить RunFirstTime(), но тогда любой другой время, когда я запускаю приложение, эта функция не должна запускаться.

Есть ли встроенный способ сделать это?

+0

Смотрите это так: http://stackoverflow.com/a/ 35062744/1860982 –

ответ

4

Просто используйте SharedPreferences и сохраните логическую переменную, когда закончите с первым запуском.

Чтобы быть более ясным, код должен быть что-то вроде этого:

public static void RunFirstTime() { 
    SharedPreferences prefs = getPreferences(MODE_PRIVATE); 
    boolean firstRun = sPref.getBoolean("firstRun", true); 
    if(firstRun){ 
     //Do something here 
     .... 
     //Save firstRun = false in order to not repeat next time 
     Editor prefEdit = sPref.edit(); 
     prefEdit.putBoolean("firstRun", false); 
     prefEdit.commit(); 
    } 
} 
+0

Почему бы мне не подумать об этом - конечно! Благодарю. Принимаю в 12 – KaliMa

+0

Добро пожаловать :) – zon7

0

код Попробуйте так:

public boolean isFirstRun() { 
    SharedPreferences sPref; 
    sPref = getPreferences(MODE_PRIVATE); 
    boolean isFirstRun = sPref.getBoolean("FirstRun", true); 
    Editor ed = sPref.edit(); 
    ed.putBoolean("FirstRun", false); 
    ed.commit(); 
    return isFirstRun; 
    } 
Смежные вопросы