diff --git a/app/src/main/java/com/example/tampopo_client/models/Activity.java b/app/src/main/java/com/example/tampopo_client/models/Activity.java new file mode 100644 index 0000000..7c3d626 --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/models/Activity.java @@ -0,0 +1,47 @@ +package com.example.tampopo_client.models; + +public class Activity { + private String userId; + private String activityId; + private String text; + private String updateTime; + + public Activity(String userId, String activityId, String text, String updateTime) { + this.userId = userId; + this.activityId = activityId; + this.text = text; + this.updateTime = updateTime; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getActivityId() { + return activityId; + } + + public void setActivityId(String activityId) { + this.activityId = activityId; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } +} diff --git a/app/src/main/java/com/example/tampopo_client/resources/ActivitiesResource.java b/app/src/main/java/com/example/tampopo_client/resources/ActivitiesResource.java new file mode 100644 index 0000000..7df8292 --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/resources/ActivitiesResource.java @@ -0,0 +1,38 @@ +package com.example.tampopo_client.resources; + +import com.example.tampopo_client.models.Activity; + +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 ActivitiesResource { + @GET("users/{user_id}/activities") + Call> getActivities(@Path("user_id") String userId, @Query("filter") String filter); + + @POST("users/{user_id}/activities") + @FormUrlEncoded + Call addActivity(@Path("user_id") String userId, @Field("token") String token, @Field("new-activity") String newActivity); // FIXME: We need to rename new-activity to new_activity + + @GET("users/{user_id}/activities/{activity_id}") + Call getActivity(@Path("user_id") String userId, @Path("activity_id") String activityId); + + @DELETE("users/{user_id}/activities/{activity_id}") + Call deleteActivity(@Path("user_id") String userId, @Path("activity_id") String activityId, @Query("token") String token); + + @GET("users/{user_id}/activities/{activity_id}/text") + Call getText(@Path("user_id") String userId, @Path("activity_id") String activityId); + + @GET("users/{user_id}/activities/{activity_id}/updated-time") + Call getUpdatedTime(@Path("user_id") String userId, @Path("activity_id") String activityId); + + @GET("users/{user_id}/activities/last-updated-time") + Call getLastUpdatedTime(@Path("user_id") String userId, @Path("activity_id") String activityId); +} diff --git a/app/src/main/java/com/example/tampopo_client/viewmodels/ActivityViewModel.java b/app/src/main/java/com/example/tampopo_client/viewmodels/ActivityViewModel.java new file mode 100644 index 0000000..2f7d914 --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/viewmodels/ActivityViewModel.java @@ -0,0 +1,21 @@ +package com.example.tampopo_client.viewmodels; + +import androidx.lifecycle.ViewModel; + +import com.example.tampopo_client.resources.ActivitiesResource; + +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; + +public class ActivityViewModel extends ViewModel { + private final Retrofit retrofit; + private final ActivitiesResource activitiesResource; + + public ActivityViewModel() { + retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/tampopo-server/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + activitiesResource = retrofit.create(ActivitiesResource.class); + } +}