Thank you Jon.

Cheers

On 30 October 2012 02:05, Jonathan Pryor <[email protected]> wrote:

> That approach sounds good to our docs team.
>
>  - Jon
>
> On Oct 29, 2012, at 2:43 PM, Goncalo Oliveira <[email protected]> wrote:
>
> > Hi all,
> >
> > I'm having this dilemma on Activity/Service "binding" that I don't quite
> know what is the best way to achieve.
> > Here's a common scenario...
> >
> > We have an activity named LoginActivity. This activity has two fields,
> username and password.
> > The authentication operation consists in making a web request, and
> processing the result. Visually, we want to display a nice progress bar
> while we wait.
> >
> > That's it. Pretty common.
> > Obviously, we want to consider things like the activity getting paused
> or the screen orientation changing.
> >
> > After reading the docs and going through a few forums, I came up with a
> solution.
> >
> > First, the dialog issue. If the screen orientation changes, the view is
> destroyed and recreated, so the dialog just disappears (and worse, it's
> lost in space - leaks).
> > What I did was to keep a reference to the progress dialog shown. I
> retain a flag stating that the progress dialog is visible by overriding the
> OnRetainNonConfigurationInstance. I also make sure I dismiss the dialog
> when the activity gets trashed (destroyed). When the new view gets created,
> I recover the flag and show a new progress dialog. This works well.
> > There were other methods, like configChanges, but I didn't want to
> handle the view resources myself, so this seemed like a good and clean
> approach.
> >
> > Now for the operation, I created a service to handle it. More
> specifically an IntentService. The request is done in background, and when
> done, I send a broadcast with the result. Because the activity might pause
> (or trashed), I send a sticky intent broadcast, to make sure it reaches its
> destination. When received, I clear up the sticky intent.
> >
> > This works quite well...
> > Though I was happy with the result, I questioned if this was the best
> approach. Some defend that using sticky intents is evil, even though I do a
> very assertive use. Some say that service binding is a better approach,
> though I don't know if it can be used with an IntentService and it seems
> like an awful lot of trouble for such a simple task (maybe I'm just not
> looking correctly).
> >
> > So, any thoughts on this approach and on best practices for
> accomplishing this are greatly appreciated.
> > Cheers.
> >
> >
> > --
> > Gonçalo Oliveira
> > _______________________________________________
> > Monodroid mailing list
> > [email protected]
> >
> > UNSUBSCRIBE INFORMATION:
> > http://lists.ximian.com/mailman/listinfo/monodroid
>
> _______________________________________________
> Monodroid mailing list
> [email protected]
>
> UNSUBSCRIBE INFORMATION:
> http://lists.ximian.com/mailman/listinfo/monodroid
>



-- 
Gonçalo Oliveira
_______________________________________________
Monodroid mailing list
[email protected]

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to