diff --git a/app/src/main/java/com/example/citrusclient/rest/BooksRest.java b/app/src/main/java/com/example/citrusclient/rest/BooksRest.java index 47ba3ef..420da7f 100644 --- a/app/src/main/java/com/example/citrusclient/rest/BooksRest.java +++ b/app/src/main/java/com/example/citrusclient/rest/BooksRest.java @@ -28,7 +28,7 @@ //本の新規作成 @FormUrlEncoded @POST("accounts/{account_id}/books") - Call createBook( + Call> createBook( @Path("account_id") String account_id, @Field("title") String title, @Field("color") String color, @@ -46,7 +46,7 @@ //本の削除 @DELETE("accounts/{account_id}/books/{book_id}") - Call deleteBook( + Call> deleteBook( @Path("account_id") String account_id, @Path("book_id") Integer book_id, @Query("token") String token diff --git a/app/src/main/java/com/example/citrusclient/viewmodels/BooksViewModel.java b/app/src/main/java/com/example/citrusclient/viewmodels/BooksViewModel.java index 784795f..cbf3f2a 100644 --- a/app/src/main/java/com/example/citrusclient/viewmodels/BooksViewModel.java +++ b/app/src/main/java/com/example/citrusclient/viewmodels/BooksViewModel.java @@ -20,64 +20,52 @@ private final Retrofit retrofit; private final BooksRest booksRest; private final MutableLiveData> booksLiveData; - private final MutableLiveData> booksIdLiveData; private final MutableLiveData titleLiveData; private final MutableLiveData colorLiveData; private final MutableLiveData publicityLiveData; private final MutableLiveData favoritedLiveData; - private final MutableLiveData errorLiveData; - private final MutableLiveData successDeleteBookLiveData; - private final MutableLiveData delBookErrorLivedata; - public BooksViewModel(MutableLiveData> booksIdLiveData) { + public BooksViewModel() { this.retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/citrus/") .addConverterFactory(JacksonConverterFactory.create()) .build(); this.booksRest = retrofit.create(BooksRest.class); this.booksLiveData = new MutableLiveData<>(); - this.booksIdLiveData = booksIdLiveData; this.titleLiveData = new MutableLiveData<>(); this.colorLiveData = new MutableLiveData<>(); this.publicityLiveData = new MutableLiveData<>(); this.favoritedLiveData = new MutableLiveData<>(); - this.errorLiveData = new MutableLiveData<>(); - this.successDeleteBookLiveData = new MutableLiveData<>(); - this.delBookErrorLivedata = new MutableLiveData<>(); } public MutableLiveData> getBookLiveData() { return this.booksLiveData;}//本の一覧を返す - public MutableLiveData> getBooksIdLiveData() {return this.booksIdLiveData;}//本の情報を取得 public MutableLiveData getTitleLiveData() {return this.titleLiveData;}//本のタイトルを返す public MutableLiveData getPublicityLiveData() {return this.publicityLiveData;}//本の公開状態を返す - - public MutableLiveData getSuccessDeleteBookLiveData() {return successDeleteBookLiveData;} - public void createBook(String accountId, String title, String color, Boolean publicity, String token ){ - Call call = booksRest.createBook(accountId , title, color, publicity, token); + Call> call = booksRest.createBook(accountId , title, color, publicity, token); - call.enqueue(new Callback() { + call.enqueue(new Callback>() { @Override - public void onResponse(Call call, Response response) { + public void onResponse(Call> call, Response> response) { if(response.isSuccessful()) { + HashMap book = response.body(); + booksLiveData.setValue(book); System.out.println("success!" + response.body()); }else { System.out.println("fail"); - errorLiveData.setValue(parseStatusCode(response.code())); + parseStatusCode(response.code()); } } - @Override - public void onFailure(Call call, Throwable t) { - + public void onFailure(Call> call, Throwable t) { + System.out.println("NetWorkError" + t); } }); - } - public void loadBooks(String account_id, String token){ - Call> call = booksRest.getBooks(account_id, token); + public void loadBooks(String accountId, String token){ + Call> call = booksRest.getBooks(accountId, token); call.enqueue(new Callback>() { @Override @@ -91,19 +79,21 @@ @Override public void onFailure(Call> call, Throwable t) { - System.out.println("fail"); + System.out.println("NetWorkError" + t); } }); } - public void deleteBook(String account_id, Integer book_id, String token){ - Call call = booksRest.deleteBook(account_id, book_id, token); + public void deleteBook(String accountId, Integer bookId, String token){ + Call> call = booksRest.deleteBook(accountId, bookId, token); - call.enqueue(new Callback() { + call.enqueue(new Callback>() { @Override - public void onResponse(Call call, Response response) { + public void onResponse(Call> call, Response> response) { if (response.isSuccessful()) { - successDeleteBookLiveData.setValue(true); + HashMap book = response.body(); + book.remove(bookId); + booksLiveData.setValue(book); System.out.println("DELETE"); } else { System.out.println("response error"); @@ -111,32 +101,20 @@ } @Override - public void onFailure(Call call, Throwable t) { + public void onFailure(Call> call, Throwable t) { System.out.println("correspondence error" + t); } }); } - /*private void deleteBookLiveData(String account_id, Integer book_id) { - HashMap delData = new HashMap<>(); - for (Book book: booksLiveData.getValue()) { - if (book.getBookId().equals(book_id)) { - continue; - } - delData.add(book); - } - booksLiveData.setValue(delData); - }*/ - - public void setTitle(String account_id, Integer book_id, String title, String token){ - Call call = booksRest.putTitle(account_id, book_id, title, token); + public void setTitle(String accountId, Integer bookId, String title, String token){ + Call call = booksRest.putTitle(accountId, bookId, title, token); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()){ titleLiveData.setValue(title); - System.out.println(response.code()); System.out.println("Success SetTiTle" + title); } else { System.out.println("response error"); @@ -150,15 +128,14 @@ }); } - public void setColor(String account_id, Integer book_id, String color, String token){ - Call call = booksRest.putColor(account_id, book_id, color, token); + public void setColor(String accountId, Integer bookId, String color, String token){ + Call call = booksRest.putColor(accountId, bookId, color, token); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()){ colorLiveData.setValue(color); - System.out.println(response.code()); System.out.println("Success SetTiTle" + color); } else { System.out.println("response error"); @@ -172,8 +149,8 @@ }); } - public void setPublicity(String account_id, Integer book_id, Boolean publicity, String token){ - Call call = booksRest.putPublicity(account_id, book_id, publicity, token); + public void setPublicity(String accountId, Integer bookId, Boolean publicity, String token){ + Call call = booksRest.putPublicity(accountId, bookId, publicity, token); call.enqueue(new Callback() { @Override @@ -181,7 +158,6 @@ if (response.isSuccessful()){ String pub = String.valueOf(publicity); publicityLiveData.setValue(pub); - System.out.println(response.code()); System.out.println("Success SetTiTle" + publicity); } else { System.out.println("response error"); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 82849ee..64fa823 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -7,10 +7,22 @@ android:layout_height="match_parent" tools:context=".views.MainActivity"> + + - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_my_bookshelf_fragment.xml b/app/src/main/res/layout/fragment_my_bookshelf_fragment.xml index c509835..4bee557 100644 --- a/app/src/main/res/layout/fragment_my_bookshelf_fragment.xml +++ b/app/src/main/res/layout/fragment_my_bookshelf_fragment.xml @@ -12,7 +12,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_marginRight="30dp" - android:layout_marginBottom="100dp" + android:layout_marginBottom="150dp" android:clickable="true" android:src="@drawable/baseline_add_24" /> @@ -20,7 +20,6 @@ android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="61dp" - android:layout_marginTop="70dp" android:background="#C6F6A9" android:gravity="center" android:text="My本棚" @@ -31,15 +30,16 @@ android:id="@+id/searchView" android:layout_width="match_parent" android:layout_height="32dp" - android:layout_marginTop="140dp" + android:layout_gravity="top" + android:layout_marginTop="70dp" android:iconifiedByDefault="false" /> \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 43584e4..d38c25c 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,6 +1,6 @@ -