diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index eac51cb..1adb1c2 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -7,11 +7,11 @@ - + - + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 18db799..b6091b9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,20 +18,10 @@ android:theme="@style/Theme.Nemophila" android:usesCleartextTraffic="true" tools:targetApi="31"> - + android:value="${MAPS_API_KEY}" /> - - + + - - + + --> - { + private List list; + + public FriendActivityAdapter(List list) { + this.list = list; + } + + public void setList(List list) { + this.list = list; + } + + @NonNull + @Override + public FriendsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int ViewType) { + View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_friends_activity, parent,false); + FriendsViewHolder vh = new FriendsViewHolder(inflate); + return vh; + } + + @Override + public void onBindViewHolder(@NonNull FriendsViewHolder holder, int position) { + // 後からアイコンの登録をできるようにする + holder.nameView.setText(list.get(position).getName()); + } + + @Override + public int getItemCount() { + return list.size(); + } + } + + // ViewHolder + public class FriendsViewHolder extends RecyclerView.ViewHolder { + public ImageView iconView; + public TextView nameView; + public Button deleteButton; + + public FriendsViewHolder(@NonNull View itemView) { + super(itemView); + iconView = itemView.findViewById(R.id.friendIcon); + nameView = itemView.findViewById(R.id.friendName); + deleteButton = itemView.findViewById(R.id.friendDelete); + } + } + + // DataModel + public static class FriendDataModel { + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/nemophila/FriendDataModel.java b/app/src/main/java/com/example/nemophila/FriendDataModel.java index 2fde580..1eaaefc 100644 --- a/app/src/main/java/com/example/nemophila/FriendDataModel.java +++ b/app/src/main/java/com/example/nemophila/FriendDataModel.java @@ -1,7 +1,5 @@ package com.example.nemophila; -import android.widget.Button; - public class FriendDataModel { private String name; diff --git a/app/src/main/java/com/example/nemophila/RequestedActivity.java b/app/src/main/java/com/example/nemophila/RequestedActivity.java index 748c4b0..6f075f9 100644 --- a/app/src/main/java/com/example/nemophila/RequestedActivity.java +++ b/app/src/main/java/com/example/nemophila/RequestedActivity.java @@ -5,6 +5,7 @@ import android.os.Bundle; public class RequestedActivity extends AppCompatActivity { + private RequestedAdapter adapter = null; @Override protected void onCreate(Bundle savedInstanceState) { diff --git a/app/src/main/java/com/example/nemophila/RequestedAdapter.java b/app/src/main/java/com/example/nemophila/RequestedAdapter.java index 56b7791..be91550 100644 --- a/app/src/main/java/com/example/nemophila/RequestedAdapter.java +++ b/app/src/main/java/com/example/nemophila/RequestedAdapter.java @@ -1,9 +1,41 @@ package com.example.nemophila; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.example.nemophila.entities.Account; import com.example.nemophila.viewmodels.AccountViewModel; -public class RequestedAdapter { - +import java.util.List; + +public class RequestedAdapter extends RecyclerView.Adapter { + private List list; + public RequestedAdapter(List list) { + this.list = list; + } + public void setList(List list) { + this.list = list; + } + + @NonNull + @Override + public RequestedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_requested_activity, parent,false); + RequestedViewHolder vh = new RequestedViewHolder(inflate); + return vh; + } + + @Override + public void onBindViewHolder(@NonNull RequestedViewHolder holder, int position) { + holder.nameView.setText(list.get(position).getName()); + } + + @Override + public int getItemCount() { + return list.size(); + } } diff --git a/app/src/main/java/com/example/nemophila/RequestedViewHolder.java b/app/src/main/java/com/example/nemophila/RequestedViewHolder.java new file mode 100644 index 0000000..e4ed3cc --- /dev/null +++ b/app/src/main/java/com/example/nemophila/RequestedViewHolder.java @@ -0,0 +1,16 @@ +package com.example.nemophila; + +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +public class RequestedViewHolder extends RecyclerView.ViewHolder { + public TextView nameView; + + public RequestedViewHolder(@NonNull View view) { + super(view); + nameView = (TextView) view.findViewById(R.id.textView3); + } +} 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 5322b9e..bf32a70 100644 --- a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java +++ b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java @@ -1,65 +1,65 @@ -//package com.example.nemophila.viewmodels; -// -//import androidx.lifecycle.MutableLiveData; -//import androidx.lifecycle.ViewModel; -// -//import com.example.nemophila.entities.Post; -//import com.example.nemophila.resources.AccountsRest; -//import com.example.nemophila.resources.FriendsRest; -// -//import java.util.Collection; -// -//import retrofit2.Call; -//import retrofit2.Callback; -//import retrofit2.Response; -//import retrofit2.Retrofit; -//import retrofit2.converter.jackson.JacksonConverterFactory; -// -//public class FriendViewModel extends ViewModel { -// // フィールド -// private final Retrofit retrofit; -// private final FriendsRest friendsRest; -// // ライブデータ -// private final MutableLiveData friendsLiveData; -// private final MutableLiveData requestedLiveData; -// private final MutableLiveData> requestingLiveData; -// -// // コンストラクタ -// public FriendViewModel() { -// this.retrofit = new Retrofit.Builder() -// .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/nemophila/") -// .addConverterFactory(JacksonConverterFactory.create()) -// .build(); -// this.friendsRest = retrofit.create(FriendsRest.class); -// this.friendsLiveData = new MutableLiveData<>(); -// this.requestedLiveData = new MutableLiveData<>(); -// this.requestingLiveData = new MutableLiveData<>(); -// } -// -// // ライブデータの取得(ゲッター) -// public MutableLiveData getFriendsLiveData() { -// return friendsLiveData; -// } -// public MutableLiveData getRequestedLiveData() { -// return requestedLiveData; -// } -// public MutableLiveData> getRequestingLiveData() { return requestingLiveData; } -// -// public void searchFriend(String uid,String fid, String token) { -// Call call = friendsRest.putFriend (); -// call.enqueue(new Callback() { -// @Override -// public void onResponse(Call call, Response response) { -// if (response.isSuccessful()) { -// System.out.println("Successful"); -// } else { -// System.out.println("ResponseError"); -// } -// } -// @Override -// public void onFailure(Call call, Throwable t) { -// System.out.println(" NetworkError" + t); -// } -// }); -// } -//} +package com.example.nemophila.viewmodels; + +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + +import com.example.nemophila.entities.Post; +import com.example.nemophila.resources.AccountsRest; +import com.example.nemophila.resources.FriendsRest; + +import java.util.Collection; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; + +public class FriendViewModel extends ViewModel { + // フィールド + private final Retrofit retrofit; + private final FriendsRest friendsRest; + // ライブデータ + private final MutableLiveData friendsLiveData; + private final MutableLiveData requestedLiveData; + private final MutableLiveData> requestingLiveData; + + // コンストラクタ + public FriendViewModel() { + this.retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/nemophila/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + this.friendsRest = retrofit.create(FriendsRest.class); + this.friendsLiveData = new MutableLiveData<>(); + this.requestedLiveData = new MutableLiveData<>(); + this.requestingLiveData = new MutableLiveData<>(); + } + + // ライブデータの取得(ゲッター) + public MutableLiveData getFriendsLiveData() { + return friendsLiveData; + } + public MutableLiveData getRequestedLiveData() { + return requestedLiveData; + } + public MutableLiveData> getRequestingLiveData() { return requestingLiveData; } + + public void searchFriend(String uid,String fid, String token) { + Call call = friendsRest.putFriend(uid,fid,token); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) { + System.out.println("Successful"); + } else { + System.out.println("ResponseError"); + } + } + @Override + public void onFailure(Call call, Throwable t) { + System.out.println(" NetworkError" + t); + } + }); + } +}