HttpClient Tutorial to Upload and Download with Your App
Developers wanting to interact with the Internet need to choose a package to do the heavy lifting for them. A very common route is to use the built-in HttpClient. The documentation is fairly complete, but it’s a daunting to get started if you’ve never used the package before.
Take a look at the HttpClient tutorial that JFrankie recently posted. I find his presentation very approachable for the beginner, yet he doesn’t hesitate to move on to the more complex subjects. The guide starts off with a few lines of code used to open a connection, and quickly covers the first gotcha. HttpClient shouldn’t be run in the UI thread, as it presents a blocking function (you don’t know how long it’s going to be before the server answers back). Android will throw an error automatically if you try to do this.
He goes on to wrap the code in an AsyncTask class. This lets it run in a separate thread, launching a method when its work is complete. Most likely you’re looking to download something, a topic which is well covered in the guide. JFrankie wraps up the post by explaining the steps necessary to upload using the HTTP multipart request protocol.
He publicized his article in a Reddit thread, where he also participated in a discussion of the memory leak potential of using AsyncTask. It’s some advice you may want to heed as you build your app around the HttpClient.