title: Android network client implementation
body: <p>I'm writing an application that streams RTSP to a server. With the 'NetworkOnMainThreadException', I need to perform all network communication on a separate thread. I know that AsyncTask is a somewhat simplified way of performing network operations on a separate thread. However, its interface is also limited (communication between main and asynctask). Also, logically, it seems that it shouldn't be used for long-running tasks.</p>
  
  <p>There is Thread Runnable backed option. It is more flexible and complicated.</p>
  
  <p>Does it make sense to implement a client with AsyncTask or should I stick with Thread Runnable?</p>