How to change AsyncTask to RxJava

I have this code, and I don’t know how to change it to RxJava 2. This code is help me take JSON from Google API and get for me Location (Latitude and Longitude ). Please help me:

class DownloadLocal extends AsyncTask<String,Void,String> {

    @Override
    protected String doInBackground(String... strings) {
        StringBuilder stringBuilder = new StringBuilder();
        try {
            URL url = new URL(strings[0]);
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            httpURLConnection.connect();

            InputStream inputStream = httpURLConnection.getInputStream();
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));

            String line;

            while ((line = bufferedReader.readLine()) != null){
                stringBuilder.append(line+"n");
            }



        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return stringBuilder.toString();
    }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        String address = "";
        try {
            JSONObject jsonObject = new JSONObject(s);
            JSONArray results = jsonObject.getJSONArray("results");
            for (int i =0 ;i<results.length();i++){
                JSONObject object = results.getJSONObject(i);
                address = object.getString("formatted_address");
                JSONObject geometry = object.getJSONObject("geometry");
                JSONObject location = geometry.getJSONObject("location");
                latitude = (double) location.get("lat");
                longitude = (double) location.get("lng");
            }
            if(address == null ){
                Toast.makeText(getActivity(),"Can't get Address !!! Try Again ...", Toast.LENGTH_SHORT).show();
                return;
            }
            else{
                googleMap.clear();
                String link = "https://maps.googleapis.com/maps/api/directions/json?origin=" + locationNow.getLatitude() + "," + locationNow.getLongitude()
                        + "&destination=" + latitude+ "," + longitude +"&key=APIKEY";
                LatLng latLng = new LatLng(locationNow.getLatitude(),locationNow.getLongitude());
                MarkerOptions markerOptions = new MarkerOptions();
                markerOptions.position(latLng);
                markerOptions.title("Me");

                googleMap.addMarker(markerOptions);
                Location locationPoint = new Location("");

                locationPoint.setLatitude(latitude);
                locationPoint.setLongitude(longitude);
                double distance = locationNow.distanceTo(locationPoint)/1000;
                txtdistance.setText(String.format("%.3f",distance)+" km");
                LatLng latLngPoint = new LatLng(latitude,longitude);
                MarkerOptions markerOptionsPoint = new MarkerOptions();
                markerOptionsPoint.position(latLngPoint);
                markerOptionsPoint.title("Point");
                googleMap.addMarker(markerOptionsPoint);
                CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLngPoint,14);
                googleMap.moveCamera(cameraUpdate);
                mapPresenter.DislayStreet(googleMap,link);
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

I don’t know how to change this code. I don’t understand about RxJava !!! If you have some tutorial please give it to me. I want to learn about RxJava for my work.