SwipeRefreshLayout обновляющий список RecyclerView c БД на PhpMyAdmin

Поместил RecyclerView в SwipeRefreshLayout, но не знаю как правильно написать в Javaфайле команду, чтобы при свайпе вверх, список обновлялся, то есть, на PhpMyAdmin в БД я изменил какую-нибудь надпись, чтобы эта надпись обновилась у меня в приложении, нужно полностью пере зайти в приложение. Мне нужно чтобы если я поменял данные в БД, простым свайпом мог обновить список в RecyclerView.

public class MainActivity extends AppCompatActivity{
    List<ItemSkatingRinkSchedule_2> mSkatingRinkScheduleList;
    RecyclerView recyclerView;

    RecyclerView.LayoutManager recyclerViewlayoutManager;
    RecyclerView.Adapter recyclerViewadapter;
    String HTTP_JSON_URL = "http://qqqqqqqqq.mcdir.ru/Subjects.php";
    String GET_JSON_FROM_SERVER_NUMBER = "session_number";
    String GET_JSON_FROM_SERVER_START = "session_start";
    String GET_JSON_FROM_SERVER_END = "session_end";
    String GET_JSON_FROM_SERVER_WEEKDAYS = "weekdays";
    String GET_JSON_FROM_SERVER_WEEKDAYS_AND_HOLIDAYS = "weekends_and_holidays";
    JsonArrayRequest jsonArrayRequest;
    RequestQueue requestQueue;
    View ChildView;
    int GetItemPosition;
    ArrayList<String> SubjectNames;

    private SwipeRefreshLayout mSwipeRefreshLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mSkatingRinkScheduleList = new ArrayList<>();
        recyclerView = findViewById(R.id.recyclerView1);
        recyclerView.setHasFixedSize(true);
        recyclerViewlayoutManager = new LinearLayoutManager(this);
        recyclerView.setLayoutManager(recyclerViewlayoutManager);
        SubjectNames = new ArrayList<>();
        JSON_DATA_WEB_CALL();
        recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
            final GestureDetector gestureDetector = new GestureDetector(MainActivity.this, new GestureDetector.SimpleOnGestureListener() {

                @Override
                public boolean onSingleTapUp(MotionEvent motionEvent) {
                    return true;
                }

            });
            @Override
            public boolean onInterceptTouchEvent(@NonNull RecyclerView Recyclerview, @NonNull MotionEvent motionEvent) {
                ChildView = Recyclerview.findChildViewUnder(motionEvent.getX(), motionEvent.getY());
                if (ChildView != null && gestureDetector.onTouchEvent(motionEvent)) {
                    GetItemPosition = Recyclerview.getChildAdapterPosition(ChildView);

                }
                return false;
            }
            @Override
            public void onTouchEvent(@NonNull RecyclerView Recyclerview, @NonNull MotionEvent motionEvent) {
            }
            @Override
            public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
            }
        });

        mSwipeRefreshLayout = findViewById(R.id.ref);
        mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                JSON_DATA_WEB_CALL();
                mSwipeRefreshLayout.setRefreshing(false);
            }


        });


    }

    public void JSON_DATA_WEB_CALL() {
        jsonArrayRequest = new JsonArrayRequest(HTTP_JSON_URL,this::JSON_PARSE_DATA_AFTER_WEBCALL,
                error -> {

                });
        requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(jsonArrayRequest);
    }

    public void JSON_PARSE_DATA_AFTER_WEBCALL(JSONArray array) {
        for (int i = 0; i < array.length(); i++) {
            ItemSkatingRinkSchedule_2 GetDataAdapter2 = new ItemSkatingRinkSchedule_2();
            JSONObject json;
            try {
                json = array.getJSONObject(i);
                GetDataAdapter2.set_session_number(json.getString(GET_JSON_FROM_SERVER_NUMBER));
                GetDataAdapter2.set_session_start(json.getString(GET_JSON_FROM_SERVER_START));
                GetDataAdapter2.set_session_end(json.getString(GET_JSON_FROM_SERVER_END));
                GetDataAdapter2.set_weekdays(json.getString(GET_JSON_FROM_SERVER_WEEKDAYS));
                GetDataAdapter2.set_weekends_and_holidays(json.getString(GET_JSON_FROM_SERVER_WEEKDAYS_AND_HOLIDAYS));
                SubjectNames.add(json.getString(GET_JSON_FROM_SERVER_NUMBER));
                SubjectNames.add(json.getString(GET_JSON_FROM_SERVER_START));
                SubjectNames.add(json.getString(GET_JSON_FROM_SERVER_END));
                SubjectNames.add(json.getString(GET_JSON_FROM_SERVER_WEEKDAYS));
                SubjectNames.add(json.getString(GET_JSON_FROM_SERVER_WEEKDAYS_AND_HOLIDAYS));

            } catch (JSONException e) {

                e.printStackTrace();
            }
            mSkatingRinkScheduleList.add(GetDataAdapter2);
        }
        recyclerViewadapter = new AdapterSkatingRinkSchedule_2((ArrayList<ItemSkatingRinkSchedule_2>) mSkatingRinkScheduleList);
        recyclerView.setAdapter(recyclerViewadapter);
        Objects.requireNonNull(recyclerView.getAdapter()).notifyDataSetChanged();
    }
}

Ответы (0 шт):