diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a2ef4bc..8d6c6a8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,9 +2,6 @@ - - - - - + + + + + + android:label="@string/title_activity_main" /> + + + \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/Login/LoginScreenActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/Login/LoginScreenActivity.java index 8d3e5c9..6154b1d 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/Login/LoginScreenActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/Login/LoginScreenActivity.java @@ -13,6 +13,7 @@ import org.ntlab.acanthus_client.resources.accounts.AccountsRest; import org.ntlab.acanthus_client.views.MainActivity; import org.ntlab.acanthus_client.views.Paint.PaintActivity; +import org.ntlab.acanthus_client.views.SignUp.SignUpActivity; import java.util.ArrayList; @@ -29,7 +30,7 @@ //----------------------------------------------------------------- // 各Viewの列挙型 public enum EditTexts { - emailForm(0), passwordForm(1), loginButton(2); + emailForm(0), passwordForm(1), loginButton(2), redoSignUpButton(3); private int textId; @@ -46,7 +47,6 @@ } //----------------------------------------------------------------- - // private ArrayList views = new ArrayList<>(); //----------------------------------------------------------------- @@ -63,37 +63,22 @@ .build(); final AccountsRest accountsRest = retrofit.create(AccountsRest.class); - onClicked(accountsRest); + onClickLogin(accountsRest); + onClickSignUp(); } //----------------------------------------------------------------- - // - private void initView() { - views.add(findViewById(R.id.editTextTextLoginEmail)); - views.add(findViewById(R.id.editTextTextLoginPassword)); - views.add(findViewById(R.id.buttonLoginLogin)); - } - - //----------------------------------------------------------------- - // ログイン成功時の処理 - private void succeedLogin() { - Intent intent = new Intent(getApplication(), MainActivity.class); - startActivity(intent); - finish(); - } - - //----------------------------------------------------------------- // ログインボタン押下時の処理 - private void onClicked(AccountsRest accountsRest) { + private void onClickLogin(AccountsRest accountsRest) { Button loginButton = (Button) views.get(EditTexts.loginButton.getTextId()); loginButton.setOnClickListener(v -> { - String emailStr = views.get(EditTexts.emailForm.getTextId()).getText().toString(); + String emailAddress = views.get(EditTexts.emailForm.getTextId()).getText().toString(); String password = views.get(EditTexts.passwordForm.getTextId()).getText().toString(); // ログイン - Call call = accountsRest.issueLoginToken(emailStr, password); + Call call = accountsRest.issueLoginToken(emailAddress, password); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -108,5 +93,40 @@ }); }); } + //----------------------------------------------------------------- + // サインアップ画面に遷移 + private void onClickSignUp() { + Button signUpButton = (Button) views.get(EditTexts.redoSignUpButton.getTextId()); + + signUpButton.setOnClickListener(v -> { + transitionActivity(new SignUpActivity()); + }); + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // + private void initView() { + views.add(findViewById(R.id.editTextTextLoginEmail)); + views.add(findViewById(R.id.editTextTextLoginPassword)); + views.add(findViewById(R.id.buttonLoginLogin)); + views.add(findViewById(R.id.buttonRedoSignUp)); + } + + //----------------------------------------------------------------- + // ログイン成功時の処理 + private void succeedLogin() { + transitionActivity(new MainActivity()); + } + + //----------------------------------------------------------------- + // ログイン成功時の処理 + private void transitionActivity(AppCompatActivity appCompatActivity) { + Intent intent = new Intent(getApplication(), appCompatActivity.getClass()); + startActivity(intent); + finish(); + } + //----------------------------------------------------------------- + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/SignUp/SignUpActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/SignUp/SignUpActivity.java index ac43df1..02045ee 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/SignUp/SignUpActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/SignUp/SignUpActivity.java @@ -2,16 +2,23 @@ import androidx.appcompat.app.AppCompatActivity; +import android.content.Intent; import android.os.Bundle; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import org.ntlab.acanthus_client.R; +import org.ntlab.acanthus_client.entities.AccountUidJson; import org.ntlab.acanthus_client.resources.accounts.AccountsRest; +import org.ntlab.acanthus_client.views.Login.LoginScreenActivity; +import org.ntlab.acanthus_client.views.MainActivity; import java.util.ArrayList; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.jackson.JacksonConverterFactory; @@ -21,7 +28,7 @@ //----------------------------------------------------------------- // 各Viewの列挙型 public enum EditTexts { - nameForm(0),emailForm(1), passwordForm(2), loginButton(3); + nameForm(0), emailForm(1), passwordForm(2), signUpButton(3), loginButton(4); private int textId; @@ -36,6 +43,7 @@ return this.textId; } } + //----------------------------------------------------------------- private ArrayList views = new ArrayList<>(); @@ -48,23 +56,82 @@ initView(); Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") +// .baseUrl("http://localhost:8080/acanthus/") .addConverterFactory(JacksonConverterFactory.create()) .build(); final AccountsRest accountsRest = retrofit.create(AccountsRest.class); + onClickSignUp(accountsRest); + onClickAlreadyLoggedIn(); + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // サインアップ時押下時 + private void onClickSignUp(AccountsRest accountsRest) { + Button signUpButton = (Button) views.get(EditTexts.signUpButton.getTextId()); + + // + signUpButton.setOnClickListener(v -> { + String name = views.get(EditTexts.nameForm.getTextId()).getText().toString(); + ; + String emailAddress = views.get(EditTexts.emailForm.getTextId()).getText().toString(); + ; + String password = views.get(EditTexts.passwordForm.getTextId()).getText().toString(); + ; + + Call call = accountsRest.createAccount(name, emailAddress, password); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) transitionLoginActivity(); + else clearForm(); + } + + @Override + public void onFailure(Call call, Throwable t) { + } + }); + }); + } + + //----------------------------------------------------------------- + // アカウント所持ボタン押下処理 + private void onClickAlreadyLoggedIn() { + Button alreadyLoggedInButton = (Button) views.get(EditTexts.loginButton.getTextId()); + + // ログイン画面に遷移 + alreadyLoggedInButton.setOnClickListener(v -> { + transitionLoginActivity(); + }); + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // ログイン画面遷移 + private void transitionLoginActivity() { + Intent intent = new Intent(getApplication(), LoginScreenActivity.class); + startActivity(intent); + finish(); + } + + //----------------------------------------------------------------- + // 登録内容のクリア + private void clearForm() { + for (int i = EditTexts.nameForm.getTextId(); i <= EditTexts.passwordForm.getTextId(); i++) { + views.get(i).getEditableText().clear(); + } } + + //----------------------------------------------------------------- //----------------------------------------------------------------- // - private void initView(){ + private void initView() { views.add(findViewById(R.id.editTextTextSignUpPersonName)); - views.add(findViewById(R.id.editTextTextLoginEmail)); - views.add(findViewById(R.id.editTextTextLoginPassword)); + views.add(findViewById(R.id.editTextTextSignUpEmailAddress)); + views.add(findViewById(R.id.editTextTextSignUpPassword)); views.add(findViewById(R.id.buttonSignUpRegister)); + views.add(findViewById(R.id.buttonAlreadyLoggedIn)); } - //----------------------------------------------------------------- - // - - //----------------------------------------------------------------- - } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login_screen.xml b/app/src/main/res/layout/activity_login_screen.xml index a64ec23..19edf2b 100644 --- a/app/src/main/res/layout/activity_login_screen.xml +++ b/app/src/main/res/layout/activity_login_screen.xml @@ -20,12 +20,10 @@ android:id="@+id/buttonLoginLogin" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="280dp" + android:layout_marginStart="240dp" android:layout_marginTop="400dp" - android:layout_marginEnd="160dp" android:text="ログイン" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -69,4 +67,15 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.41000003" /> +