Awesome. Thanks Bob! This has been very informative. I will pursue this route :)
On Apr 16, 11:47 pm, Bob Kerns <[email protected]> wrote: > You are 100% on the right track; this calls for a service. > > As for what happens when your activity is no longer running -- well, > let's consider that. > > First, if your activity is simply no longer the current activity -- > the user may have pressed Home, for example -- he may switch back to > it. You'd like to have actually made some progress in the meantime -- > especially if he left because he was tired of waiting for the > transfer. You probably want to let the transfer continue until > onDestroy() is called on your Activity, at which point you can stop > the service. > > If your activity is truly gone -- well, would that information be > useful if he started up your program again later? If so, you might > want to consider allowing the transfer to finish, and caching the > result. In this model, the activity's onDestroy() method leaves the > service alone, and the service calls stopSelf() when it's done. Next > time it's started for this purpose, it can check for the cached data > and immediately supply that. > > If caching is inappropriate, and you want it to only run when the > Activity is still alive, then use bindServce() instead of > startService(), and unbind the service in the Activity's onDestroy(). > The Service can track how many bindings are active, and exit early out > of its loop reading the data. You couldn't do any better than this at > stopping the activity even if you were doing it in the Activity > anyway. > > On Apr 16, 9:57 pm, patbenatar <[email protected]> wrote: > > > > > > > Hey all- > > > I've run into an interesting little issue.. My loader Activity fetches > > data from a web API, starting an http request and waiting for the > > result.. Now what if the user flips their phone mid-http request? The > > Activity is destroyed and restarted, thus the http request restarts as > > well. The fact that my Activity is being destroyed on orientation > > change is all good by me, I understand the way Android works, I'm just > > looking for a solution to avoid restarting the http request on every > > orientation change.. > > > I'm thinking the solution would be Services... I could run a Service > > in the background to do the http request and when it finishes, call > > back to my Activity and let it handle the data and finish up. The one > > thing I'm a bit weirded out about is what if the user closes my app > > before the Service's http request finishes? What will it do with the > > data if the Activity that needs it is no longer running? > > > Thoughts, feedback, ideas, etc would be great! > > > Thanks, > > Nick > > > -- > > You received this message because you are subscribed to the Google > > Groups "Android Developers" group. > > To post to this group, send email to [email protected] > > To unsubscribe from this group, send email to > > [email protected] > > For more options, visit this group > > athttp://groups.google.com/group/android-developers?hl=en > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group > athttp://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

