diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java index eb5af07..e8a3e82 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java @@ -2,6 +2,7 @@ import org.ntlab.acanthus_client.entities.Account; import org.ntlab.acanthus_client.entities.AccountJson; +import org.ntlab.acanthus_client.entities.AccountTokenJson; import org.ntlab.acanthus_client.entities.AccountUidJson; import java.util.Collection; @@ -11,6 +12,7 @@ import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; import retrofit2.http.POST; +import retrofit2.http.PUT; import retrofit2.http.Path; import retrofit2.http.Query; @@ -40,5 +42,21 @@ @Query("token")String token ); //----------------------------------------------------------------- + //----------------------------------------------------------------- + // トークン認証 + @GET("accounts/login") + Call hasLoginToken( + @Query("uid") String uidStr, + @Query("token") String token + ); + //----------------------------------------------------------------- + // トークンの発行 + @FormUrlEncoded + @PUT("accounts/login") + Call issueLoginToken( + @Field("email")String email, + @Field("password")String password + ); + //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java deleted file mode 100644 index a70eece..0000000 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.ntlab.acanthus_client.resources.accounts; - -import org.ntlab.acanthus_client.entities.AccountJson; -import org.ntlab.acanthus_client.entities.AccountTokenJson; - -import retrofit2.Call; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; -import retrofit2.http.GET; -import retrofit2.http.PUT; -import retrofit2.http.Query; - -//----------------------------------------------------------------- -// RestAPI: accounts/login -public interface LoginRest { - - //----------------------------------------------------------------- - // トークン認証 - @GET("accounts/login") - Call hasLoginToken( - @Query("uid") String uidStr, - @Query("token") String token - ); - - //----------------------------------------------------------------- - // トークンの発行 - @FormUrlEncoded - @PUT("accounts/login") - Call issueLoginToken( - @Field("email")String email, - @Field("password")String password - ); - //----------------------------------------------------------------- -} 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 a508142..bc0ef19 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 @@ -9,7 +9,7 @@ import org.ntlab.acanthus_client.R; import org.ntlab.acanthus_client.entities.AccountTokenJson; -import org.ntlab.acanthus_client.resources.accounts.LoginRest; +import org.ntlab.acanthus_client.resources.accounts.AccountsRest; import org.ntlab.acanthus_client.views.MainActivity; import retrofit2.Call; @@ -22,36 +22,50 @@ // ログイン画面 public class LoginScreenActivity extends AppCompatActivity { + EditText editEmailTextView; + EditText editPasswordTextView; + Button loginButton; + //----------------------------------------------------------------- // @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login_screen); + initView(); + Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") .addConverterFactory(JacksonConverterFactory.create()) .build(); - final LoginRest loginRest = retrofit.create(LoginRest.class); + final AccountsRest accountsRest = retrofit.create(AccountsRest.class); - setContentView(R.layout.activity_login_screen); - - onClicked(loginRest); + onClicked(accountsRest); } //----------------------------------------------------------------- - // ログインボタン押下時の処理 - private void onClicked(LoginRest loginRest) { - + // + private void initView(){ EditText editEmailTextView = findViewById(R.id.editTextTextLoginEmail); - EditText editPasswordTextView = findViewById(R.id.editTextTextSignUpPassword); + EditText editPasswordTextView = findViewById(R.id.editTextTextLoginPassword); Button loginButton = (Button) findViewById(R.id.buttonLoginLogin); - + } + //----------------------------------------------------------------- + // ログイン成功時の処理 + private void succeedLogin(){ + Intent intent = new Intent(getApplication(), MainActivity.class); + startActivity(intent); + finish(); + } + //----------------------------------------------------------------- + // ログインボタン押下時の処理 + private void onClicked(AccountsRest accountsRest) { loginButton.setOnClickListener(v -> { String emailStr = editEmailTextView.getText().toString(); String password = editPasswordTextView.getText().toString(); // ログイン - Call call = loginRest.issueLoginToken(emailStr, password); + Call call = accountsRest.issueLoginToken(emailStr, password); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -67,11 +81,4 @@ }); } //----------------------------------------------------------------- - // ログイン成功時の処理 - private void succeedLogin(){ - Intent intent = new Intent(getApplication(), MainActivity.class); - startActivity(intent); - finish(); - } - //----------------------------------------------------------------- } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/Main_menu_ui/home/HomeViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/Main_menu_ui/home/HomeViewModel.java index 2fe991c..5e40da0 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/Main_menu_ui/home/HomeViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/Main_menu_ui/home/HomeViewModel.java @@ -1,17 +1,13 @@ package org.ntlab.acanthus_client.views.Main_menu_ui.home; -import android.os.Bundle; import android.widget.EditText; -import org.ntlab.acanthus_client.R; -import org.ntlab.acanthus_client.entities.AccountTokenJson; import org.ntlab.acanthus_client.resources.accounts.HelloWorldRest; -import org.ntlab.acanthus_client.resources.accounts.LoginRest; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; -import okhttp3.ResponseBody; + import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; 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 8efb647..1954c13 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 @@ -5,6 +5,10 @@ import android.os.Bundle; import org.ntlab.acanthus_client.R; +import org.ntlab.acanthus_client.resources.accounts.AccountsRest; + +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; public class SignUpActivity extends AppCompatActivity { @@ -12,7 +16,11 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sign_up); - + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final AccountsRest accountsRest = retrofit.create(AccountsRest.class); } } \ No newline at end of file