Extending Android Application class

2019-01-12 06:56发布

问题:

When I was searching for a solution to get the error reports from remote device, just like the test flight app in iOS, I found the acra for Android devices here

In the basic set up they have said we need to add some lines in extends Application class.

In my project so far I have not created such a class, when I was searching in SO regarding this, I came over few questions regarding the extends Application class.

I understood that they are saying a Constant class which contains a global variables, have I understood the right way.

In my projects I use to create a class named as Constants, which contains some global variables such as Strings, int, ArrayList and I this class I use to do my api hits and json parsings. Does this class can be used as extends Application.

If it is the same, in the above mentioned link, they have said

override the onCreate() method to add the ACRA init statement 

But so far I have not created a onCreate method in my Constant class. Am I doing the right thing?

回答1:

I wouldn't bother trying to merge your Constants class with this class. It isn't worth the effort. Just create a new class that does what is necessary for ACRA. Like this:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // do the ACRA init here
    }
}

Now you need to make sure that your MyApplication class gets used. So you need to add android:name to the <application> tag entry in your manifest like so

<application
    android:name="fully.qualified.package.name.MyApplication"

Done.