package com.example.nemophila;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import com.example.nemophila.entities.Account;
import com.example.nemophila.entities.AccountJson;
import com.example.nemophila.resources.AccountsRest;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;
@JsonIgnoreProperties(ignoreUnknown=true)
public class SignUpActivity extends AppCompatActivity{
private Retrofit retrofit;
private AccountsRest AccountsRest;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_up);
//通信の初期化
this.retrofit = new Retrofit.Builder()
.baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/nemophila/")
.addConverterFactory(JacksonConverterFactory.create())
.build();
this.AccountsRest = retrofit.create(AccountsRest.class);
findViewById(R.id.SignUpButton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText editname = (EditText) findViewById(R.id.editTextTextUserName);
String name = editname.getText().toString();
EditText editpw = (EditText) findViewById(R.id.editTextTextNewPassword);
String pw = editpw.getText().toString();
// 通信
Call<AccountJson> call = AccountsRest.createAccounts(name,pw);
call.enqueue(new Callback<AccountJson>() {
@Override
public void onResponse(Call<AccountJson> call, Response<AccountJson> response) {
if (response.isSuccessful()) {
System.out.println("通信成功:changeBelongsAndMaster");
Intent intent = new Intent(SignUpActivity.this,MainActivity.class);
startActivity(intent);
} else {
System.out.println("通信可能:changeBelongsAndMaster: " + response.code());
if (response.code() == 500){
((TextView) findViewById(R.id.textView)).setText("The UserName you gave is already in use.");
}else if (response.code() == 404){
((TextView) findViewById(R.id.textView)).setText("SignUp failed. Please enter the correct credentials.");
}
}
}
@Override
public void onFailure(Call<AccountJson> call, Throwable t) {
System.out.println("通信失敗:changeBelongsAndMaster");
System.out.println(t);
}
});
}
});
}
}