title: confused between syncAdapter,services,loaders,providers and asynctask?
body: <p>I am new to android and was going through the documentation and some tutorials.</p>
  
  <p><strong>Services</strong></p>
  
  <p>Developer guide says it should be used, when there is required to run a long running task in background, say music player.</p>
  
  <p><strong>Asynctask</strong></p>
  
  <p>Creates a worker thread to perform background task like getting data using <code>api</code> and then notify the UI thread on it's <code>onPostExecute()</code> callback method.</p>
  
  <p><strong>Loaders</strong></p>
  
  <p>Performs operations on separate thread, registers to the listener and notifies on data set changes.</p>
  
  <p><strong>Providers</strong> </p>
  
  <p>Share data between different apps by exposing them in the manifest file.</p>
  
  <p><strong>SyncAdapter</strong></p>
  
  <p>For synchronizing data between android device and web server.</p>
  
  <p>Theoretical wise, i understand the above concepts like what they are used for.
  I am having difficulty to put them in order like when to use what? what would be the best among them to use? In what scenarios what should be used?</p>
  
  <p>For caching, i used <code>sqlite</code> or library like <strong>volley</strong> and <strong>retrospice</strong></p>
  
  <p>As i said i am android beginner and try to understand these concepts.</p>
  
  <p>Any helps and suggestions would be appreciated.
  Thankx in advance.</p>