diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2791464..17e4369 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -41,8 +41,9 @@ implementation(libs.constraintlayout) implementation(libs.legacy.support.v4) implementation(libs.recyclerview) + implementation(libs.retrofit2.retrofit) + implementation(libs.converter.jackson) testImplementation(libs.junit) androidTestImplementation(libs.ext.junit) androidTestImplementation(libs.espresso.core) - implementation(libs.retrofit) } \ No newline at end of file diff --git a/app/src/main/java/com/example/tampopo_client/models/FriendPair.java b/app/src/main/java/com/example/tampopo_client/models/FriendPair.java new file mode 100644 index 0000000..4f9c35f --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/models/FriendPair.java @@ -0,0 +1,36 @@ +package com.example.tampopo_client.models; + +public class FriendPair { + private Integer id; + private String user0Id; + private String user1Id; + + public FriendPair(String user0Id, String user1Id) { + this.user0Id = user0Id; + this.user1Id = user1Id; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUser0Id() { + return user0Id; + } + + public void setUser0Id(String user0Id) { + this.user0Id = user0Id; + } + + public String getUser1Id() { + return user1Id; + } + + public void setUser1Id(String user1Id) { + this.user1Id = user1Id; + } +} diff --git a/app/src/main/java/com/example/tampopo_client/models/FriendRequest.java b/app/src/main/java/com/example/tampopo_client/models/FriendRequest.java new file mode 100644 index 0000000..a417827 --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/models/FriendRequest.java @@ -0,0 +1,4 @@ +package com.example.tampopo_client.models; + +public class FriendRequest { +} diff --git a/app/src/main/java/com/example/tampopo_client/resources/FriendRequestResource.java b/app/src/main/java/com/example/tampopo_client/resources/FriendRequestResource.java new file mode 100644 index 0000000..9d3eb0b --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/resources/FriendRequestResource.java @@ -0,0 +1,38 @@ +package com.example.tampopo_client.resources; + + +import com.example.tampopo_client.models.FriendRequest; + +import java.util.List; + +import retrofit2.Call; +import retrofit2.http.DELETE; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Path; +import retrofit2.http.Query; + +public interface FriendRequestResource { + + //このAPIではリクエストのボディをx-www-form-urlencoded という形式で送ります + @FormUrlEncoded + @POST("friend-requests") + Call postFriendRequest( + @Field("sender-id") String senderId, + @Field("receiver-id") String receiverId, + @Field("token") String token + ); + + @GET("friend-requests") + Call> getFriendRequests( + @Query("token") String token + ); + + @DELETE("friend-requests/{friend-request-id}") + Call deleteFriendRequest( + @Path("friend-request-id") String friendRequestId, + @Query("token") String token + ); +} \ No newline at end of file diff --git a/app/src/main/java/com/example/tampopo_client/resources/FriendsResource.java b/app/src/main/java/com/example/tampopo_client/resources/FriendsResource.java new file mode 100644 index 0000000..d323d6c --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/resources/FriendsResource.java @@ -0,0 +1,34 @@ +package com.example.tampopo_client.resources; + +import com.example.tampopo_client.models.FriendPair; + +import retrofit2.Call; +import retrofit2.http.DELETE; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Path; +import retrofit2.http.Query; + +public interface FriendsResource { + @FormUrlEncoded + @POST("friends") + Call createFriend( + @Field("token") String token, + @Field("user0-id") String user0Id, + @Field("user1-id") String user1Id + ); + + @GET("friends/{pair_id}/") + Call getFriend( + @Query("token") String token, + @Path("pair_id") String pairId + ); + + @DELETE("friends/{pair_id}/") + Call deleteFriend( + @Query("token") String token, + @Path("pair_id") String pair_id + ); +} diff --git a/app/src/main/java/com/example/tampopo_client/viewmodels/FriendViewModel.java b/app/src/main/java/com/example/tampopo_client/viewmodels/FriendViewModel.java new file mode 100644 index 0000000..b85f756 --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/viewmodels/FriendViewModel.java @@ -0,0 +1,22 @@ +package com.example.tampopo_client.viewmodels; + +import androidx.lifecycle.ViewModel; + +import com.example.tampopo_client.resources.FriendsResource; + +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; + +public class FriendViewModel extends ViewModel { + + private final Retrofit retrofit; + private final FriendsResource friendsResource; + + public FriendViewModel(){ + this.retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/tampopo-server/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + this.friendsResource = retrofit.create(FriendsResource.class); + } +} diff --git a/app/src/main/java/com/example/tampopo_client/views/LaunchActivity.java b/app/src/main/java/com/example/tampopo_client/views/LaunchActivity.java index ecdf98e..3c966e0 100644 --- a/app/src/main/java/com/example/tampopo_client/views/LaunchActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/LaunchActivity.java @@ -1,6 +1,9 @@ package com.example.tampopo_client.views; +import android.content.Intent; import android.os.Bundle; +import android.view.View; +import android.widget.Button; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; @@ -22,5 +25,13 @@ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); + Button button_register = (Button) findViewById(R.id.Registerbutton); + button_register.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(LaunchActivity.this,RegisterActivity.class); + startActivity(intent); + } + }); } -} \ No newline at end of file +} diff --git a/app/src/main/res/layout/activity_launch.xml b/app/src/main/res/layout/activity_launch.xml index 2c9d1d3..e11fd8c 100644 --- a/app/src/main/res/layout/activity_launch.xml +++ b/app/src/main/res/layout/activity_launch.xml @@ -13,6 +13,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="tampopo" + android:textSize="25dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.498" @@ -21,9 +22,9 @@ app:layout_constraintVertical_bias="0.276" />