diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 9534814..0195fea 100644 --- a/.idea/caches/build_file_checksums.ser +++ b/.idea/caches/build_file_checksums.ser Binary files differ diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Cactus.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Cactus.java index 7b048b8..169053e 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Cactus.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/Cactus.java @@ -1,10 +1,12 @@ package org.ntlab.radishforandroidstudio.cactusClient; -import android.accounts.Account; + import android.app.Activity; import android.app.Application; import android.os.Bundle; +import org.ntlab.radishforandroidstudio.cactusClient.models.Account; + public class Cactus extends Application { private Account myAccount = null; diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/CharactersFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/CharactersFragment.java index 8815056..8276a08 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/CharactersFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/CharactersFragment.java @@ -7,24 +7,38 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; + +import android.support.v4.app.Fragment; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; + import android.widget.Button; +import android.widget.ListView; import android.widget.Toast; import org.ntlab.radishforandroidstudio.R; +import org.ntlab.radishforandroidstudio.cactusClient.Cactus; +import org.ntlab.radishforandroidstudio.cactusClient.models.Account; + +import java.util.ArrayList; public class CharactersFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - String test = getArguments().getString("test"); - Toast.makeText(getActivity(), test, Toast.LENGTH_SHORT).show(); + int position = getArguments().getInt("position"); + + Cactus c = (Cactus) getActivity().getApplication(); + Account account = c.getMyAccount(); + // Inflate the layout for this fragment return inflater.inflate(R.layout.characters_fragment, container, false); } - public void onStart() { - super.onStart(); + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { Button button = (Button) getActivity().findViewById(R.id.chooseInstances); //↓↓↓↓↓↓↓↓画面遷移↓↓↓↓↓↓↓↓ @@ -41,14 +55,25 @@ } }); - Button Nobita = (Button) getActivity().findViewById(R.id.NOBITA); - //↓↓↓↓↓↓↓↓画面遷移↓↓↓↓↓↓↓↓ - Nobita.setOnClickListener(new View.OnClickListener() { + // ListViewに表示するデータ + final ArrayList items = new ArrayList<>(); + items.add("キャラクター1"); + items.add("キャラクター2"); + items.add("キャラクター3"); + + // ListViewをセット + final ArrayAdapter adapter = new ArrayAdapter(this.getContext(), android.R.layout.simple_list_item_1, items); + ListView listView = (ListView) view.findViewById(R.id.list); + listView.setAdapter(adapter); + // セルを選択されたら詳細画面フラグメント呼び出す + listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override - public void onClick(View v) { - //Toast.makeText(getActivity(), "hoge!", Toast.LENGTH_SHORT).show(); + public void onItemClick(AdapterView parent, View v, int position, long id) { + //ここでサーバーに何番のインスタンスが選ばれたのかを送信して、受け取った値に応じてキャラクターを送信しなければならない + //................................................... + //positionで選ばれたインスタンスわかるで!数字は0からやで!例えば1はデータ2やで!やで FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); transaction.replace(R.id.framelayout_place, new PlayerFragment()); @@ -56,6 +81,5 @@ transaction.commit(); } }); - } } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/InstancesFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/InstancesFragment.java index 0da159e..868af2e 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/InstancesFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/InstancesFragment.java @@ -13,6 +13,8 @@ import android.widget.ListView; import org.ntlab.radishforandroidstudio.R; +import org.ntlab.radishforandroidstudio.cactusClient.Cactus; +import org.ntlab.radishforandroidstudio.cactusClient.models.Account; import java.util.ArrayList; @@ -52,13 +54,16 @@ //ここでサーバーに何番のインスタンスが選ばれたのかを送信して、受け取った値に応じてキャラクターを送信しなければならない //................................................... - // + //positionで選ばれたインスタンスわかるで!数字は0からやで!例えば1はデータ2やで!やで FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); CharactersFragment fragment = new CharactersFragment(); Bundle bundle = new Bundle(); + bundle.putSerializable("test", "これはテストです"); + bundle.putSerializable("position",position); + fragment.setArguments(bundle); transaction.replace(R.id.framelayout_place, fragment, "characters_fragment"); transaction.commit(); 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 e772b27..55db6c8 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 @@ -10,8 +10,18 @@ import android.widget.Button; 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; +import org.ntlab.radishforandroidstudio.cactusClient.models.URIAddressedAccount; +import org.ntlab.radishforandroidstudio.framework.network.CallBack; public class LoginFragment extends Fragment { @@ -22,7 +32,6 @@ Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.login_fragment, container, false); - } @Override @@ -62,38 +71,45 @@ transaction.commit(); // **********************************************************************/ -// -// if (userName.getText().toString().isEmpty()) { -// Toast.makeText(getActivity(), "ユーザー名が未記入です", Toast.LENGTH_SHORT).show(); -// } else if(passWord.getText().toString().isEmpty()){ -// Toast.makeText(getActivity(), "パスワードが未記入です", Toast.LENGTH_SHORT).show(); -// } else { -// -// connection = new LoginFragmentConnection(); -// connection.setCallBack(new CallBack() { -// @Override -// public void onResponse(String response) { -// //通信した時の処理を書くのだよ -// URIAddressedEntity lac = JSON.decode(response, URIAddressedEntity.class); -// System.out.println("///////////////////////////////////////////////"); -// System.out.println(response); -// -// if(response.contains("\"login\":true,")){ -// 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(); -// } -// -// } -// }); -// connection.addFormParam("userID", userName.getText().toString()); -// connection.addFormParam("userPass", passWord.getText().toString()); -// connection.doPut(); -// } + + if (userName.getText().toString().isEmpty()) { + Toast.makeText(getActivity(), "ユーザー名が未記入です", Toast.LENGTH_SHORT).show(); + return; + } 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("///////////////////////////////////////////////"); + System.out.println(response); + Account user = lac.getAccount(); + + if(user.isLogin()){ + Cactus c = (Cactus) getActivity().getApplication(); + c.setMyAccount(user); + + Toast.makeText(getActivity(),"ログインに成功しました。", Toast.LENGTH_SHORT).show(); + FragmentManager manager = getFragmentManager(); + FragmentTransaction transaction = manager.beginTransaction(); + transaction.replace(R.id.framelayout_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()); + connection.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 fa298ae..0095fda 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,7 +10,6 @@ import android.widget.Button; import android.widget.EditText; import android.widget.Toast; - import net.arnx.jsonic.JSON; import net.arnx.jsonic.TypeReference; @@ -27,7 +26,6 @@ Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.sign_up_fragment, container, false); - } //↓↓↓↓↓↓↓↓画面遷移↓↓↓↓↓↓↓↓ @@ -46,54 +44,60 @@ FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); + transaction.addToBackStack(null); + //transaction.replace(R.id.fragment_place, new LoginFragment()); transaction.replace(R.id.framelayout_place, new LoginFragment()); + transaction.commit(); } }); //サインアップ 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(); - } else if (inputPassword.getText().toString().isEmpty()) { + return; + }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(); - } else if (!inputPassword.getText().toString().equals(checkPassWord.getText().toString())) { + return; + } else if (!inputPassword.getText().toString().equals(checkPassWord.getText().toString() )) { Toast.makeText(getActivity(), "パスワードが一致しません", Toast.LENGTH_SHORT).show(); - } else { - - connection = new SignUpFragmentConnection(); - connection.setCallBack(new CallBack() { - @Override - public void onResponse(String response) { - //通信した時の処理を書くのだよ - URIAddressedAccount ac = JSON.decode(response, URIAddressedAccount.class); - URIAddressedAccount ac2 = JSON.decode(response, new TypeReference() { - }); - System.out.println("JSON.decode(response, URIAddressedAccount.class);\n" + ac.getUri()); - System.out.println("JSON.decode(response, new TypeReference(){});\n" + ac2.getUri()); - System.out.println(response); - Toast.makeText(getActivity(), response, Toast.LENGTH_SHORT).show(); - } - }); - - connection.addFormParam("userID", inputUserID.getText().toString()); - connection.addFormParam("userPass", inputPassword.getText().toString()); - connection.addFormParam("userName", inputUserName.getText().toString()); - connection.doPost(); - + return; } + + connection = new SignUpFragmentConnection(); + connection.setCallBack(new CallBack() { + @Override + public void onResponse(String response) { + //通信した時の処理を書くのだよ + URIAddressedAccount ac = JSON.decode(response, URIAddressedAccount.class); + URIAddressedAccount ac2 = JSON.decode(response, new TypeReference(){}); + System.out.println("JSON.decode(response, URIAddressedAccount.class);\n"+ac.getUri()); + System.out.println("JSON.decode(response, new TypeReference(){});\n"+ac2.getUri()); + System.out.println(response); + Toast.makeText(getActivity(),response, Toast.LENGTH_SHORT).show(); + } + }); + + connection.addFormParam("userID", inputUserID.getText().toString()); + connection.addFormParam("userPass", inputPassword.getText().toString()); + connection.addFormParam("userName", inputUserName.getText().toString()); + connection.doPost(); + + } }); } diff --git a/app/src/main/res/layout/characters_fragment.xml b/app/src/main/res/layout/characters_fragment.xml index 41c4574..5b021d8 100644 --- a/app/src/main/res/layout/characters_fragment.xml +++ b/app/src/main/res/layout/characters_fragment.xml @@ -7,44 +7,29 @@ android:layout_height="match_parent">