diff --git a/.idea/misc.xml b/.idea/misc.xml index ce729fb..9b3af12 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -17,7 +17,7 @@ - + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 299c5f8..bc3d70f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,10 +20,11 @@ tools:targetApi="31" android:usesCleartextTraffic="true"> - tools:targetApi="31"> + android:exported="true" + android:label="@string/title_activity_shop_create"> + deletePost( @Path("sid") String sid, - @Path("uid") String uid, @Path("pid") String pid, @Field("token") String token diff --git a/app/src/main/java/com/example/nemophila/viewmodels/AccountViewModel.java b/app/src/main/java/com/example/nemophila/viewmodels/AccountViewModel.java index b8d13de..42479b7 100644 --- a/app/src/main/java/com/example/nemophila/viewmodels/AccountViewModel.java +++ b/app/src/main/java/com/example/nemophila/viewmodels/AccountViewModel.java @@ -1,11 +1,14 @@ package com.example.nemophila.viewmodels; import com.example.nemophila.entities.Account; +import com.example.nemophila.entities.Post; import com.example.nemophila.resources.AccountsRest; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; +import java.util.Collection; + import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -18,23 +21,26 @@ private final AccountsRest accountsRest; // ライブデータ private final MutableLiveData accountLiveData; + private final MutableLiveData> accountPostsLiveData; // コンストラクタ public AccountViewModel() { - this.accountLiveData = new MutableLiveData<>(); this.retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/nemophila/") .addConverterFactory(JacksonConverterFactory.create()) .build(); this.accountsRest = retrofit.create(AccountsRest.class); + this.accountLiveData = new MutableLiveData<>(); + this.accountPostsLiveData = new MutableLiveData<>(); } // ライブデータの取得(ゲッター) public MutableLiveData getAccountLiveData() { return accountLiveData; } + public MutableLiveData> getAccountPostsLiveData() { return accountPostsLiveData; } - // アカウント情報の取得 + // 対象のアカウント情報の取得 public void getAccount(String uid) { Call call = accountsRest.getAccount(uid); @@ -54,7 +60,7 @@ }); } - // アカウント情報の削除 + // 対象のアカウント情報の削除 public void deleteAccount(String uid) { Call call = accountsRest.deleteAccount(uid); @@ -74,7 +80,7 @@ }); } - // アカウントパスワードの変更 + // 対象のアカウントパスワードの変更 public void changePw(String uid, String oldPw, String newPw, String token) { Call call = accountsRest.changePw(uid, oldPw, newPw, token); @@ -94,7 +100,7 @@ }); } - // アカウント名の変更 + // 対象のアカウント名の変更 public void changeName(String uid, String name, String token) { Call call = accountsRest.changeName(uid, name, token); @@ -113,4 +119,44 @@ } }); } + + // 対象のアカウントがした投稿の全取得 + public void getAccountPosts(String uid) { + Call> call = accountsRest.getAccountPosts(uid); + + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + if (response.isSuccessful()) { + accountPostsLiveData.setValue(response.body()); + } else { + System.out.println("response error"); + } + } + @Override + public void onFailure(Call> call, Throwable t) { + System.out.println("correspondence error"); + } + }); + } + + // 対象のアカウントがした投稿の削除 + public void deleteAccountPost(String sid, String uid, String pid, String token) { + Call call = accountsRest.deletePost(sid, uid, pid, token); + + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) { + System.out.println("successful"); + } else { + System.out.println("response error"); + } + } + @Override + public void onFailure(Call call, Throwable t) { + System.out.println("correspondence error"); + } + }); + } } diff --git a/app/src/main/res/layout/activity_shop_create.xml b/app/src/main/res/layout/activity_shop_create.xml index 6480277..d8a164f 100644 --- a/app/src/main/res/layout/activity_shop_create.xml +++ b/app/src/main/res/layout/activity_shop_create.xml @@ -6,4 +6,16 @@ android:layout_height="match_parent" tools:context=".ShopCreateActivity"> + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 02aafa7..d95b0d2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -8,6 +8,7 @@ SignUpActivity TestActivity GpsActivity + ShopCreateActivity UserName Make a new Account Password