Kysha
Kysha

Reputation: 19

Unable to instantiate activity when running app

I am having trouble running my application due to the above error. It crashed right when I click a 'Register' button. It doesn't behave this way before I tried inserting my JSON codes (to connect to my database).

I'm not really sure if my JSON codes are causing any errors and stuff so I tried searching for a solution here but to no avail.

This is parts of my logcat:

    05-06 01:11:36.270    1173-1173/com.powerfood2014.app I/Process﹕ Sending signal. PID: 1173 SIG: 9
    05-06 01:19:15.030    1227-1227/com.powerfood2014.app D/dalvikvm﹕ GC_FOR_ALLOC freed 74K, 5% free 3029K/3188K, paused 51ms, total 55ms
    05-06 01:19:15.040    1227-1227/com.powerfood2014.app I/dalvikvm-heap﹕ Grow heap (frag case) to 3.645MB for 635812-byte allocation
    05-06 01:19:15.090    1227-1236/com.powerfood2014.app D/dalvikvm﹕ GC_FOR_ALLOC freed 6K, 5% free 3643K/3812K, paused 49ms, total 49ms
    05-06 01:19:15.490    1227-1227/com.powerfood2014.app I/Choreographer﹕ Skipped 42 frames!  The application may be doing too much work on its main thread.
    05-06 01:19:15.540    1227-1227/com.powerfood2014.app D/gralloc_goldfish﹕ Emulator without GPU emulation detected.
    05-06 01:19:21.820    1227-1227/com.powerfood2014.app D/AndroidRuntime﹕ Shutting down VM
    05-06 01:19:21.820    1227-1227/com.powerfood2014.app W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xb3ad7ba8)
    05-06 01:19:21.860    1227-1227/com.powerfood2014.app E/AndroidRuntime﹕ FATAL EXCEPTION: main    
    Process: com.powerfood2014.app, PID: 1227
        java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.powerfood2014.app/com.powerfood2014.app.Register}: java.lang.NullPointerException
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
                at android.app.ActivityThread.startActivityNow(ActivityThread.java:2035)
                at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
                at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
                at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:749)
                at android.widget.TabHost.setCurrentTab(TabHost.java:413)
                at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:154)
                at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546)
                at android.view.View.performClick(View.java:4438)
                at android.view.View$PerformClick.run(View.java:18422)
                at android.os.Handler.handleCallback(Handler.java:733)
                at android.os.Handler.dispatchMessage(Handler.java:95)
                at android.os.Looper.loop(Looper.java:136)
                at android.app.ActivityThread.main(ActivityThread.java:5017)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:515)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: java.lang.NullPointerException
at android.app.Activity.findViewById(Activity.java:1884)
            at com.powerfood2014.app.Register.<init>(Register.java:162)
            at java.lang.Class.newInstanceImpl(Native Method)
            at java.lang.Class.newInstance(Class.java:1208)
            at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
            at android.app.ActivityThread.startActivityNow(ActivityThread.java:2035)
            at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
            at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
            at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:749)
            at android.widget.TabHost.setCurrentTab(TabHost.java:413)
            at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:154)
            at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546)
            at android.view.View.performClick(View.java:4438)
            at android.view.View$PerformClick.run(View.java:18422)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
05-06 01:19:27.660    1227-1227/com.powerfood2014.app I/Process﹕ Sending signal. PID: 1227 SIG: 9

Upvotes: 0

Views: 103

Answers (2)

laalto
laalto

Reputation: 152807

Caused by: java.lang.NullPointerException
  at android.app.Activity.findViewById(Activity.java:1884) 
  at com.powerfood2014.app.Register.<init>(Register.java:162)

You're calling findViewById() too early when initializing member variables - <init> refers to object initialization, e.g. constructor and member variable initialization.

Move the findViewById() initialization to onCreate() so it won't NPE and after setContentView() so it has a chance of finding something.

Upvotes: 2

martijnn2008
martijnn2008

Reputation: 3640

This is (maybe) not the answer, but something to keep in mind. You should make use of Threads when using a network connection. Therefore you get this warning:

Skipped 42 frames! The application may be doing too much work on its main thread.

Have a look on Threads, many tutorials who cover network connection (with JSON) also cover Threads. When well implemented the Threads are preventing you app from lagging, having no response or maybe even crashing.

Upvotes: 0

Related Questions