2017-12-02 9 views
0

私はJavaコーディングとAndroid Studioを初めて使用しています。ユーザーがサインアップアクティビティページに登録すると、ログインページのログインボタンを押してから、プロフィールアクティビティページに移動することができます。しかし、ユーザー名とパスワードを入力してログインページのログインボタンを押すと、アプリケーションがクラッシュします。ここに一連のコードがあり、この最初のセットは "LoginPageActivity.java"アクティビティのログインページコードです。ここでログインページでプロフィールのアクティビティが開けません

package com.example.xxxx.safetyxxxxxxx; 

import android.content.Intent; 
import android.support.annotation.NonNull; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Patterns; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.ProgressBar; 
import android.widget.Toast; 


import com.google.android.gms.tasks.OnCompleteListener; 
import com.google.android.gms.tasks.Task; 
import com.google.firebase.auth.AuthResult; 
import com.google.firebase.auth.FirebaseAuth; 



public class LoginPageActivity extends AppCompatActivity implements View.OnClickListener{ 

    FirebaseAuth mAuth; 
    EditText editTextEmail, editTextPassword; 
    ProgressBar progressBar; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login_page); 

     mAuth = FirebaseAuth.getInstance(); 

     editTextEmail = findViewById(R.id.editTextEmail); 
     editTextPassword= (EditText) findViewById(R.id.editTextPassword); 
     progressBar = (ProgressBar) findViewById(R.id.progressbar); 

    findViewById(R.id.textViewSignUp).setOnClickListener(this); 
    findViewById(R.id.buttonLogin).setOnClickListener(this); 

} 

private void userLogin(){ 

    String email = editTextEmail.getText().toString().trim(); 
    String password = editTextPassword.getText().toString().trim(); 

    if(email.isEmpty()){ 
     editTextEmail.setError("Email is required"); 
     editTextEmail.requestFocus(); 
     return; 
    } 

    if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()){ 
     editTextEmail.setError("Please enter a valid email"); 
     editTextEmail.requestFocus(); 
     return; 
    } 

    if(password.isEmpty()){ 
     editTextPassword.setError("Password is required"); 
     editTextPassword.requestFocus(); 
     return; 
    } 

    if(password.length()<6){ 
     editTextPassword.setError("Minimum length of password should be 6"); 
     editTextPassword.requestFocus(); 
     return; 
    } 

    progressBar.setVisibility(View.VISIBLE); 
     mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
      @Override 
      public void onComplete(@NonNull Task<AuthResult> task) { 
       progressBar.setVisibility(View.GONE); 
       if (task.isSuccessful()) { 
        Intent intent = new Intent(LoginPageActivity.this, ProfileActivity.class); 
        startActivity(intent); 
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        finish(); 
       } else { 
        Toast.makeText(getApplicationContext(), task.getException().getMessage(), Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }); 

} 

    @Override 
    public void onClick(View view) { 
      switch (view.getId()) { 
       case R.id.textViewSignUp: 

        startActivity(new Intent(this, SignUpActivity.class)); 

        break; 

       case R.id.buttonLogin: 
        userLogin(); 
        break; 
      } 
     } 
    } 

は、ここで "ProfileActivity.java"

package com.example.xxxx.safetyxxxxxxx; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class ProfileActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_profile); 
    } 
} 

というプロファイルの活動は、Androidマニフェストのコードです。私は、このマニフェストでProfileActivityクラスを宣言するためのさまざまなバリエーションを、同じlogcatエラーを伴う過去の研究や以前の問題に基づいて試してみました。 04:56.008 2644年から2644年/ com.example.xxxx.safetyxxxxxxx E/AndroidRuntime:致命的な例外:メイン

Process: com.example.xxxx.safetyxxxxxxx, PID: 2644 
                     android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.xxxx.safetyxxxxxxx/com.example.xxxx.safetyxxxxxxx.ProfileActivity}; have you declared this activity in your AndroidManifest.xml? 
                      at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1933) 
                      at android.app.Instrumentation.execStartActivity(Instrumentation.java:1616) 
                      at android.app.Activity.startActivityForResult(Activity.java:4488) 
                      at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54) 
                      at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:67) 
                      at android.app.Activity.startActivityForResult(Activity.java:4446) 
                      at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:720) 
                      at android.app.Activity.startActivity(Activity.java:4807) 
                      at android.app.Activity.startActivity(Activity.java:4775) 
                      at com.example.xxxx.safetyxxxxxxx.LoginPageActivity$1.onComplete(LoginPageActivity.java:79) 
                      at com.google.android.gms.tasks.zzf.run(Unknown Source:23) 
                      at android.os.Handler.handleCallback(Handler.java:790) 
                      at android.os.Handler.dispatchMessage(Handler.java:99) 
                      at android.os.Looper.loop(Looper.java:164) 
                      at android.app.ActivityThread.main(ActivityThread.java:6494) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 

ここ

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.xxxx.safetyxxxxxxx"> 

    <application 
     android:name=".Database" 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".LoginPageActivity" 
      android:label="@string/app_name"/> 
     <activity android:name=".Main2Activity" /> 
     <activity 
      android:name=".SignUpActivity" 
      android:label="@string/app_name"> 

    </activity> 
     <activity android:name=".ProfileActivity" 
     android:label="@string/app_name"/> 
    </application> 

</manifest> 

はlogcatエラー

