diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusUserEntity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusUserEntity.java new file mode 100644 index 0000000..43af5fb --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Entities/CactusUserEntity.java @@ -0,0 +1,32 @@ +package org.ntlab.radishforandroidstudio.cactusClient.Entities; + +import net.arnx.jsonic.JSONHint; + +public class CactusUserEntity { + + @JSONHint(name = "userID") + private String userId; + + @JSONHint(name = "userPass") + private String userPass; + + @JSONHint(name = "userName") + private String userName; + + public CactusUserEntity(){ + //empty + } + + + public String getUserId() { + return userId; + } + + public String getUserPass() { + return userPass; + } + + public String getUserName() { + return userName; + } +} 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 new file mode 100644 index 0000000..eab90f3 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/UserLoginController.java @@ -0,0 +1,51 @@ +package org.ntlab.radishforandroidstudio.cactusClient.controller; + +import net.arnx.jsonic.JSON; +import net.arnx.jsonic.TypeReference; + +import org.ntlab.radishforandroidstudio.cactusClient.Cactus; +import org.ntlab.radishforandroidstudio.cactusClient.connections.LoginFragmentConnection; +import org.ntlab.radishforandroidstudio.cactusClient.models.account.Account; +import org.ntlab.radishforandroidstudio.cactusClient.models.account.URIAddressedAccount; +import org.ntlab.radishforandroidstudio.framework.network.CallBack; + +public class UserLoginController { + + private LoginFragmentConnection loginFragmentConnection = new LoginFragmentConnection(); + String userId; + String userPass; + Cactus cactus; + + public UserLoginController(Cactus cactus, String userId, String userPass) { + this.userId = userId; + this.userPass = userPass; + this.cactus=cactus; + } + + public boolean login() { + loginFragmentConnection.setCallBack(new CallBack() { + @Override + public void onResponse(String response) { + URIAddressedAccount uriAddressedAccount = JSON.decode(response, new TypeReference() { + }); + Account account = uriAddressedAccount.getAccount(); + if (account.isLogin()) { + cactus.setMyAccount(account);//Cactusにアカウントセット + cactus.setAddressedAccount(uriAddressedAccount);//Jsonから + } + } + }); + return true; + } + + + public void addUserFormParam() { + loginFragmentConnection.addFormParam("userID", userId); + loginFragmentConnection.addFormParam("userPass", userPass); + + } + + public void doPut(){ + loginFragmentConnection.doPut(); + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/account/CactusUserModel.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/account/CactusUserModel.java new file mode 100644 index 0000000..a138851 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/account/CactusUserModel.java @@ -0,0 +1,4 @@ +package org.ntlab.radishforandroidstudio.cactusClient.models.account; + +public class CactusUserModel { +} 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 index c0fdd06..9b688d6 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java @@ -11,25 +11,17 @@ import android.widget.EditText; 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.connections.LoginFragmentConnection; -import org.ntlab.radishforandroidstudio.cactusClient.models.account.Account; -import org.ntlab.radishforandroidstudio.cactusClient.models.account.URIAddressedAccount; -import org.ntlab.radishforandroidstudio.framework.network.CallBack; +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 + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.login_fragment, container, false); } @@ -37,7 +29,8 @@ public void onStart() { super.onStart(); - Button button = (Button)getActivity().findViewById(R.id.signUP1); + //サインアップ画面に移動 + Button button = (Button) getActivity().findViewById(R.id.signUP1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -49,57 +42,60 @@ transaction.commit(); } }); - Button loginButton = (Button)getActivity().findViewById(R.id.login); + + //ログイン処理 + 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); + EditText userName = (EditText) getActivity().findViewById(R.id.inputUserName); + EditText passWord = (EditText) getActivity().findViewById(R.id.checkPassword); // /**************************************************************** - if(testFlag) { - FragmentManager manager = getFragmentManager(); - FragmentTransaction transaction = manager.beginTransaction(); - transaction.replace(R.id.fragment_place, new InstancesFragment()); - transaction.commit(); - return; - } +// if (testFlag) { +// FragmentManager manager = getFragmentManager(); +// FragmentTransaction transaction = manager.beginTransaction(); +// transaction.replace(R.id.fragment_place, new InstancesFragment()); +// transaction.commit(); +// return; +// } // **********************************************************************/ if (userName.getText().toString().isEmpty()) { Toast.makeText(getActivity(), "ユーザー名が未記入です", Toast.LENGTH_SHORT).show(); return; - } else if(passWord.getText().toString().isEmpty()){ + } else if (passWord.getText().toString().isEmpty()) { Toast.makeText(getActivity(), "パスワードが未記入です", Toast.LENGTH_SHORT).show(); return; } - connection = new LoginFragmentConnection(); - connection.setCallBack(new CallBack() { - @Override - public void onResponse(String response) { - //通信した時の処理を書くのだよ - URIAddressedAccount lac = JSON.decode(response, new TypeReference(){}); -// System.out.println(response); - Account user = lac.getAccount(); - if(user.isLogin()){ - Toast.makeText(getActivity(),"ログインに成功しました。", Toast.LENGTH_SHORT).show(); - Cactus c = (Cactus) getActivity().getApplication(); - c.setMyAccount(user); - c.setAddressedAccount(lac); - FragmentManager manager = getFragmentManager(); - FragmentTransaction transaction = manager.beginTransaction(); - transaction.replace(R.id.fragment_place, new InstancesFragment()); - transaction.commit(); - }else { - Toast.makeText(getActivity(),"ログインに失敗しました。", Toast.LENGTH_SHORT).show(); - } - } - }); - connection.addFormParam("userID", userName.getText().toString()); - connection.addFormParam("userPass", passWord.getText().toString()); - if(testFlag == false)connection.doPut(); + + //通信処理 + String userID = userName.getText().toString(); + String userPass = passWord.getText().toString(); + boolean isUserLogin; + Cactus cactus = (Cactus) getActivity().getApplication(); + UserLoginController userLoginController = new UserLoginController(cactus,userID, userPass); + isUserLogin = userLoginController.login(); + + + + if (isUserLogin) { + Toast.makeText(getActivity(), "ログインに成功しました。", Toast.LENGTH_SHORT).show(); + //画面遷移 + FragmentManager manager = getFragmentManager(); + FragmentTransaction transaction = manager.beginTransaction(); + transaction.replace(R.id.fragment_place, new InstancesFragment()); + transaction.commit(); + } else { + Toast.makeText(getActivity(), "ログインに失敗しました。", Toast.LENGTH_SHORT).show(); + } + + userLoginController.addUserFormParam(); + + if (testFlag==false)userLoginController.doPut(); + } }); } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java index fbe56f1..beea271 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java @@ -10,6 +10,7 @@ import android.widget.Button; import android.widget.EditText; import android.widget.Toast; + import net.arnx.jsonic.JSON; import net.arnx.jsonic.TypeReference; @@ -50,47 +51,52 @@ //サインアップ Button signUpButton = (Button) getActivity().findViewById(R.id.signUp2); - signUpButton.setOnClickListener(new View.OnClickListener(){ + + signUpButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - EditText inputPassword = (EditText)getActivity().findViewById(R.id.inputPassword2); - EditText checkPassWord = (EditText)getActivity().findViewById(R.id.checkPassword); - EditText inputUserName = (EditText)getActivity().findViewById(R.id.inputUserName); - EditText inputUserID = (EditText)getActivity().findViewById(R.id.inputUserID); + EditText inputPassword = (EditText) getActivity().findViewById(R.id.inputPassword2); + EditText checkPassWord = (EditText) getActivity().findViewById(R.id.checkPassword); + EditText inputUserName = (EditText) getActivity().findViewById(R.id.inputUserName); + EditText inputUserID = (EditText) getActivity().findViewById(R.id.inputUserID); - if(inputUserID.getText().toString().contains(" ") || inputUserID.getText().toString().contains(" ")){ + if (inputUserID.getText().toString().contains(" ") || inputUserID.getText().toString().contains(" ")) { Toast.makeText(getActivity(), "空白の含むIDは登録できません", Toast.LENGTH_SHORT).show(); return; - }else if (inputPassword.getText().toString().isEmpty()) { + } else if (inputPassword.getText().toString().isEmpty()) { Toast.makeText(getActivity(), "パスワードを入力してください", Toast.LENGTH_SHORT).show(); return; } else if (checkPassWord.getText().toString().isEmpty()) { Toast.makeText(getActivity(), "確認用パスワードを入力してください", Toast.LENGTH_SHORT).show(); return; - } else if (!inputPassword.getText().toString().equals(checkPassWord.getText().toString() )) { + } else if (!inputPassword.getText().toString().equals(checkPassWord.getText().toString())) { Toast.makeText(getActivity(), "パスワードが一致しません", Toast.LENGTH_SHORT).show(); return; } + /** + * 以下通信、 + * 役割Controller + */ + connection = new SignUpFragmentConnection(); - connection.setCallBack(new CallBack() { - @Override - public void onResponse(String response) { - //通信した時の処理を書くのだよ -// URIAddressedAccount ac = JSON.decode(response,URIAddressedAccount.class); -// System.out.println("JSON.decode(response, URIAddressedAccount.class);\viewPoint"+ac.getUri()); - URIAddressedAccount ac2 = JSON.decode(response, new TypeReference(){}); - System.out.println("JSON.decode(response, new TypeReference(){});\n"+ac2.getUri()); - System.out.println(response); - Toast.makeText(getActivity(),"アカウントを作成しました。", Toast.LENGTH_SHORT).show(); - } - }); connection.addFormParam("userID", inputUserID.getText().toString()); connection.addFormParam("userPass", inputPassword.getText().toString()); connection.addFormParam("userName", inputUserName.getText().toString()); connection.doPost(); + + connection.setCallBack(new CallBack() { + @Override + public void onResponse(String response) { + URIAddressedAccount ac1 = JSON.decode(response, new TypeReference() {}); + System.out.println("JSON.decode(response, new TypeReference(){});\n" + ac1.getUri()); + System.out.println(response); + Toast.makeText(getActivity(), "アカウントを作成しました。", Toast.LENGTH_SHORT).show(); + } + }); + } }); }