2013-07-19 7 views
0

Я пытаюсь добавить события отслеживания в свое приложение Android с помощью Mixpanel (он просто отслеживает, какие действия выполняет пользователь в приложении), и я хочу добавить событие под названием «Приложение начато». Вопрос в том, где я должен отслеживать событие приложения, не повторяя его. Есть ли метод или вызов функции в жизненном цикле, который выполняется при первом запуске приложения и только один раз?Выполнение действия ровно один раз

+0

я хотел бы предложить вы должны сохранить состояние ур в общем pref android – KOTIOS

ответ

1

ли это в OnCreate() вашего класса приложения .. это будет сделано только один раз, когда приложение запускается ...

+0

В классе Application? Должен ли я найти класс под названием «Приложение»? или это должен быть мой основной класс активности? –

+0

Нет, класс приложения отличается от действий. Для приложения может быть только класс приложения .. И что вы объявляете в файле манифеста. Обычно это –

0

Вы можете сохранить его в качестве значения предпочтения:

SharedPreferences setting = PreferenceManager.getDefaultSharedPreferences(this); 
boolean firstStart = setting.getBoolean("firstStart",true); 
if(firstStart == true) { 
    //do work first time 

    SharedPreferences.Editor edit = setting.edit(); 
    edit.putBoolean("firstStart", false); 
    edit.commit(); 
} 
+0

Но разве это не означает, что значение false будет сохраняться даже после закрытия приложения и его запуска? поэтому он всегда будет ложным после первого запуска? –

+0

Значения предпочтений являются постоянными, поскольку они хранятся во внешнем XML-файле. В следующий раз, когда вы запустите приложение, значения будут сохраняться. – Neoh

+0

Да, но я не хочу, чтобы значение сохранялось за время жизни приложения. Таким образом, когда пользователь открывает приложение, вызывается новый вызов функции Track_Event(). –

1

Нет, класс приложений отличается от деятельности .. Для приложения, может быть только на классе приложения .. И что вы заявляете в файле манифеста .. Обычно так:

public class MyApplication extends Application { 

@override 
onCreate() 
{ 
// Do your task here.. 
} 

}