Networking is part of probably 99 percent of mobile apps nowadays: we always need to connect to a remote server to retrieve the information we need in our app.
As a first approach to networking, we are going to create a new scenario in which we are going to:
Load a progress bar
Start a file download using a button
Update the progress bar during the download
Start the video player after the download is completed
Our user interface will be very simple. We will just need a fancy progress bar and a DOWNLOAD button.
First of all, we will create mDownloadProgress
:
private PublishSubject<Integer>mDownloadProgress = PublishSubject.create();
This is the subject that we are going to use to manage the progress bar updates. This subject works together with the download
function:
private boolean downloadFile(String source, String destination) { boolean result = false; InputStream input = null; OutputStream output = null; HttpURLConnection connection = null; try { ...