From f5d5711581bc838b4a4e8067bc0474b56437f430 Mon Sep 17 00:00:00 2001 From: Vietanh Le Trung <vietanh.le.trung@ericsson.com> Date: Sun, 25 Nov 2018 03:01:53 +0100 Subject: [PATCH] minden perzisztens --- .../viet/posseidon/MainActivity.java | 5 ++- .../viet/posseidon/SubjectActivity.java | 35 ++++++++++++++++++- .../viet/posseidon/adapter/EventAdapter.java | 6 ++++ 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/MainActivity.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/MainActivity.java index cf55070..10bab13 100644 --- a/app/src/main/java/com/ireallydontcare/viet/posseidon/MainActivity.java +++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/MainActivity.java @@ -51,14 +51,13 @@ public class MainActivity extends AppCompatActivity "subject-list" ).build(); - subjectRecyclerView = (RecyclerView) findViewById(R.id.SubjectRecyclerView); // use this setting to improve performance if you know that changes // in content do not change the layout size of the RecyclerView subjectRecyclerView.setHasFixedSize(true); - loadItemsInBackground(); + // use a linear layout manager subjectLayoutManager = new LinearLayoutManager(this); @@ -69,7 +68,7 @@ public class MainActivity extends AppCompatActivity subjectAdapter = new SubjectAdapter(this); subjectRecyclerView.setAdapter(subjectAdapter); - + loadItemsInBackground(); } @Override diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java index 7efda5d..69fb00d 100644 --- a/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java +++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java @@ -1,6 +1,7 @@ package com.ireallydontcare.viet.posseidon; import android.app.DatePickerDialog; +import android.arch.persistence.room.Room; import android.os.AsyncTask; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; @@ -12,12 +13,14 @@ import android.support.v7.widget.Toolbar; import android.view.View; import com.ireallydontcare.viet.posseidon.adapter.EventAdapter; +import com.ireallydontcare.viet.posseidon.data.EventDatabase; import com.ireallydontcare.viet.posseidon.fragments.NewDialogEventFragment; import com.ireallydontcare.viet.posseidon.fragments.NewDialogSubjectFragment; import com.ireallydontcare.viet.posseidon.model.Event; import com.ireallydontcare.viet.posseidon.model.Subject; import java.util.Calendar; +import java.util.List; public class SubjectActivity extends AppCompatActivity implements NewDialogEventFragment.NewEventDialogListener { @@ -29,6 +32,10 @@ public class SubjectActivity extends AppCompatActivity private RecyclerView eventRecyclerView; private EventAdapter eventAdapter; private RecyclerView.LayoutManager eventLayoutManager; + private EventDatabase database; + + + @Override protected void onCreate(Bundle savedInstanceState) { @@ -49,6 +56,8 @@ public class SubjectActivity extends AppCompatActivity eventRecyclerView = (RecyclerView) findViewById(R.id.EventRecyclerView); eventRecyclerView.setHasFixedSize(true); + + eventLayoutManager = new LinearLayoutManager(this); @@ -57,6 +66,13 @@ public class SubjectActivity extends AppCompatActivity eventAdapter = new EventAdapter(); eventRecyclerView.setAdapter(eventAdapter); + database = Room.databaseBuilder( + getApplicationContext(), + EventDatabase.class, + "event-list" + ).build(); + + loadItemsInBackground(); } @Override @@ -65,7 +81,7 @@ public class SubjectActivity extends AppCompatActivity @Override protected Event doInBackground(Void... voids) { - //newItem.id = database.SubjectDao().insert(newItem); + database.EventDao().insert(eventitem); return eventitem; } @@ -75,4 +91,21 @@ public class SubjectActivity extends AppCompatActivity } }.execute(); }; + + private void loadItemsInBackground(){ + new AsyncTask<Void, Void, List<Event>>() { + + @Override + protected List<Event> doInBackground(Void... voids) { + List<Event> events = database.EventDao().getAllBySubject(subjectId); + return events; + + } + + @Override + protected void onPostExecute(List<Event> events) { + eventAdapter.update(events); + } + }.execute(); + } } diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java index f6adef2..69a76ac 100644 --- a/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java +++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java @@ -71,4 +71,10 @@ public class EventAdapter extends RecyclerView.Adapter<EventAdapter.EventViewHol events.add(Event); notifyItemInserted(events.size() - 1); } + + public void update(List<Event> events){ + this.events.clear(); + this.events.addAll(events); + notifyDataSetChanged(); + } } -- GitLab