I’m getting this error after clicking the AlertDialog box OK Button to Intent to the next activity, the data is still being inserted into the database but the application just crashes.
Logcat error:
07-22 02:26:08.603: E/JSON(10170): {"tag":"register","success":1,"error":0,"uid":"500af44ea075b5.28543539","user":{"name":"Dddds","email":"Saasa","imei":"359616041330986","created_at":"2012-07-22 02:26:22","updated_at":null}}
07-22 02:26:08.623: E/JSON(10170): {"uid":"500af44ea075b5.28543539","error":0,"user":{"created_at":"2012-07-22 02:26:22","updated_at":null,"email":"Saasa","imei":"359616041330986","name":"Dddds"},"success":1,"tag":"register"}
07-22 02:26:08.758: D/dalvikvm(10170): GC_CONCURRENT freed 142K, 3% free 13469K/13831K, paused 7ms+2ms
07-22 02:26:09.608: D/dalvikvm(10170): newInstance failed: p0 i0 [0 a1
07-22 02:26:09.608: D/AndroidRuntime(10170): Shutting down VM
07-22 02:26:09.608: W/dalvikvm(10170): threadid=1: thread exiting with uncaught exception (group=0x40c681f8)
07-22 02:26:09.613: E/AndroidRuntime(10170): FATAL EXCEPTION: main
07-22 02:26:09.613: E/AndroidRuntime(10170): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{nyp.android.project/nyp.android.project.DashboardActivity}: java.lang.InstantiationException: can't instantiate class nyp.android.project.DashboardActivity
07-22 02:26:09.613: E/AndroidRuntime(10170): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1891)
07-22 02:26:09.613: E/AndroidRuntime(10170): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
07-22 02:26:09.613: E/AndroidRuntime(10170): at android.app.ActivityThread.access$600(ActivityThread.java:127)
07-22 02:26:09.613: E/AndroidRuntime(10170): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
07-22 02:26:09.613: E/AndroidRuntime(10170): at android.os.Handler.dispatchMessage(Handler.java:99)
07-22 02:26:09.613: E/AndroidRuntime(10170): at android.os.Looper.loop(Looper.java:137)
07-22 02:26:09.613: E/AndroidRuntime(10170): at android.app.ActivityThread.main(ActivityThread.java:4511)
07-22 02:26:09.613: E/AndroidRuntime(10170): at java.lang.reflect.Method.invokeNative(Native Method)
07-22 02:26:09.613: E/AndroidRuntime(10170): at java.lang.reflect.Method.invoke(Method.java:511)
07-22 02:26:09.613: E/AndroidRuntime(10170): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
07-22 02:26:09.613: E/AndroidRuntime(10170): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
07-22 02:26:09.613: E/AndroidRuntime(10170): at dalvik.system.NativeStart.main(Native Method)
07-22 02:26:09.613: E/AndroidRuntime(10170): Caused by: java.lang.InstantiationException: can't instantiate class nyp.android.project.DashboardActivity
07-22 02:26:09.613: E/AndroidRuntime(10170): at java.lang.Class.newInstanceImpl(Native Method)
07-22 02:26:09.613: E/AndroidRuntime(10170): at java.lang.Class.newInstance(Class.java:1319)
07-22 02:26:09.613: E/AndroidRuntime(10170): at android.app.Instrumentation.newActivity(Instrumentation.java:1026)
07-22 02:26:09.613: E/AndroidRuntime(10170): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1882)
07-22 02:26:09.613: E/AndroidRuntime(10170): ... 11 more
07-22 02:26:59.308: I/Process(10170): Sending signal. PID: 10170 SIG: 9
07-22 02:31:13.878: D/OpenGLRenderer(10938): Flushing caches (mode 0)
07-22 02:31:15.773: D/dalvikvm(10938): GC_CONCURRENT freed 155K, 3% free 13114K/13511K, paused 2ms+2ms
07-22 02:31:17.708: D/OpenGLRenderer(10938): Flushing caches (mode 0)
07-22 02:31:26.963: E/JSON(10938): {"tag":"register","success":1,"error":0,"uid":"500af58d0aa288.05836094","user":{"name":"Test","email":"Test","imei":"359616041330986","created_at":"2012-07-22 02:31:41","updated_at":null}}
07-22 02:31:26.968: E/JSON(10938): {"uid":"500af58d0aa288.05836094","error":0,"user":{"created_at":"2012-07-22 02:31:41","updated_at":null,"email":"Test","imei":"359616041330986","name":"Test"},"success":1,"tag":"register"}
07-22 02:31:27.008: D/dalvikvm(10938): GC_FOR_ALLOC freed 214K, 3% free 13240K/13639K, paused 20ms
07-22 02:31:28.468: D/dalvikvm(10938): newInstance failed: p0 i0 [0 a1
07-22 02:31:28.468: D/AndroidRuntime(10938): Shutting down VM
07-22 02:31:28.468: W/dalvikvm(10938): threadid=1: thread exiting with uncaught exception (group=0x40c681f8)
07-22 02:31:28.473: E/AndroidRuntime(10938): FATAL EXCEPTION: main
07-22 02:31:28.473: E/AndroidRuntime(10938): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{nyp.android.project/nyp.android.project.DashboardActivity}: java.lang.InstantiationException: can't instantiate class nyp.android.project.DashboardActivity
07-22 02:31:28.473: E/AndroidRuntime(10938): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1891)
07-22 02:31:28.473: E/AndroidRuntime(10938): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
07-22 02:31:28.473: E/AndroidRuntime(10938): at android.app.ActivityThread.access$600(ActivityThread.java:127)
07-22 02:31:28.473: E/AndroidRuntime(10938): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
07-22 02:31:28.473: E/AndroidRuntime(10938): at android.os.Handler.dispatchMessage(Handler.java:99)
07-22 02:31:28.473: E/AndroidRuntime(10938): at android.os.Looper.loop(Looper.java:137)
07-22 02:31:28.473: E/AndroidRuntime(10938): at android.app.ActivityThread.main(ActivityThread.java:4511)
07-22 02:31:28.473: E/AndroidRuntime(10938): at java.lang.reflect.Method.invokeNative(Native Method)
07-22 02:31:28.473: E/AndroidRuntime(10938): at java.lang.reflect.Method.invoke(Method.java:511)
07-22 02:31:28.473: E/AndroidRuntime(10938): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
07-22 02:31:28.473: E/AndroidRuntime(10938): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
07-22 02:31:28.473: E/AndroidRuntime(10938): at dalvik.system.NativeStart.main(Native Method)
07-22 02:31:28.473: E/AndroidRuntime(10938): Caused by: java.lang.InstantiationException: can't instantiate class nyp.android.project.DashboardActivity
07-22 02:31:28.473: E/AndroidRuntime(10938): at java.lang.Class.newInstanceImpl(Native Method)
07-22 02:31:28.473: E/AndroidRuntime(10938): at java.lang.Class.newInstance(Class.java:1319)
07-22 02:31:28.473: E/AndroidRuntime(10938): at android.app.Instrumentation.newActivity(Instrumentation.java:1026)
07-22 02:31:28.473: E/AndroidRuntime(10938): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1882)
07-22 02:31:28.473: E/AndroidRuntime(10938): ... 11 more
Code:
JSONObject json = userFunction.registerUser(name, email, password, IMEI.getText().toString());
// check for login response
try {
if (json.getString(KEY_SUCCESS) != null) {
registerErrorMsg.setText("");
String res = json.getString(KEY_SUCCESS);
if(Integer.parseInt(res) == 1){
// user successfully registered
// Store user details in SQLite Database
DatabaseHandler db = new DatabaseHandler(getApplicationContext());
JSONObject json_user = json.getJSONObject("user");
AlertDialog alertDialog = new AlertDialog.Builder(RegisterActivity.this).create();
// Setting Dialog Title
alertDialog.setTitle("Registration");
// Setting Dialog Message
alertDialog.setMessage("Registration successful");
// Setting Icon to Dialog
alertDialog.setIcon(R.drawable.tick);
// Setting OK Button
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Write your code here to execute after dialog closed
//Toast.makeText(getApplicationContext(), "You clicked on OK", Toast.LENGTH_SHORT).show();
// Launch Dashboard Screen
Intent dashboard = new Intent(getApplicationContext(), DashboardActivity.class);
// Close all views before launching Dashboard
dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(dashboard);
// Close Registration Screen
finish();
}
});
// Showing Alert Message
alertDialog.show();
// Clear all previous data in database
userFunction.logoutUser(getApplicationContext());
db.addUser(json_user.getString(KEY_NAME), json_user.getString(KEY_EMAIL), json.getString(KEY_UID), json_user.getString(KEY_CREATED_AT), json_user.getString(KEY_IMEI));
}else{
// Error in registration
registerErrorMsg.setText("Error occured in registration");
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
I’ve never seen an intent created with getApplicationContext(). Did you try it using ClassName.this instead?
Usually it is: