2013-07-19 34 views
0

我试图使用Mixpanel将跟踪事件添加到我的Android应用程序(它只是跟踪用户在应用程序中执行的操作),并且我想添加一个名为“Application Started”的事件。 问题是,我应该在哪里跟踪应用程序的事件,而不必重复。 在应用程序第一次启动时只执行一次生命周期中是否存在方法或函数调用?做一个动作只是一次

+0

我会建议你在共享前缀保存你的状态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.. 
} 

}