0

내 응용 프로그램을 다시 디자인하려고하지만 최선의 방법은 확실치 않습니다.나중에 사용하기 위해 RecyclerView/Notes 저장

저는 현재 일부 운동이 포함 된 확장형 목록보기를 헤더/상위 항목으로 보유하고 있습니다. 각 운동에는 4 주를 나타내는 4 개의 하위 항목이 있습니다. 사용자가 주를 클릭하면 3 탭 조각 (월요일, 수요일 및 금요일을 나타냄)이있는 새 활동으로 사용자를 보냅니다. 이러한 조각에는 각각 리시버보기가 있으며 이는 클릭 한 항목 (사용자 정의 오브젝트)에 따라 데이터로 채워집니다. 다음은 작은 예입니다.

//RECYCLERVIEW 
    final RecyclerView rv = (RecyclerView) view.findViewById(R.id.mRecyclerMon); 
    rv.setLayoutManager(new LinearLayoutManager(this.getActivity())); 
    rv.setAdapter(new MyRecyclerAdapter(this.getActivity(), getMondayWorkout(), 1)); 

private ArrayList<Workout> getMondayWorkout() { 
    ArrayList<Workout> workout = new ArrayList<>(); 
    switch (workout3) { 
     case "w29w1": { 
      Workout workouts = new Workout(getActivity().getString(R.string.benchpress), "50", "5", bench50, false); 
      workout.add(workouts); 
      workouts = new Workout(getActivity().getString(R.string.benchpress), "60", "4", bench60, false); 
      workout.add(workouts); 

이것은 아주 작은 예입니다. 이것은 효과가 있지만 사용하기 쉽도록하고 싶습니다. 내 생각은 사용자가 운동을 선택한 다음 각 운동을 Caldroid 캘린더에 이벤트로 추가하고 운동 (예 : 월요일)을 클릭하면 이전에 리사이클 러보기에서 사용한 것과 동일한보기가 사용됩니다. 지금까지 나는이 모든 것을하는 법을 알고 있다고 믿습니다.

제 질문은 저장 기능을 구현하고 싶습니다. 따라서 사용자가 운동을 완료하면 Caldroid의 해당 날짜에 저장되고 하루의 bg 색상이 변경되어 사용자는 완료되었음을 알 수 있습니다. 나는 운동을 어떻게 저장할 수 있는지 확신 할 수 없다. 그래서 사용자는 그 날로 돌아가서 그것을 체크 아웃 할 수있다. 지금은 리사이클 러 뷰가 항상 재사용되고, 어떤 날에 따라 같은 arraylists를 재사용한다. 그들은 클릭한다. 나는 메모를하는 옵션을 추가하여 작업을 더욱 복잡하게 만듭니다.

기본적으로 사용자가 수행 한 운동을 저장하면 해당 활동의 모든 부분, 리사이클 러보기가 저장되므로 항목 (체크 표시 상태 포함) 및 해당 운동으로 촬영 한 메모

나는 sqlite를 사용하는 것에 대해 생각해 봤지만 정확히 어떻게 사용자 지정 개체가있는 ArrayList/recyclerview의 상태를 sqlite에 저장했는지 모르겠다. 그런 다음 항목이 저장되고 사용자가 클릭 한 다음 특정 날짜에

아무도 도움이 필요하거나 올바른 방향으로 나를 가리킬 수 있다면 크게 감사드립니다! 어디서부터 시작해야할지 몰라! 고마워요!

답변

0

데이터를 공유 프리 페어로 저장 한 다음 공용 getter 기능을 사용하여 다시 사용할 수 있습니다.

+0

공유 환경 설정에 대한 나의 걱정은 자신이하는 모든 운동에 대해 각 arraylist (20 개 이상 항목 포함)를 저장하는 데 다소 많은 양의 데이터가 될 수 있다는 것입니다. 몇 달 동안 공유 된 환경 설정을 위해 매우 많은 양의 데이터가 될 수 있다고 생각합니다. – LBJ33

+0

sqlite에 대해 생각해 봤지만 정확히 어떻게 sqlite에 사용자 지정 개체를 사용하여 ArrayList/recyclerview의 상태를 저장하겠습니까? – LBJ33

+0

그래, 거대한 데이터의 경우 sqlite db로 이동해야합니다. –