1. Are you ready for the Galaxy S20? Here is everything we know so far!

App crashes

Discussion in 'Android Development' started by rhys payne, Jul 12, 2017.

  1. rhys payne

    rhys payne Lurker
    Thread Starter

    When i run an app i have developed in android studio ,it runs fine but crashes when i click a button. Can anyone help?

     


  2. Best Answer:
    Post #6 by Deleted User, Jul 12, 2017 (3 points)

    1. Download the Forums for Android™ app!


      Download

       
  3. Deleted User

    Deleted User Guest

    scary alien likes this.
  4. rhys payne

    rhys payne Lurker
    Thread Starter

    LogCat:

    Code (Text):
    1.  
    2. 07-12 17:10:21.749 30033-30033/com.example.jopayne1968.firebasetest E/AndroidRuntime: FATAL EXCEPTION: main
    3.                                                                                       Process: com.example.jopayne1968.firebasetest, PID: 30033
    4.                                                                                       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jopayne1968.firebasetest/com.example.jopayne1968.firebasetest.LogIn}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()' on a null object reference
    5.                                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3256)
    6.                                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3352)
    7.                                                                                           at android.app.ActivityThread.access$1100(ActivityThread.java:223)
    8.                                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1797)
    9.                                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
    10.                                                                                           at android.os.Looper.loop(Looper.java:158)
    11.                                                                                           at android.app.ActivityThread.main(ActivityThread.java:7231)
    12.                                                                                           at java.lang.reflect.Method.invoke(Native Method)
    13.                                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
    14.                                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
    15.                                                                                        Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()' on a null object reference
    16.                                                                                           at com.example.jopayne1968.firebasetest.LogIn.onCreate(LogIn.java:31)
    17.                                                                                           at android.app.Activity.performCreate(Activity.java:6877)
    18.                                                                                           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
    19.                                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3209)
    20.                                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3352)
    21.                                                                                           at android.app.ActivityThread.access$1100(ActivityThread.java:223)
    22.                                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1797)
    23.                                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
    24.                                                                                           at android.os.Looper.loop(Looper.java:158)
    25.                                                                                           at android.app.ActivityThread.main(ActivityThread.java:7231)
    26.                                                                                           at java.lang.reflect.Method.invoke(Native Method)
    27.  
    Code:

    Code (Text):
    1.  
    2. public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    3.     private Button buttonRegister;
    4.     private EditText editTextEmail;
    5.     private EditText editTextPassword;
    6.     private Button SignUp;
    7.     private ProgressDialog progressDialog;
    8.     private FirebaseAuth firebaseAuth;
    9.  
    10.     [USER=1021285]@override[/USER]
    11.     protected void onCreate(Bundle savedInstanceState) {
    12.         super.onCreate(savedInstanceState);
    13.         setContentView(R.layout.activity_main);
    14.         firebaseAuth = FirebaseAuth.getInstance();
    15.         progressDialog = new ProgressDialog(this);
    16.  
    17.  
    18.         editTextEmail = (EditText) findViewById(R.id.EditTextEmail);
    19.         editTextPassword = (EditText) findViewById(R.id.EditTextPassword);
    20.  
    21.         buttonRegister = (Button) findViewById(R.id.ButtonRegisterUser);
    22.         buttonRegister.setOnClickListener(this);
    23.         SignUp = (Button) findViewById(R.id.TextViewSignIn);
    24.         SignUp.setOnClickListener(this);
    25.  
    26.         SignUp.setOnClickListener(new View.OnClickListener() {
    27.  
    28.             [USER=1021285]@override[/USER]
    29.             public void onClick(View v) {
    30.                 startActivity(new Intent(getApplicationContext(), LogIn.class));
    31.             }
    32.  
    33.         });
    34.     }
    35.  
    36.  
    37.     private void registerUser() {
    38.         String Email = editTextEmail.getText().toString().trim();
    39.         String password = editTextPassword.getText().toString().trim();
    40.  
    41.         if (TextUtils.isEmpty(Email)) {
    42.             Toast.makeText(this, "Please enter an emai", Toast.LENGTH_SHORT).show();
    43.             return;
    44.         }
    45.  
    46.         if (TextUtils.isEmpty(password)) {
    47.             Toast.makeText(this, "Please enter an password", Toast.LENGTH_SHORT).show();
    48.             return;
    49.         }
    50.  
    51.         progressDialog.setMessage("Registering User ...");
    52.         progressDialog.show();
    53.         firebaseAuth.createUserWithEmailAndPassword(Email, password)
    54.                 .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
    55.                     [USER=1021285]@override[/USER]
    56.                     public void onComplete(@NonNull Task<AuthResult> task) {
    57.                         if (task.isSuccessful()) {
    58.                             finish();
    59.                             if (firebaseAuth.getCurrentUser() != null) {
    60.                                 Toast.makeText(MainActivity.this, "Registered", Toast.LENGTH_SHORT).show();
    61.                                 startActivity(new Intent(getApplicationContext(), ProfileActivity.class));
    62.                             }
    63.                         } else {
    64.                             Toast.makeText(MainActivity.this, "Failed to register", Toast.LENGTH_SHORT).show();
    65.                             progressDialog.hide();
    66.                         }
    67.                     }
    68.                 });
    69.     }
    70.  
    71.     [USER=1021285]@override[/USER]
    72.     public void onClick(View view) {
    73.  
    74.         if (view == buttonRegister) {
    75.             registerUser();
    76.         }
    77.  
    78.         if (view == SignUp) {
    79.  
    80.             startActivity(new Intent(this, LogIn.class));
    81.         }
    82.     }
    83. }
    84.  
     
  5. Deleted User

    Deleted User Guest

    The error relates to class LogIn, which you have not shown.
    From the stack trace:

    Code (Text):
    1.  
    2. Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()' on a null object reference
    3. at com.example.jopayne1968.firebasetest.LogIn.onCreate(LogIn.java:31)
    4.  
     
    scary alien likes this.
  6. rhys payne

    rhys payne Lurker
    Thread Starter

    Code (Text):
    1.  
    2. public class LogIn extends AppCompatActivity implements View.OnClickListener  {
    3.     private Button ButtonSignUp;
    4.     private EditText editTextEmail;
    5.     private EditText editTextPassword;
    6.     private TextView TextViewSignUp2;
    7.     private ProgressDialog progressDialog;
    8.     private FirebaseAuth firebaseAuth;
    9.     [USER=1021285]@override[/USER]
    10.     protected void onCreate(Bundle savedInstanceState) {
    11.         super.onCreate(savedInstanceState);
    12.         setContentView(R.layout.activity_log_in);
    13. if (firebaseAuth.getCurrentUser()!=null){
    14.     //profile activity
    15.     startActivity(new Intent(getApplicationContext(), ProfileActivity.class));
    16. }
    17.         ButtonSignUp = (Button)findViewById(R.id.ButtonRegisterUser);
    18.         editTextEmail = (EditText)findViewById(R.id.EditTextEmail);
    19.         editTextPassword = (EditText) findViewById(R.id.EditTextPassword);
    20.  
    21.         firebaseAuth  = FirebaseAuth.getInstance();
    22.         progressDialog = new ProgressDialog(this);
    23.  
    24.         ButtonSignUp.setOnClickListener(this);
    25.         TextViewSignUp2.setOnClickListener(this);
    26.  
    27.     }
    28.     private void userLogIn() {
    29.         String Email = editTextEmail.getText().toString().trim();
    30.         String password = editTextPassword.getText().toString().trim();
    31.  
    32.         if (TextUtils.isEmpty(Email)) {
    33.             Toast.makeText(this, "Please enter an emai", Toast.LENGTH_SHORT).show();
    34.             return;
    35.         }
    36.  
    37.         if (TextUtils.isEmpty(password)) {
    38.             Toast.makeText(this, "Please enter an password", Toast.LENGTH_SHORT).show();
    39.             return;
    40.         }
    41.         progressDialog.setMessage("Logging In");
    42.         progressDialog.show();
    43.  
    44.         firebaseAuth.signInWithEmailAndPassword(Email , password)
    45.         .addOnCompleteListener(this , new OnCompleteListener<AuthResult>() {
    46.             [USER=1021285]@override[/USER]
    47.             public void onComplete(@NonNull Task<AuthResult> task) {
    48. if (task.isSuccessful()){
    49.     finish();
    50.     startActivity(new Intent(getApplicationContext(), ProfileActivity.class));
    51. }
    52.             }
    53.         });
    54.     }
    55.     [USER=1021285]@override[/USER]
    56.     public void onClick(View v) {
    57.         if (v ==ButtonSignUp) {
    58.             userLogIn();
    59.             progressDialog.hide();
    60.         }
    61.         if (v ==TextViewSignUp2){
    62.             finish();
    63.             progressDialog.hide();
    64.             startActivity(new Intent(this , MainActivity.class));
    65.         }
    66.     }
    67. }
    68.  
     
  7. Deleted User

    Deleted User Guest

    Code (Text):
    1.  
    2. protected void onCreate(Bundle savedInstanceState) {
    3.         super.onCreate(savedInstanceState);
    4.         setContentView(R.layout.activity_log_in);
    5. if (firebaseAuth.getCurrentUser()!=null){      <--------------------
    6.  
    At this point, variable firebaseAuth is null. Trying to invoke a method on a null object generates a NullPointerException

    You should probably move this line

    Code (Text):
    1.  
    2. firebaseAuth  = FirebaseAuth.getInstance();
    3.  
    So it gets executed before the 'if' statement in the above code.
     
    scary alien likes this.
  8. seyha mom

    seyha mom Lurker

    i suggest it check your development environment whether it has any conflicts issue.
     
Loading...

Share This Page

Loading...