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?
Application class is a base class of Android app containing components like Activities and Services. Application or its sub classes are instantiated before all the activities or any other application objects have been created in Android app.
The Application class in Android is the base class within an Android app that contains all other components such as activities and services. The Application class, or any subclass of the Application class, is instantiated before any other class when the process for your application/package is created.
Application Not Responding (ANR) errors are triggered when the UI thread of the application is not responding for more than 5 seconds. You can read more about ANRs and diagnosing ANRs in the Android documentation. Additionally, Crashlytics can help pinpoint specific problematic threads.
If it derives from Application, add the fully qualified (namespace + class name) as the android:name parameter of the application element in your manifest. The documentation says "fully qualified name".
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With