12月2日12であります最後に必要な場合は、「activity_login_page.xml」というログインページのレイアウトコードがあります。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".LoginPageActivity"> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="0dp" 
     android:layout_height="53dp" 
     android:layout_marginBottom="8dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:layout_marginTop="8dp" 
     android:text="Hi, Welcome to Safety xxxxxxx Please Login or Signup" 
     android:textAlignment="center" 
     android:textColor="@android:color/holo_green_dark" 
     android:textSize="20sp" 
     app:layout_constraintBottom_toTopOf="@+id/buttonLogin" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintHorizontal_bias="0.0" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintVertical_bias="0.66"></TextView> 


    <Button 
     android:id="@+id/buttonLogin" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="8dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:layout_marginTop="8dp" 
     android:text="Login" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintVertical_bias="0.87" /> 

    <EditText 
     android:id="@+id/editTextEmail" 
     android:layout_width="346dp" 
     android:layout_height="50dp" 
     android:layout_marginBottom="8dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:layout_marginTop="8dp" 
     android:ems="10" 
     android:hint="email" 
     android:inputType="textEmailAddress" 
     app:layout_constraintBottom_toTopOf="@+id/editTextPassword" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toTopOf="@+id/textView2" 
     app:layout_constraintVertical_bias="0.95" /> 

    <EditText 
     android:id="@+id/editTextPassword" 
     android:layout_width="346dp" 
     android:layout_height="50dp" 
     android:layout_marginBottom="8dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:layout_marginTop="8dp" 
     android:ems="10" 
     android:inputType="textPassword" 
     android:hint=" Password" 
     app:layout_constraintBottom_toTopOf="@+id/buttonLogin" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toBottomOf="@+id/textView2" 
     app:layout_constraintVertical_bias="0.87" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="219dp" 
     android:layout_height="229dp" 
     android:layout_marginBottom="8dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:layout_marginTop="8dp" 
     app:layout_constraintBottom_toTopOf="@+id/editTextEmail" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintHorizontal_bias="0.503" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintVertical_bias="0.233" 
     app:srcCompat="@drawable/safetyxxx" /> 

    <TextView 
     android:id="@+id/textViewSignUp" 
     android:layout_width="345dp" 
     android:layout_height="35dp" 
     android:layout_marginBottom="8dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:layout_marginTop="8dp" 
     android:text="Do Not Have An Account? Click Here" 
     android:textAlignment="center" 
     android:textColor="@android:color/holo_green_dark" 
     android:textSize="20sp" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toBottomOf="@+id/buttonLogin" /> 

    <android.support.v4.widget.ContentLoadingProgressBar 
     android:id="@+id/progressbar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:visibility="gone"/> 


</android.support.constraint.ConstraintLayout> 
+0

'android.content.ActivityNotFoundException:明示的なアクティビティクラス{com.example.xxxx.safetyxxxxxxx/com.example.xxxx.safetyxxxxxxx.ProfileActivity}を見つけることができません。あなたのAndroidManifest.xmlでこのアクティビティを宣言しましたか? –

+0

問題をここに置く前に調べてください。スタックオーバーフローに関するこの問題の解決策を見つけるために利用可能な多くのリソース。 – Mahesh

答えて

0

私がする必要があった多くの試行の後に、プロジェクトの再構築ボタンを押してください。それはその後完全に働いた。

ありがとうございました。

0

致命的なメッセージで述べられています:android.content.ActivityNotFoundException:明示的なアクティビティクラス{com.example.xxxx.safetyxxxxxxx/com.example.xxxx.safetyxxxxxxx.ProfileActivity}を見つけることができません。あなたのAndroidManifest.xmlでこのアクティビティを宣言しましたか?

マニフェストファイルに混乱があります:アクティビティの定義からパッケージ名を削除してください。たとえば、 "activity android:name =" com.example.xxxx.safetyxxxxxxx.LoginPageActivity "のようなスティールを"activity android:name ="。LoginPageActivity "

よろしくお願いします!

+0

助けてくれてありがとうが、私はそれを試みたが、うまくいかなかった。 <アクティビティアンドロイド:名= "LoginPageActivity" アンドロイド:ラベル= "@文字列/ APP_NAME" /> <活動のアンドロイド:名= "Main2Activity。" /> <活動 アンドロイド:名=」。SignUpActivity " アンドロイド:ラベル= "@文字列/ APP_NAME"> <活動のアンドロイド:名=" ProfileActivity」 アンドロイド:ラベル= "@文字列/ APP_NAME" /> wolfgang

+0

それはまだクラッシュしますあなたは新しいlogcatを投稿してもらえますか? – Cadet

+0

まだクラッシュしています。更新されたlogcatを投稿しました。私は何も変わっていないと思っています。 – wolfgang

0

あなたはこれを撮影するかもしれません。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.xxxx.safetyxxxxxxx"> 

    <application 
     android:name=".Database" 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".LoginPageActivity" 
      android:label="@string/app_name"> 
      </activity> 
     <activity android:name=".Main2Activity"> 
     </activity> 
     <activity 
      android:name=".SignUpActivity" 
      android:label="@string/app_name"> 
    </activity> 
     <activity android:name=".ProfileActivity" 
     android:label="@string/app_name"> 
     </activity> 
</application> 

</manifest> 

これは役に立たないかもしれませんが、私は個人的に自分自身でそれを打つだろう。

関連する問題