diff --git a/app/src/main/java/com/example/tampopo_client/viewmodels/UserViewModel.java b/app/src/main/java/com/example/tampopo_client/viewmodels/UserViewModel.java index 6fc54b2..e106806 100644 --- a/app/src/main/java/com/example/tampopo_client/viewmodels/UserViewModel.java +++ b/app/src/main/java/com/example/tampopo_client/viewmodels/UserViewModel.java @@ -61,6 +61,7 @@ //新規登録 enqueueで非同期処理、Callbackで成功失敗の処理、LiveDataに反映 //サーバーから返ってきた型と合わせないとFailureに流れる + //tokenはログイン処理後に発行されるため削除しました。 public void createUser(String id, String password) { loading.setValue(true); userResource.createUser(id, password).enqueue(new Callback() { @@ -68,11 +69,7 @@ loading.setValue(false); if (res.isSuccessful()) { User u = res.body(); - user.setValue(u); // ① ユーザ情報 - token.setValue(u.getToken()); - - // ついでにユーザ情報を取得したい場合 - user.setValue(res.body()); + user.setValue(u); } else { error.setValue("登録失敗: " + res.code()); } diff --git a/app/src/main/java/com/example/tampopo_client/views/LoginActivity.java b/app/src/main/java/com/example/tampopo_client/views/LoginActivity.java index d34fc94..64a5c94 100644 --- a/app/src/main/java/com/example/tampopo_client/views/LoginActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/LoginActivity.java @@ -2,22 +2,23 @@ import android.content.Intent; import android.os.Bundle; -import android.content.Intent; - import android.view.View; import android.view.View.OnClickListener; - import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; import androidx.lifecycle.ViewModelProvider; -import com.example.tampopo_client.views.MainActivity; import com.example.tampopo_client.R; +import com.example.tampopo_client.Tampopo; +import com.example.tampopo_client.viewmodels.UserViewModel; public class LoginActivity extends AppCompatActivity { + UserViewModel userViewModel; @Override @@ -32,10 +33,30 @@ }); userViewModel = new ViewModelProvider(this).get(UserViewModel.class); - Button button_login = (Button) findViewById(R.id.loginbutton); - button_login.setOnClickListener(new OnClickListener(){ + userViewModel.getError().observe(this, + msg -> { + if (msg != null) { + Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); + } + }); - public void onClick(View v){ + Button button_login = (Button) findViewById(R.id.loginbutton); + button_login.setOnClickListener(new OnClickListener() { + + private Object getApplication; + + public void onClick(View v) { + EditText useridInput = (EditText) findViewById(R.id.userIDText); + String userid = useridInput.getText().toString(); + EditText passwordInput = (EditText) findViewById(R.id.PasswordText); + String password = passwordInput.getText().toString(); + userViewModel.login(userid, password); + + userViewModel.getToken().getValue(); + //TODO:上記のトークンを使ってTampopoクラスにセットするコードを書く + //((Tampopo)this.getApplication).setToken(token); + + Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); @@ -43,9 +64,9 @@ }); Button button_createaccount = (Button) findViewById(R.id.createaccountbutton); - button_createaccount.setOnClickListener(new OnClickListener(){ + button_createaccount.setOnClickListener(new OnClickListener() { - public void onClick(View v){ + public void onClick(View v) { Intent intent = new Intent(LoginActivity.this, RegisterActivity.class); startActivity(intent); } diff --git a/app/src/main/java/com/example/tampopo_client/views/MyFriendRequestRecyclerViewAdapter.java b/app/src/main/java/com/example/tampopo_client/views/MyFriendRequestRecyclerViewAdapter.java index ebe4c76..9640389 100644 --- a/app/src/main/java/com/example/tampopo_client/views/MyFriendRequestRecyclerViewAdapter.java +++ b/app/src/main/java/com/example/tampopo_client/views/MyFriendRequestRecyclerViewAdapter.java @@ -33,7 +33,7 @@ @Override public void onBindViewHolder(final ViewHolder holder, int position) { holder.mItem = mValues.get(position); - holder.mIdView.setText(mValues.get(position).id); + //holder.mIdView.setText(mValues.get(position).id); holder.mContentView.setText(mValues.get(position).content); } @@ -43,13 +43,13 @@ } public class ViewHolder extends RecyclerView.ViewHolder { - public final TextView mIdView; + //public final TextView mIdView; public final TextView mContentView; public FriendRequestItem mItem; public ViewHolder(FragmentFriendReceivedBinding binding) { super(binding.getRoot()); - mIdView = binding.itemNumber; + //mIdView = binding.itemNumber; mContentView = binding.content; } diff --git a/app/src/main/java/com/example/tampopo_client/views/placeholder/FriendRequestContent.java b/app/src/main/java/com/example/tampopo_client/views/placeholder/FriendRequestContent.java index fb43f8f..cd141e8 100644 --- a/app/src/main/java/com/example/tampopo_client/views/placeholder/FriendRequestContent.java +++ b/app/src/main/java/com/example/tampopo_client/views/placeholder/FriendRequestContent.java @@ -5,26 +5,17 @@ import java.util.List; import java.util.Map; -/** - * Helper class for providing sample content for user interfaces created by - * Android template wizards. - *

- * TODO: Replace all uses of this class before publishing your app. - */ public class FriendRequestContent { - /** - * An array of sample (placeholder) items. - */ + //FriendRequestを格納するリスト public static final List ITEMS = new ArrayList(); - /** - * A map of sample (placeholder) items, by ID. - */ + //各アイテムにアクセスするためのID付きマップ*/ public static final Map ITEM_MAP = new HashMap(); - private static final int COUNT = 25; + private static final int COUNT = 30; //データ30個作成 + //アイテムを初期化時に追加する static { // Add some sample items. for (int i = 1; i <= COUNT; i++) { @@ -32,15 +23,18 @@ } } + //アイテムをリストとマップの両方に登録するメソッド private static void addItem(FriendRequestItem item) { ITEMS.add(item); ITEM_MAP.put(item.id, item); } + //位置(1,2,...)に応じたFriendRequestItem を生成するメソッド private static FriendRequestItem createPlaceholderItem(int position) { - return new FriendRequestItem(String.valueOf(position), "Item " + position, makeDetails(position)); + return new FriendRequestItem(String.valueOf(position), "ユーザー名 ", makeDetails(position)); } + //詳細説明用の文字列を作るメソッド。position に応じて「詳細情報」がたくさん増える private static String makeDetails(int position) { StringBuilder builder = new StringBuilder(); builder.append("Details about Item: ").append(position); @@ -50,13 +44,11 @@ return builder.toString(); } - /** - * A placeholder item representing a piece of content. - */ + //FriendRequestを表す1件のデータ public static class FriendRequestItem { - public final String id; - public final String content; - public final String details; + public final String id; //アイテムのID + public final String content; //表示される名前 + public final String details; //詳細説明 public FriendRequestItem(String id, String content, String details) { this.id = id; diff --git a/app/src/main/res/layout/fragment_friend_received.xml b/app/src/main/res/layout/fragment_friend_received.xml index 1877568..fa26f01 100644 --- a/app/src/main/res/layout/fragment_friend_received.xml +++ b/app/src/main/res/layout/fragment_friend_received.xml @@ -1,15 +1,16 @@ - + + +