如何在启动应用程序时执行代码

时间:2012-01-26 23:17:32

标签: android

我有一个litle android应用程序,我想在应用程序启动时执行一些代码。

我该怎么做?我是Android开发的新手。

5 个答案:

答案 0 :(得分:2)

我遇到了类似的情况。我只需要执行一次方法,但onCreate()onStart()onResume()方法对我来说不起作用,因为这些方法在设备旋转时调用,在另一种情况下调用。

所以我决定扩展Application并在我的自定义应用程序类的onCreate()中运行该方法,因为每个应用程序启动只运行一次,因为< strong>任务不需要长时间运行

以下是一个例子:

public class CustomApp extends Application {
    public CustomApp() {
        // This method fires only once per application start.
    }

    @Override
    public void onCreate() {
        super.onCreate();
        // This method fires once as well as constructor
        // & here we have application context

        //Method calls
        StaticClass.oneMethod(); // static method 
        Foo f = new Foo();
        f.fooMethod();           // instance method
    }
}

下一步是告诉Android我们有一个自定义的Application类。我们通过引用&#39; android:name&#39;中的自定义应用程序类来实现。 applcation标签的属性。像这样:

<manifest ...
    <application
         android:name="com.package.example.CustomApp">
        <activity>
            <!-- activity configuration-->
        </activity>
            ...
        <activity>
            <!-- activity configuration-->
        </activity>
    </application>
</manifest>

......对于任何可以帮助你的人来说!

答案 1 :(得分:1)

你可以用这个:

protected void onStart() 
{
super.onStart();

Your code here.....

}

答案 2 :(得分:1)

在开始开发之前阅读活动生命周期可能是个好主意...... http://developer.android.com/guide/topics/fundamentals/activities.html

答案 3 :(得分:0)

在android中,应用程序的启动,执行和终止可以被认为是状态机的执行。 onStart()方法由android在第一次调度执行时的应用程序执行。您可以覆盖onStart函数并在其中使用您自己的代码,如下所示

protected void onStart(){
  super.onStart();
  return_type method1(...);
  .
  .
  .
}

答案 4 :(得分:0)

您可能想了解有关活动:http://developer.android.com/reference/android/app/Activity.html

的信息

Android没有传统意义上的应用概念,而是一系列活动。

将所有初始化放在Activity的onCreate()

将您希望在onStart()

中的活动开始时运行的代码放入