Newer
Older
LessonClient / app / src / main / java / com / example / lessonClient / views / SignUpActivity.java
package com.example.lessonClient.views;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.lessonClient.R;
import com.example.lessonClient.rest.AccountsRest;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;

public class SignUpActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    EdgeToEdge.enable(this);
    setContentView(R.layout.activity_sign_up);
    ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
      Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
      v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
      return insets;
    });

    //通信の初期化
    Retrofit retrofit = new Retrofit.Builder()
        .baseUrl("http://10.0.2.2:8080/")
        .addConverterFactory(JacksonConverterFactory.create())
        .build();
    AccountsRest accountsRest = retrofit.create(AccountsRest.class);

    //ボタンを押してlogin画面に遷移
    Button button_register = (Button) findViewById(R.id.Registerbutton);
    button_register.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View view) {
        EditText editid = (EditText) findViewById(R.id.Username);
        String account_id = editid.getText().toString().trim();
        EditText editpw = (EditText) findViewById(R.id.Password);
        String password = editpw.getText().toString().trim();
        Call<Void> call = accountsRest.signup(account_id, password);
        call.enqueue(new Callback<Void>() {
          @Override
          public void onResponse(Call<Void> call, Response<Void> response) {
            if (response.isSuccessful()) {
              Intent intent = new Intent(SignUpActivity.this, SettingsActivity.class);
              intent.putExtra("account_id", account_id);
              startActivity(intent);
            }
          }

          @Override
          public void onFailure(Call<Void> call, Throwable t) {
            System.out.println("!!!");
          }
        });
      }
    });
  }
}