diff --git a/app/build.gradle b/app/build.gradle
index 9204a42..1fc7e27 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -29,6 +29,7 @@
buildFeatures {
viewBinding true
}
+ namespace 'com.example.nemophila'
}
//repositories {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a40b3e2..f55a4e3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,18 +63,6 @@
android:exported="true"
android:label="@string/title_activity_sign_up">
-
-
-
-
-
-
-
-
-
@@ -83,6 +71,18 @@
+
+
+
+
+
+
+
+
+
+ android:label="@string/title_activity_requesting"
+ android:windowSoftInputMode="adjustPan">
@@ -105,12 +106,12 @@
android:exported="true"
android:label="@string/title_activity_my_page">
-
-
+
+
-
-
+
+
diff --git a/app/src/main/java/com/example/nemophila/FriendActivity.java b/app/src/main/java/com/example/nemophila/FriendActivity.java
index ffb93c8..02785cb 100644
--- a/app/src/main/java/com/example/nemophila/FriendActivity.java
+++ b/app/src/main/java/com/example/nemophila/FriendActivity.java
@@ -2,6 +2,7 @@
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -16,9 +17,11 @@
import android.widget.ImageView;
import android.widget.TextView;
+import com.example.nemophila.entities.AccountNameJson;
import com.example.nemophila.viewmodels.FriendViewModel;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
public class FriendActivity extends AppCompatActivity {
@@ -48,8 +51,25 @@
rv.setLayoutManager(llm);
String myUid = nemophila.getUid(); // 自身のidを取得
-// friendViewModel.getFriends(myUid); // 自身のフレンドの一覧を取得するメソッドを呼び出す
-
+ friendViewModel.getFriends(myUid); // 自身のフレンドの一覧を取得するメソッドを呼び出す
+
+ friendViewModel.getFriendsLiveData().observe(this, new Observer>() {
+ @Override
+ public void onChanged(Collection friends) {
+ // 以前のデータが残っていると不都合なので、空にしておく
+ friendsDataset.clear();
+
+ for (AccountNameJson friend : friends) {
+ FriendDataModel data = new FriendDataModel();
+ data.setName(friend.getName());
+ friendsDataset.add(data);
+
+ //RecyclerViewをonChangedが呼ばれるたび表示(アダプターを更新してRecyclerViewにセット)
+ adapter.setList(friendsDataset);
+ rv.setAdapter(adapter);
+ }
+ }
+ });
// マイページ画面に画面遷移する
Button backButton = findViewById(R.id.backMyPage);
diff --git a/app/src/main/java/com/example/nemophila/MyPageActivity.java b/app/src/main/java/com/example/nemophila/MyPageActivity.java
index ed666bd..ae30c66 100644
--- a/app/src/main/java/com/example/nemophila/MyPageActivity.java
+++ b/app/src/main/java/com/example/nemophila/MyPageActivity.java
@@ -8,7 +8,9 @@
import android.content.Intent;
import android.os.Bundle;
+import android.view.LayoutInflater;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
@@ -83,24 +85,24 @@
}
});
- /* ここからよくわかっていない */
+ /* ここからあんまわかっていない */
RecyclerView rv = (RecyclerView) findViewById(R.id.postsList);
LinearLayoutManager llm = new LinearLayoutManager(this);
- List postsDataset = new ArrayList<>();
- MyPageActivityAdapter adapter = new MyPageActivityAdapter(postsDataset);
+ List MyPageActDataset = new ArrayList<>();
+ MyPageActAdapter adapter = new MyPageActAdapter(MyPageActDataset);
rv.setHasFixedSize(true);
rv.setLayoutManager(llm);
rv.setAdapter(adapter);
+ accountViewModel.getAccountPosts(uid);
accountViewModel.getAccountPostsLiveData().observe(this, new Observer >() {
@Override
public void onChanged(Collection Posts) {
- //postsDatasetを一旦クリアし、LiveDataから受け取ったデータを一つずつセット(重複しないように)
- postsDataset.clear();
+ //MyPageActDatasetを一旦クリアし、LiveDataから受け取ったデータを一つずつセット
+ MyPageActDataset.clear();
for (Post post: Posts){
- PostDataModel data = new PostDataModel();
- data.setName(post.getName());
+ MyPageActDataModel data = new MyPageActDataModel();
data.setDate(post.getDate());
//rateはintで受け取った評価に対応した星の数のStringに変換してセット
int intRate = post.getRate();
@@ -115,25 +117,101 @@
data.setRate(strRate);
data.setGenre(post.getGenre());
data.setComment(post.getComment());
-
- postsDataset.add(data);
+ MyPageActDataset.add(data);
}
+
//RecyclerViewをonChangedが呼ばれるたび表示(アダプターを更新してRecyclerViewにセット)
- adapter.setList(postsDataset);
+ adapter.setList(MyPageActDataset);
rv.setAdapter(adapter);
}
});
}
-// protected void onResume(Bundle savedInstanceState) {
-// super.onResume(savedInstanceState);
-//
-// Nemophila nemophila = (Nemophila) getApplication();
-// String uid = nemophila.getUid();
-// String name = nemophila.getName();
-// TextView myName = (TextView) findViewById(R.id.name);
-// myName.setText(name);
-// TextView id = (TextView) findViewById(R.id.id);
-// id.setText(uid);
-// }
+ /* ここからMyPageActivityの内部クラス */
+
+ // Adapter
+ public class MyPageActAdapter extends RecyclerView.Adapter {
+
+ private List list;
+
+ public void setList(List list) {
+ this.list = list;
+ }
+
+ public MyPageActAdapter(List list) {
+ this.list = list;
+ }
+
+ @Override
+ public MyPageActViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_my_page_activity_posts, parent,false);
+ MyPageActViewHolder vh = new MyPageActViewHolder(inflate);
+ return vh;
+ }
+
+ @Override
+ public void onBindViewHolder(MyPageActViewHolder holder, int position) {
+ holder.dateView.setText(list.get(position).getDate());
+ holder.rateView.setText(list.get(position).getRate());
+ holder.genreView.setText(list.get(position).getGenre());
+ holder.commentView.setText(list.get(position).getComment());
+ }
+
+ @Override
+ public int getItemCount() {
+ return list.size();
+ }
+ }
+
+ // ViewHolder
+ public class MyPageActViewHolder extends RecyclerView.ViewHolder {
+ public TextView dateView;
+ public TextView rateView;
+ public TextView genreView;
+ public TextView commentView;
+
+ public MyPageActViewHolder(View itemView) {
+ super(itemView);
+ dateView = (TextView) itemView.findViewById(R.id.date);
+ rateView = (TextView) itemView.findViewById(R.id.rate);
+ genreView = (TextView) itemView.findViewById(R.id.genre);
+ commentView = (TextView) itemView.findViewById(R.id.comment);
+ }
+ }
+
+ // DataModel
+ public class MyPageActDataModel {
+ private String date;
+ private String rate;
+ private String genre;
+ private String comment;
+
+ public String getDate() {
+ return date;
+ }
+ public void setDate(String date) {
+ this.date = date;
+ }
+
+ public String getRate() {
+ return rate;
+ }
+ public void setRate(String rate) {
+ this.rate = rate;
+ }
+
+ public String getGenre() {
+ return genre;
+ }
+ public void setGenre(String genre) {
+ this.genre = genre;
+ }
+
+ public String getComment() {
+ return comment;
+ }
+ public void setComment(String comment) {
+ this.comment = comment;
+ }
+ }
}
diff --git a/app/src/main/java/com/example/nemophila/MyPageActivityAdapter.java b/app/src/main/java/com/example/nemophila/MyPageActivityAdapter.java
deleted file mode 100644
index 6af5422..0000000
--- a/app/src/main/java/com/example/nemophila/MyPageActivityAdapter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.example.nemophila;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.recyclerview.widget.RecyclerView;
-
-import java.util.List;
-
-public class MyPageActivityAdapter extends RecyclerView.Adapter {
-
- private List list;
-
- public void setList(List list) {
- this.list = list;
- }
-
- public MyPageActivityAdapter(List list) {
- this.list = list;
- }
-
- @Override
- public PostsViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_my_page_activity_posts, parent,false);
- PostsViewHolder vh = new PostsViewHolder(inflate);
- return vh;
- }
-
- @Override
- public void onBindViewHolder(PostsViewHolder holder, int position) {
- holder.dateView.setText(list.get(position).getDate());
- holder.rateView.setText(list.get(position).getRate());
- holder.genreView.setText(list.get(position).getGenre());
- holder.commentView.setText(list.get(position).getComment());
- }
-
- @Override
- public int getItemCount() {
- return list.size();
- }
-}
diff --git a/app/src/main/java/com/example/nemophila/PostDataModel.java b/app/src/main/java/com/example/nemophila/PostDataModel.java
index 0d9f577..f4c5bc0 100644
--- a/app/src/main/java/com/example/nemophila/PostDataModel.java
+++ b/app/src/main/java/com/example/nemophila/PostDataModel.java
@@ -1,43 +1,43 @@
-package com.example.nemophila;
-
-public class PostDataModel {
- private String name;
- private String date;
- private String rate;
- private String genre;
- private String comment;
-
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDate() {
- return date;}
- public void setDate(String date) {
- this.date = date;
- }
-
- public String getRate() {
- return rate;
- }
- public void setRate(String rate) {
- this.rate = rate;
- }
-
- public String getGenre() {
- return genre;
- }
- public void setGenre(String genre) {
- this.genre = genre;
- }
-
- public String getComment() {
- return comment;
- }
- public void setComment(String comment) {
- this.comment = comment;
- }
-}
+//package com.example.nemophila;
+//
+//public class PostDataModel {
+// private String name;
+// private String date;
+// private String rate;
+// private String genre;
+// private String comment;
+//
+// public String getName() {
+// return name;
+// }
+// public void setName(String name) {
+// this.name = name;
+// }
+//
+// public String getDate() {
+// return date;}
+// public void setDate(String date) {
+// this.date = date;
+// }
+//
+// public String getRate() {
+// return rate;
+// }
+// public void setRate(String rate) {
+// this.rate = rate;
+// }
+//
+// public String getGenre() {
+// return genre;
+// }
+// public void setGenre(String genre) {
+// this.genre = genre;
+// }
+//
+// public String getComment() {
+// return comment;
+// }
+// public void setComment(String comment) {
+// this.comment = comment;
+// }
+//}
diff --git a/app/src/main/java/com/example/nemophila/PostsViewHolder.java b/app/src/main/java/com/example/nemophila/PostsViewHolder.java
index c1d19fd..1f618d3 100644
--- a/app/src/main/java/com/example/nemophila/PostsViewHolder.java
+++ b/app/src/main/java/com/example/nemophila/PostsViewHolder.java
@@ -1,24 +1,24 @@
-package com.example.nemophila;
-
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-public class PostsViewHolder extends RecyclerView.ViewHolder {
- public TextView nameView;
- public TextView dateView;
- public TextView rateView;
- public TextView genreView;
- public TextView commentView;
-
- public PostsViewHolder(@NonNull View itemView) {
- super(itemView);
- nameView = (TextView) itemView.findViewById(R.id.userName);
- dateView = (TextView) itemView.findViewById(R.id.date);
- rateView = (TextView) itemView.findViewById(R.id.rate);
- genreView = (TextView) itemView.findViewById(R.id.genre);
- commentView = (TextView) itemView.findViewById(R.id.comment);
- }
-}
+//package com.example.nemophila;
+//
+//import android.view.View;
+//import android.widget.TextView;
+//
+//import androidx.annotation.NonNull;
+//import androidx.recyclerview.widget.RecyclerView;
+//
+//public class PostsViewHolder extends RecyclerView.ViewHolder {
+// public TextView nameView;
+// public TextView dateView;
+// public TextView rateView;
+// public TextView genreView;
+// public TextView commentView;
+//
+// public PostsViewHolder(@NonNull View itemView) {
+// super(itemView);
+// nameView = (TextView) itemView.findViewById(R.id.userName);
+// dateView = (TextView) itemView.findViewById(R.id.date);
+// rateView = (TextView) itemView.findViewById(R.id.rate);
+// genreView = (TextView) itemView.findViewById(R.id.genre);
+// commentView = (TextView) itemView.findViewById(R.id.comment);
+// }
+//}
diff --git a/app/src/main/java/com/example/nemophila/RequestingActivity.java b/app/src/main/java/com/example/nemophila/RequestingActivity.java
index 8d4dfb9..6adf436 100644
--- a/app/src/main/java/com/example/nemophila/RequestingActivity.java
+++ b/app/src/main/java/com/example/nemophila/RequestingActivity.java
@@ -2,6 +2,7 @@
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -15,6 +16,8 @@
import android.widget.EditText;
import android.widget.TextView;
+import com.example.nemophila.viewmodels.PostsViewModel;
+
import java.util.ArrayList;
import java.util.List;
@@ -24,6 +27,10 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_requesting);
+ //Nemophilaから自分のuidとtokenを取得
+ String uid = ((Nemophila)getApplication()).getUid();
+ String token = ((Nemophila)getApplication()).getToken();
+ String requestingId;
//左上のボタンでマイページへ遷移
Button returnButton = (Button)findViewById(R.id.requestingAcReturnButton);
@@ -42,15 +49,17 @@
//入力されたIDを取得
EditText editSearchId = (EditText) findViewById(R.id.inputRequestingId);
String searchingId = editSearchId.getText().toString();
- //取得したIDのユーザー名を受け取る
+ //取得したIDのユーザー名を受け取り、OKならreqyestingIdに入れる
String requestingName;
//申請を送るダイアログを表示
RequestingDialogFragment dialog = new RequestingDialogFragment();
dialog.show(getSupportFragmentManager(), "Requesting_dialog");
+ //OK押したら申請するメソッドにuid、requestingId、tokenを渡す
}
});
//RecyclerView(表示の設定、直接表示するところはLivedataを購読しているonChanged内にしたい)
+ List requestingDataSet = new ArrayList<>();
List RequestingDataList = new ArrayList<>();
//xmlからrvにRecyclerViewを取得、アダプターを宣言
@@ -67,11 +76,25 @@
rv.setHasFixedSize(true);
rv.setLayoutManager(llm);
+
+ //表示テスト用に仮データ
+ List testDataSet = new ArrayList<>();
+ for (int i = 0; i < 15; i++) {
+ RequestingDataModel data = new RequestingDataModel();
+ data.setName("ネモフィラ太郎"+ i + "号(テスト)");
+
+ testDataSet.add(data);
+ }
+ //onChange内に書くべき表示部分
+ adapter.setList(testDataSet);
+ rv.setAdapter(adapter);
+
}
+
//RecyclerViewのための内部クラス
- //とりあえずnameのみで仮作成
+ //とりあえずnameのみで作成
//Adapter
public class RequestingAdapter extends RecyclerView.Adapter {
@@ -90,8 +113,7 @@
@Override
public RequestingActivity.RequestingViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- //ShopActivityのレイアウトのままなので、ここを作って反映させる
- View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_shop_activity_posts, parent,false);
+ View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_requesting_activity, parent,false);
RequestingActivity.RequestingViewHolder vh = new RequestingActivity.RequestingViewHolder(inflate);
return vh;
}
@@ -113,7 +135,7 @@
public RequestingViewHolder(@NonNull View itemView) {
super(itemView);
- nameView = (TextView) itemView.findViewById(R.id.userName);
+ nameView = (TextView) itemView.findViewById(R.id.requestingName);
}
}
diff --git a/app/src/main/java/com/example/nemophila/entities/AccountNameJson.java b/app/src/main/java/com/example/nemophila/entities/AccountNameJson.java
index d865620..2df8fc1 100644
--- a/app/src/main/java/com/example/nemophila/entities/AccountNameJson.java
+++ b/app/src/main/java/com/example/nemophila/entities/AccountNameJson.java
@@ -1,6 +1,22 @@
package com.example.nemophila.entities;
public class AccountNameJson {
+ private String uid;
private String name;
- private String id;
+
+ // Getter
+ public String getName() {
+ return name;
+ }
+ public String getUid() {
+ return uid;
+ }
+
+ // Setter
+ public void setName(String name) {
+ this.name = name;
+ }
+ public void setUid(String uid) {
+ this.uid = uid;
+ }
}
diff --git a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java
index 5d10a01..4749334 100644
--- a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java
+++ b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java
@@ -48,7 +48,7 @@
public MutableLiveData> getRequestingLiveData() { return requestingLiveData; }
-
+//フレンドの情報の取得
public void getFriends(String uid) {
Call> call = friendsRest.getFriends(uid);
call.enqueue(new Callback>() {
@@ -69,7 +69,7 @@
}
});
}
-
+//
public void putFriend(String uid,String fid, String token) {
Call call = friendsRest.putFriend(uid,fid,token);
call.enqueue(new Callback() {
@@ -87,7 +87,7 @@
}
});
}
-
+ // 対象のアカウントのフレンド登録情報の削除
public void deleteFriend(String uid,String fid, String token) {
Call call = friendsRest.deleteFriend(uid,fid,token);
call.enqueue(new Callback() {
@@ -105,7 +105,7 @@
}
});
}
-
+ //フレンド申請を行うときの情報の取得
public void getRequesting(String uid) {
Call> call = friendsRest.getRequesting(uid);
call.enqueue(new Callback>() {
@@ -141,7 +141,7 @@
}
});
}
-
+ // 対象のアカウントのフレンド申請を行うときの情報削除
public void deleteRequesting(String uid,String requesting_id, String token) {
Call call = friendsRest.deleteRequesting(uid,requesting_id,token);
call.enqueue(new Callback() {
@@ -159,7 +159,7 @@
}
});
}
-
+ //フレンド申請を行われたときの情報の取得
public void getRequested(String uid) {
Call> call = friendsRest.getRequested(uid);
call.enqueue(new Callback>() {
@@ -177,7 +177,7 @@
}
});
}
-
+ // 対象のアカウントのフレンド申請を行われたときの情報削除
public void deleteRequested(String uid,String fid, String token) {
Call call = friendsRest.deleteRequested(uid,fid,token);
call.enqueue(new Callback() {
diff --git a/app/src/main/res/drawable/blue_circle_button.xml b/app/src/main/res/drawable/blue_circle_button.xml
new file mode 100644
index 0000000..e007807
--- /dev/null
+++ b/app/src/main/res/drawable/blue_circle_button.xml
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_baseline_clear_24.xml b/app/src/main/res/drawable/ic_baseline_clear_24.xml
new file mode 100644
index 0000000..844b6b6
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline_clear_24.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/activity_requesting.xml b/app/src/main/res/layout/activity_requesting.xml
index e3b2df7..6dc38db 100644
--- a/app/src/main/res/layout/activity_requesting.xml
+++ b/app/src/main/res/layout/activity_requesting.xml
@@ -43,10 +43,10 @@
android:text="IDで検索してフレンド申請を送る"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.094"
+ app:layout_constraintHorizontal_bias="0.124"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.127" />
+ app:layout_constraintVertical_bias="0.123" />
+ app:layout_constraintTop_toBottomOf="@+id/titleRequestingList"
+ app:layout_constraintVertical_bias="0.428" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_my_page_activity_posts.xml b/app/src/main/res/layout/layout_my_page_activity_posts.xml
index 1467c83..ac65699 100644
--- a/app/src/main/res/layout/layout_my_page_activity_posts.xml
+++ b/app/src/main/res/layout/layout_my_page_activity_posts.xml
@@ -1,5 +1,6 @@
-
+ android:layout_height="match_parent"
+ android:layout_weight="0.1" />
+ android:textSize="16sp" />
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/layout_requesting_activity.xml b/app/src/main/res/layout/layout_requesting_activity.xml
new file mode 100644
index 0000000..dcfe6bf
--- /dev/null
+++ b/app/src/main/res/layout/layout_requesting_activity.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 3eb7c48..98b5d27 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,7 +2,7 @@
plugins {
id 'com.android.application' version '7.2.1' apply false
id 'com.android.library' version '7.2.1' apply false
- id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
+ id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.0' apply false
}
task clean(type: Delete) {
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 870a1dc..eb62b05 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Tue May 30 13:58:12 JST 2023
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME