diff --git a/app/src/main/java/com/example/citrusclient/Citrus.java b/app/src/main/java/com/example/citrusclient/Citrus.java index 06c1099..88c8126 100644 --- a/app/src/main/java/com/example/citrusclient/Citrus.java +++ b/app/src/main/java/com/example/citrusclient/Citrus.java @@ -2,10 +2,6 @@ import android.app.Application; -import com.example.citrusclient.models.Book; - -import java.util.ArrayList; - public class Citrus extends Application { //データ保存 @@ -15,7 +11,6 @@ private Integer curYear; private Integer curMonth; private Integer curDay; - private ArrayList books; //getter public String getToken(){ return token; @@ -27,7 +22,6 @@ public Integer getCurYear() {return curYear;} public Integer getCurMouth(){return curMonth;} public Integer getCurDay(){return curDay;} - public ArrayList getBook(){return books;} //setter public void setToken(String token){ @@ -40,5 +34,4 @@ public void setCurYear(Integer curYear){this.curYear = curYear;} public void setCurMonth(Integer curMonth){this.curMonth = curMonth;} public void setCurDay(Integer curDay){this.curDay = curDay;} - public void setBook(ArrayList books){this.books = books;} } diff --git a/app/src/main/java/com/example/citrusclient/rest/PublicBooksRest.java b/app/src/main/java/com/example/citrusclient/rest/PublicBooksRest.java new file mode 100644 index 0000000..7d600f9 --- /dev/null +++ b/app/src/main/java/com/example/citrusclient/rest/PublicBooksRest.java @@ -0,0 +1,22 @@ +package com.example.citrusclient.rest; + +import com.example.citrusclient.models.Book; + +import java.util.ArrayList; + +import retrofit2.Call; +import retrofit2.http.GET; +import retrofit2.http.Query; + +public interface PublicBooksRest { + @GET("public_books") + Call> getAllPublicBooks(); + + @GET("public_books/search") + + Call> searchBooksByTitleAndAccount( + @Query("search_title") String search_title, + @Query("search_account_id") String search_id, + @Query("sort_by") int sort + ); +} diff --git a/app/src/main/java/com/example/citrusclient/viewmodels/PublicBooksViewModel.java b/app/src/main/java/com/example/citrusclient/viewmodels/PublicBooksViewModel.java new file mode 100644 index 0000000..2819df4 --- /dev/null +++ b/app/src/main/java/com/example/citrusclient/viewmodels/PublicBooksViewModel.java @@ -0,0 +1,6 @@ +package com.example.citrusclient.viewmodels; + +import androidx.lifecycle.ViewModel; + +public class PublicBooksViewModel extends ViewModel { +} diff --git a/app/src/main/java/com/example/citrusclient/views/CalendarFragment.java b/app/src/main/java/com/example/citrusclient/views/CalendarFragment.java index 4fd89f9..cc44f19 100644 --- a/app/src/main/java/com/example/citrusclient/views/CalendarFragment.java +++ b/app/src/main/java/com/example/citrusclient/views/CalendarFragment.java @@ -12,6 +12,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import android.widget.LinearLayout; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; @@ -20,7 +21,9 @@ import com.example.citrusclient.models.Schedule; import com.example.citrusclient.viewmodels.ScheduleViewModel; +import java.io.ObjectInputStream; import java.util.ArrayList; +import java.util.Calendar; import java.util.List; /** @@ -86,22 +89,71 @@ private List scheduleList; ScheduleViewModel scheduleViewModel; + int month; + @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); + tableLayout = view.findViewById(R.id.calendarlayout); + Calendar calendar = Calendar.getInstance(); + month = calendar.get(Calendar.MONTH) + 1; + int date = calendar.get(Calendar.DATE); + int lastdate = calendar.getActualMaximum(Calendar.DATE); + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); + + Button nextMonth = view.findViewById(R.id.nextMonth); + Button prevMonth = view.findViewById(R.id.prevMonth); + TextView curMonth = view.findViewById(R.id.month); + curMonth.setText("" + month + "月"); + nextMonth.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + month++; + if(month > 12){ + month = 1; + } + curMonth.setText("" + month + "月"); + } + }); + + prevMonth.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + month--; + if(month < 1) { + month = 12; + } + curMonth.setText("" + month + "月"); + } + }); + + for(int i = 0; i < 6; i++) { tableRows[i] = (TableRow) tableLayout.getChildAt(i); for(int j = 0; j < 7; j++) { - RecyclerView recyclerView = new RecyclerView(requireContext());//RecyclerView.LayoutParams.MATCH_PARENT + LinearLayout layout = new LinearLayout(requireContext()); + layout.setOrientation(LinearLayout.VERTICAL); + + TextView textView = new TextView(requireContext()); + textView.setText("" + i); + + RecyclerView recyclerView = new RecyclerView(requireContext()); recyclerView.setLayoutManager(new LinearLayoutManager(view.getContext())); - recyclerView.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT)); + recyclerView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); List schedules = new ArrayList<>(); schedules.add(new Schedule("abc", "3232", "yyyy", 0, 1)); + schedules.add(new Schedule("123", "3232", "yyyy", 0, 2)); recyclerView.setAdapter(new MyScheduleAdapter(schedules)); - TableRow.LayoutParams p = (TableRow.LayoutParams) recyclerView.getLayoutParams(); + LinearLayout.LayoutParams p = (LinearLayout.LayoutParams) recyclerView.getLayoutParams(); p.weight = 1; - tableRows[i].addView(recyclerView); + + layout.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT)); + TableRow.LayoutParams p2 = (TableRow.LayoutParams) layout.getLayoutParams(); + p2.weight = 1; + layout.addView(textView); + layout.addView(recyclerView); + tableRows[i].addView(layout); } } } @@ -119,13 +171,13 @@ } @NonNull @Override - public MyScheduleAdapter.MyScheduleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + public MyScheduleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.a_calendar_schedule, parent, false); return new MyScheduleViewHolder(view); } @Override - public void onBindViewHolder(@NonNull MyScheduleAdapter.MyScheduleViewHolder holder, int position) { + public void onBindViewHolder(@NonNull MyScheduleViewHolder holder, int position) { Schedule scheduleData = this.scheduleList.get(position); holder.scheduleText.setText(scheduleData.getTitle()); } diff --git a/app/src/main/java/com/example/citrusclient/views/MainActivity.java b/app/src/main/java/com/example/citrusclient/views/MainActivity.java index ea3db46..4f26114 100644 --- a/app/src/main/java/com/example/citrusclient/views/MainActivity.java +++ b/app/src/main/java/com/example/citrusclient/views/MainActivity.java @@ -26,7 +26,6 @@ public class MainActivity extends AppCompatActivity { - BooksViewModel booksViewModel; Citrus citrus; @Override @@ -43,15 +42,7 @@ citrus = (Citrus) getApplication(); - booksViewModel = new ViewModelProvider(this).get(BooksViewModel.class); - booksViewModel.getBookLiveData().observe(this, new Observer>() { - @Override - public void onChanged(HashMap integerBookHashMap) { - citrus.setBook(new ArrayList<>(integerBookHashMap.values())); - } - }); - - showFragment(new MyBookshelfFragment()); +// showFragment(new HomeFragment()); setNavViewEvent(); @@ -66,6 +57,8 @@ private void setNavViewEvent(){ BottomNavigationView navView = findViewById(R.id.bottomNavigationView); + navView.setSelectedItemId(R.id.home); + showFragment(new HomeFragment()); navView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { diff --git a/app/src/main/java/com/example/citrusclient/views/MyBookshelfFragment.java b/app/src/main/java/com/example/citrusclient/views/MyBookshelfFragment.java index 606bfbf..b7f9039 100644 --- a/app/src/main/java/com/example/citrusclient/views/MyBookshelfFragment.java +++ b/app/src/main/java/com/example/citrusclient/views/MyBookshelfFragment.java @@ -128,12 +128,16 @@ booksViewModel.getBookLiveData().observe(getViewLifecycleOwner(), new Observer>() { @Override public void onChanged(HashMap integerBookHashMap) { - bookList = new ArrayList<>(integerBookHashMap.values()); + if(integerBookHashMap != null){ + bookList = new ArrayList<>(integerBookHashMap.values()); + }else{ + bookList = new ArrayList<>(); + } bookAdapter.setBooks(bookList); } }); - booksViewModel.loadBooks("bird", "xyz"); + booksViewModel.loadBooks(accountId, token); } diff --git a/app/src/main/res/layout/a_calendar_schedule.xml b/app/src/main/res/layout/a_calendar_schedule.xml index dd2b441..6b230e3 100644 --- a/app/src/main/res/layout/a_calendar_schedule.xml +++ b/app/src/main/res/layout/a_calendar_schedule.xml @@ -2,13 +2,14 @@ + android:layout_height="wrap_content"> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index df65e07..785db3b 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -28,9 +28,10 @@ android:background="#BAE4C3" android:minHeight="50dp" app:itemHorizontalTranslationEnabled="false" - app:itemIconSize="50dp" + app:itemIconSize="30dp" app:itemIconTint="@drawable/bottom_navigation_item_state" - app:itemPadding="100dp" + app:itemPaddingBottom="0dp" + app:itemPaddingTop="-50dp" app:itemTextAppearanceActiveBoldEnabled="true" app:itemTextColor="@drawable/bottom_navigation_item_state" app:menu="@menu/bottom_navigation_item" /> diff --git a/app/src/main/res/layout/fragment_calendar.xml b/app/src/main/res/layout/fragment_calendar.xml index d19d10e..4de690d 100644 --- a/app/src/main/res/layout/fragment_calendar.xml +++ b/app/src/main/res/layout/fragment_calendar.xml @@ -8,106 +8,104 @@ tools:context=".views.CalendarFragment"> +