How to use RxJava instead of AsyncTask to load data?

Viewed 74

I am using AsyncTask for loading data, data comes from server, but due to so much data I want to load data on a background thread.

Here is my code

  private void loadData() {

  new AsyncTask<Void, ArrayList<DataModel>, ArrayList<DataModel>>() {
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            DialogHelper.showProgress(MyActivity.this);
        }

        @Override
        protected ArrayList<DataModel> doInBackground(Void... voids) {
            try {

                return MyParser.parseData(jsonDataAsResultFromServer);

            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(ArrayList<DataModel> list) {
            super.onPostExecute(list);

            DialogHelper.hideProgress();

            if (list.size() > 0) {

                myAdapter = new MyAdapter(MyActivity.this);
                myAdapter.addAll(list);
                recyclerview.setAdapter(myAdapter);              
            }
        }
    }.execute();

}

0 Answers
Related