diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/CactusCleanArchitecture.txt b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/CactusCleanArchitecture.txt new file mode 100644 index 0000000..0a803f6 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/CactusCleanArchitecture.txt @@ -0,0 +1,39 @@ +CactusのCleanArchitecture + +---------------------------------------------------------- +ログイン処理 +Login画面のCleanArchitectureに対応させた。 +関係するクラス + +- Controller +・InputUserPresenter +Viewからの入力操作を実装 +・UserLoginController +Webサーバへの通信処理を実装 + +- Entity +・CactusUserEntity +Cactus全体のデータを保持する + +- +(以下通信のやつ。ここまでしなくてよかった気がする) +・CactusAPIEntity +全体で変わらない土台URL +・CactusConnection +HttpAsyncConnectionを継承してCactus上で使用するクラス +・CactusConnectionEntity +Cactusの通信各リソースの保存 + + +- UseCase +・UserLoginBoundary +ViewからインプットしたデータをUseCaseにもって行くときに使うInterface +・UserLoginControllerBoundary +UserCaseからController(通信処理するクラス)にデータを持っていきたいときに使うInterface +・UseLoginUseCase +ログイン関係のデータの流れを処理するクラス + +- View +・LoginFragment +ログイン実装のメインクラス +---------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/InputUserPresenter.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/InputUserPresenter.java new file mode 100644 index 0000000..f851684 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/InputUserPresenter.java @@ -0,0 +1,46 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Controller; + +import android.support.v4.app.FragmentActivity; +import android.widget.EditText; +import android.widget.Toast; + +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginBoundary; + +/** + * 入力したデータをString型に変換し、入力判定を行うクラス + * + * @author n-konishi + */ + +public class InputUserPresenter implements UserLoginBoundary { + private String userID; + private String userPass; + FragmentActivity fragmentActivity; + + + public InputUserPresenter(FragmentActivity fragmentActivity, EditText userName, EditText passWord) { + this.userID = userName.getText().toString(); + this.userPass = passWord.getText().toString(); + this.fragmentActivity = fragmentActivity; + } + + public void inputData() { + if (userID.isEmpty()) { + Toast.makeText(fragmentActivity, "ユーザー名が未記入です", Toast.LENGTH_SHORT).show(); + return; + } else if (userPass.isEmpty()) { + Toast.makeText(fragmentActivity, "パスワードが未記入です", Toast.LENGTH_SHORT).show(); + return; + } + } + + @Override + public String getUserId() { + return userID; + } + + @Override + public String getUserPass() { + return userPass; + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/UserLoginController.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/UserLoginController.java new file mode 100644 index 0000000..3136c72 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Controller/UserLoginController.java @@ -0,0 +1,103 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Controller; + +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentTransaction; +import android.widget.Toast; + +import net.arnx.jsonic.JSON; +import net.arnx.jsonic.TypeReference; + +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities.CactusConnection; +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginBoundary; +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginControllerBoundary; +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginUseCases; +import org.ntlab.radishforandroidstudio.R; +import org.ntlab.radishforandroidstudio.cactusClient.Cactus; +import org.ntlab.radishforandroidstudio.cactusClient.models.account.Account; +import org.ntlab.radishforandroidstudio.cactusClient.models.account.URIAddressedAccount; +import org.ntlab.radishforandroidstudio.cactusClient.views.InstancesFragment; +import org.ntlab.radishforandroidstudio.framework.network.CallBack; + +/** + * Webサーバと通信を行いデータのやりとりをするクラス + * + * @author n-konishi + */ + +public class UserLoginController { + + private String userID; + private String userPass; + private FragmentManager manager; + + private CactusConnection loginConnection; + private FragmentActivity fragmentActivity; + UserLoginControllerBoundary userLoginControllerBoundary; + + + public UserLoginController(FragmentActivity fragmentActivity, FragmentManager fragmentManager, UserLoginControllerBoundary userLoginControllerBound) { + this.fragmentActivity = fragmentActivity; + this.manager = fragmentManager; + + this. userLoginControllerBoundary = userLoginControllerBound; + + this.userID = userLoginControllerBoundary.getUserID(); + this.userPass = userLoginControllerBoundary.getUserPass(); + + UserLoginBoundary userLoginBoundary = null; + + UserLoginUseCases loginUseCases = new UserLoginUseCases(userLoginBoundary); + String login_URL = loginUseCases.userLoginURL(); + loginConnection = new CactusConnection(login_URL); + + } + + public void addFormParam() { + loginConnection.addFormParam("userID", userID); + loginConnection.addFormParam("userPass", userPass); + loginConnection.doPut(); + } + + private void decodeJson(String response) { + URIAddressedAccount lac = JSON.decode(response, new TypeReference() { + }); + System.out.println(response); + Account user = lac.getAccount(); + if (user.isLogin()) { + System.out.println("成功"); + Toast.makeText(fragmentActivity,"ログインに成功しました。", Toast.LENGTH_SHORT).show(); + Cactus userCactus = (Cactus) fragmentActivity.getApplication(); + userCactus.setMyAccount(user); + userCactus.setAddressedAccount(lac); + + //画面遷移 + FragmentTransaction transaction = manager.beginTransaction(); + transaction.replace(R.id.fragment_place, new InstancesFragment()); + transaction.commit(); + } else { + Toast.makeText(fragmentActivity,"ログインに失敗しました。", Toast.LENGTH_SHORT).show(); + + } + } + + + public void loginResponse() { + + loginConnection.setCallBack(new CallBack() { + @Override + public void onResponse(String response) { + decodeJson(response); + } + }); + } +} + + + + + + + + + diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusAPIEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusAPIEntity.java new file mode 100644 index 0000000..bc0e3a9 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusAPIEntity.java @@ -0,0 +1,12 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities; + +/** + * WebからRestAPIを取得するためのクラス + * + * @author n-konisi + */ + +public interface CactusAPIEntity { + + String API_BASE_URI ="http://nitta-lab-www.is.konan-u.ac.jp/CactusServer/rest/"; +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnection.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnection.java new file mode 100644 index 0000000..9ca961a --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnection.java @@ -0,0 +1,18 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities; + +import org.ntlab.radishforandroidstudio.framework.network.HttpAsyncConnection; + +/** + * Cactus上で使用する基本HttpAsyncConnectionのクラス + * + * @author n-konishi + */ + +public class CactusConnection extends HttpAsyncConnection { + public CactusConnection(String url) { + super(url); + } + + +} + diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnectionEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnectionEntity.java new file mode 100644 index 0000000..045b34d --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusConnectionEntity.java @@ -0,0 +1,17 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities; + +/** + * CactusのAPIのURLを保持するクラス + * + * @author n-konishi + */ + +public class CactusConnectionEntity implements CactusAPIEntity { + + private String LOGIN_URL = API_BASE_URI +"accounts"; + + public String getLOGIN_URL() { + return LOGIN_URL; + } + +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusUserEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusUserEntity.java new file mode 100644 index 0000000..d71b15b --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/Entities/CactusUserEntity.java @@ -0,0 +1,31 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities; + +/** + * Userのデータ(account情報)を保持するEntityクラス + * + * @author n-konishi + */ +public class CactusUserEntity { + private String userId; + private String userPass; + + public CactusUserEntity() { + + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUserPass() { + return userPass; + } + + public void setUserPass(String userPass) { + this.userPass = userPass; + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginBoundary.java new file mode 100644 index 0000000..936ef59 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginBoundary.java @@ -0,0 +1,16 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases; + +/** + * 入力情報を{@InputUserPresenter}から{@UserLoginUserCase}に + * 情報を渡すためのInterfaceクラス + * + * @author n-konishi + */ + +public interface UserLoginBoundary { + + String getUserId(); + + String getUserPass(); + +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginControllerBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginControllerBoundary.java new file mode 100644 index 0000000..ed6580e --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginControllerBoundary.java @@ -0,0 +1,14 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases; + +/** + * {@UserLoginUseCase}から{@UserLoginController}に + * 情報を渡すためのInterfaceクラス + * + * @author n-konishi + */ + +public interface UserLoginControllerBoundary { + String getUserID(); + + String getUserPass(); +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginUseCases.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginUseCases.java new file mode 100644 index 0000000..01927a2 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/UseCases/UserLoginUseCases.java @@ -0,0 +1,48 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases; + +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities.CactusConnectionEntity; +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Entities.CactusUserEntity; + +/** + * Userのログイン情報のデータの流れを調整するクラス + */ + +public class UserLoginUseCases implements UserLoginControllerBoundary { + + private String LOGIN_URL; + private CactusConnectionEntity cactusConnectionEntity; + private UserLoginBoundary userLoginBoundary; + + private String userID; + private String userPass; + CactusUserEntity cactusUserEntity; + + public UserLoginUseCases(UserLoginBoundary userLoginBound) { + this.userLoginBoundary = userLoginBound; + //Entityに情報をセットする + cactusUserEntity = new CactusUserEntity(); + } + + public String userLoginURL() { + cactusConnectionEntity = new CactusConnectionEntity(); + LOGIN_URL = cactusConnectionEntity.getLOGIN_URL(); + return LOGIN_URL; + } + + + @Override + public String getUserID() { + userID = userLoginBoundary.getUserId(); + cactusUserEntity.setUserId(userID); + return userID; + } + + @Override + public String getUserPass() { + userPass = userLoginBoundary.getUserPass(); + cactusUserEntity.setUserPass(userPass); + return userPass; + } + + +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/View/LoginFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/View/LoginFragment.java new file mode 100644 index 0000000..01a5ab5 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/CactusLoginCleanArchitecture/View/LoginFragment.java @@ -0,0 +1,65 @@ +package org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.View; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentTransaction; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; + +import org.ntlab.radishforandroidstudio.R; +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.UseCases.UserLoginUseCases; +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Controller.InputUserPresenter; +import org.ntlab.radishforandroidstudio.CactusLoginCleanArchitecture.Controller.UserLoginController; +import org.ntlab.radishforandroidstudio.cactusClient.views.SignUpFragment; + + +public class LoginFragment extends Fragment { + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.login_fragment, container, false); + } + + @Override + public void onStart() { + super.onStart(); + + Button button = (Button) getActivity().findViewById(R.id.signUP1); + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + FragmentManager manager = getFragmentManager(); + FragmentTransaction transaction = manager.beginTransaction(); + transaction.addToBackStack(null); + transaction.replace(R.id.fragment_place, new SignUpFragment()); + transaction.commit(); + } + }); + Button loginButton = (Button) getActivity().findViewById(R.id.login); + loginButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + EditText userName = (EditText) getActivity().findViewById(R.id.inputUserName); + EditText passWord = (EditText) getActivity().findViewById(R.id.checkPassword); + FragmentActivity fragmentActivity = getActivity(); + FragmentManager manager = getFragmentManager(); + + //動作 + InputUserPresenter inputUserPresenter = new InputUserPresenter(fragmentActivity, userName, passWord); + UserLoginUseCases userLoginUseCases = new UserLoginUseCases(inputUserPresenter); + inputUserPresenter.inputData(); + + //通信 + UserLoginController userLoginController = new UserLoginController(fragmentActivity, manager, userLoginUseCases); + userLoginController.addFormParam(); + userLoginController.loginResponse(); + + } + }); + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusConnection.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusConnection.java deleted file mode 100644 index 8208995..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusConnection.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.Entities; - -import org.ntlab.radishforandroidstudio.framework.network.HttpAsyncConnection; - -public class CactusConnection extends HttpAsyncConnection { - - - public CactusConnection(String url) { - super(url); - } - - -} - diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusConnectionEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusConnectionEntity.java deleted file mode 100644 index 3df5664..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusConnectionEntity.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.Entities; - -public class CactusConnectionEntity implements CactusAPIEntity { - - private String LOGIN_URL = API_BASE_URI +"accounts"; - - public String getLOGIN_URL() { - return LOGIN_URL; - } - -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginUseCases.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginUseCases.java deleted file mode 100644 index 6565174..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/UseCases/UserLoginUseCases.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.UseCases; - -import org.ntlab.radishforandroidstudio.cactusClient.Entities.CactusConnectionEntity; -import org.ntlab.radishforandroidstudio.cactusClient.models.CactusUserModel; - -public class UserLoginUseCases implements UserLoginControllerBoundary { - - private String LOGIN_URL; - private CactusConnectionEntity cactusConnectionEntity; - private UserLoginBoundary userLoginBoundary; - - private String userID; - private String userPass; - CactusUserModel cactusUserModel; - - public UserLoginUseCases(UserLoginBoundary userLoginBound) { - this.userLoginBoundary = userLoginBound; - - //Entityに情報をセットする - cactusUserModel = new CactusUserModel(); - - } - - - public String userLoginURL() { - cactusConnectionEntity = new CactusConnectionEntity(); - LOGIN_URL = cactusConnectionEntity.getLOGIN_URL(); - return LOGIN_URL; - } - - - @Override - public String getUserID() { - userID = userLoginBoundary.getUserId(); - cactusUserModel.setUserId(userID); - return userID; - } - - @Override - public String getUserPass() { - userPass = userLoginBoundary.getUserPass(); - cactusUserModel.setUserPass(userPass); - return userPass; - } - - -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/InputUserPresenter.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/InputUserPresenter.java deleted file mode 100644 index a4428b5..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/InputUserPresenter.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.controller; - -import android.support.v4.app.FragmentActivity; -import android.support.v4.app.FragmentManager; -import android.widget.EditText; -import android.widget.Toast; - -import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginBoundary; - -public class InputUserPresenter implements UserLoginBoundary { - private String userID; - private String userPass; - private FragmentManager manager; - FragmentActivity fragmentActivity; - - - public InputUserPresenter(FragmentActivity fragmentActivity, EditText userName, EditText passWord, FragmentManager fragmentManager) { - this.userID = userName.getText().toString(); - this.userPass = passWord.getText().toString(); - this.fragmentActivity = fragmentActivity; - this.manager = fragmentManager; - } - - public void inputData() { - if (userID.isEmpty()) { - Toast.makeText(fragmentActivity, "ユーザー名が未記入です", Toast.LENGTH_SHORT).show(); - return; - } else if (userPass.isEmpty()) { - Toast.makeText(fragmentActivity, "パスワードが未記入です", Toast.LENGTH_SHORT).show(); - return; - } - - - } - - - @Override - public String getUserId() { - return userID; - } - - @Override - public String getUserPass() { - return userPass; - } -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/UserLoginController.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/UserLoginController.java deleted file mode 100644 index 19c76a0..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/UserLoginController.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.controller; - -import android.support.v4.app.FragmentActivity; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.widget.Toast; - -import net.arnx.jsonic.JSON; -import net.arnx.jsonic.TypeReference; - -import org.ntlab.radishforandroidstudio.R; -import org.ntlab.radishforandroidstudio.cactusClient.Cactus; -import org.ntlab.radishforandroidstudio.cactusClient.Entities.CactusConnection; -import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginControllerBoundary; -import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginUseCases; -import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginBoundary; -import org.ntlab.radishforandroidstudio.cactusClient.models.account.Account; -import org.ntlab.radishforandroidstudio.cactusClient.models.account.URIAddressedAccount; -import org.ntlab.radishforandroidstudio.cactusClient.views.InstancesFragment; -import org.ntlab.radishforandroidstudio.framework.network.CallBack; - -public class UserLoginController { - - private Cactus userCactus; - private String userID; - private String userPass; - private String Login_URL; - private FragmentManager manager; - - UserLoginUseCases loginUseCases; - CactusConnection loginConnection; - FragmentActivity fragmentActivity; - UserLoginControllerBoundary userLoginControllerBoundary; - UserLoginBoundary userLoginBoundary; - - - public UserLoginController(FragmentActivity fragmentActivity, FragmentManager fragmentManager,UserLoginControllerBoundary userLoginControllerBound) { - this.fragmentActivity = fragmentActivity; - this.manager = fragmentManager; - - this.userLoginControllerBoundary = userLoginControllerBound; - - this.userID = userLoginControllerBoundary.getUserID(); - this.userPass = userLoginControllerBoundary.getUserPass(); - - UserLoginBoundary userLoginBoundary = null;//とりあえずエラー処理 - - loginUseCases = new UserLoginUseCases(userLoginBoundary); - Login_URL = loginUseCases.userLoginURL(); - loginConnection = new CactusConnection(Login_URL); - - } - - public void addFormParam() { - loginConnection.addFormParam("userID", userID); - loginConnection.addFormParam("userPass", userPass); - loginConnection.doPut(); - } - - private void changeJson(String response) { - URIAddressedAccount lac = JSON.decode(response, new TypeReference() { - }); - System.out.println(response); - Account user = lac.getAccount(); - if (user.isLogin()) { - System.out.println("成功"); - Toast.makeText(fragmentActivity, "成功", Toast.LENGTH_SHORT).show(); - userCactus = (Cactus) fragmentActivity.getApplication(); - userCactus.setMyAccount(user); - userCactus.setAddressedAccount(lac); - - //画面遷移 - FragmentTransaction transaction = manager.beginTransaction(); - transaction.replace(R.id.fragment_place, new InstancesFragment()); - transaction.commit(); - } else { - Toast.makeText(fragmentActivity, "失敗", Toast.LENGTH_SHORT).show(); - - } - } - - - public void loginResponse() { - - loginConnection.setCallBack(new CallBack() { - @Override - public void onResponse(String response) { - changeJson(response); - } - }); - } -} - - - - - - - - - diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/CactusUserModel.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/CactusUserModel.java deleted file mode 100644 index 878a3cc..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/CactusUserModel.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.models; - -/** - * Controllerが扱うユーザを表すクラス - */ -public class CactusUserModel { - private String userId; - private String userPass; - - public CactusUserModel() { - - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - - public String getUserPass() { - return userPass; - } - - public void setUserPass(String userPass) { - this.userPass = userPass; - } -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java deleted file mode 100644 index 0957943..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.views; - -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentActivity; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.EditText; - -import org.ntlab.radishforandroidstudio.R; -import org.ntlab.radishforandroidstudio.cactusClient.UseCases.UserLoginUseCases; -import org.ntlab.radishforandroidstudio.cactusClient.controller.InputUserPresenter; -import org.ntlab.radishforandroidstudio.cactusClient.controller.UserLoginController; - - -public class LoginFragment extends Fragment { -// private LoginFragmentConnection connection; -// private Boolean testFlag = false; //trueにすると、通信せずにインスタンス画面へ遷移します。つまり、通信なしでテストするなら"true"にせい - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - // Inflate the layout for this fragment - FragmentManager manager = getFragmentManager(); - - return inflater.inflate(R.layout.login_fragment, container, false); - } - - - public void changeFragment() { - FragmentManager manager = getFragmentManager(); - FragmentTransaction transaction = manager.beginTransaction(); - transaction.replace(R.id.fragment_place, new InstancesFragment()); - transaction.commit(); - - } - - @Override - public void onStart() { - super.onStart(); - - Button button = (Button) getActivity().findViewById(R.id.signUP1); - button.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - //Toast.makeText(getActivity(), "hoge!", Toast.LENGTH_SHORT).show(); - FragmentManager manager = getFragmentManager(); - FragmentTransaction transaction = manager.beginTransaction(); - transaction.addToBackStack(null); - transaction.replace(R.id.fragment_place, new SignUpFragment()); - transaction.commit(); - } - }); - Button loginButton = (Button) getActivity().findViewById(R.id.login); - loginButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - EditText userName = (EditText) getActivity().findViewById(R.id.inputUserName); - EditText passWord = (EditText) getActivity().findViewById(R.id.checkPassword); - FragmentActivity fragmentActivity = getActivity(); - FragmentManager manager = getFragmentManager(); - - //動作 - InputUserPresenter inputUserPresenter = new InputUserPresenter(fragmentActivity, userName, passWord, manager); - UserLoginUseCases userLoginUseCases = new UserLoginUseCases(inputUserPresenter); - inputUserPresenter.inputData(); - - //通信 - UserLoginController userLoginController = new UserLoginController(fragmentActivity, manager, userLoginUseCases); - userLoginController.addFormParam(); - userLoginController.loginResponse(); - - } - }); - } -}