Just make a Handler, have your thread post messages to it, and update the UI
when receiving the message.  Don't run your thread/service in another
process, that adds a whole lot more complexity for nothing you need.

On Sun, Sep 6, 2009 at 9:20 PM, pink 444 <[email protected]> wrote:

>
>
> First of all thanks for ur explanation.I have one more doubt.
>
> I have to run a thread in background till my forcing to stop it.the
> thread running in background needs to update my main activity's UI
> elements.
>
> How can i implement this . Do i need to use Services component .If it
> all that is the case , one more process is created and added to my
> application .Further i need to establish IPC between Main activity and
> the Services component to update main activity UI element data , i
> need to save Activity UI element's  data . I think ,this is a clumsy
> solution.Because simple application has lot of overhead.
>
>
> Thanks,
> -Siva.
>
>
>
> On Sep 2, 9:49 pm, Dianne Hackborn <[email protected]> wrote:
> > On Wed, Sep 2, 2009 at 5:16 AM, pink 444 <[email protected]> wrote:
> > > I got one way to solve my problem and it resembels your solution.What
> > > i did is i made my EditText as static.Whenever oncreate() is called i
> > > check EditText for previous version of instance,if at all previous
> > > EditText was there i am getting it's data using EditText's standard
> > > way EditText.getText().toString().It is working up to the mark in all
> > > three situations ,when orientation is changed, "Home" button pressed
> > > and "BACK" button is pressed.
> >
> > That is really broken, in many ways:
> >
> > - It leaks the whole activity and everything it owns (which the EditText
> is
> > part of).
> > - It fails if the system needs to kill your process after the user
> leaves.
> > - There are no guarantees about the state of a widget after its host
> window
> > has been destroyed and view hierarchy torn down.
> >
> > At the very very least, extract the data out and store only that in a
> > static.  But that still has the problem that this will not work
> > consistently, since you will lose the data whenever the system kills your
> > process (which if the user has many background things running may be
> > immediately).  You should really use something like the solution I
> > previously proposed.
> >
> > But the thing i think , i am not using properly is onSaveInstanceData
> >
> > > (),onRestoreInstanceData().Because those methods are standard
> > > ones.Moreover there should be some reason why they are there.
> >
> > They are standard ones, there for the standard flow: the user leaves the
> > activity to go somewhere else WITHOUT closing it (by pressing home, using
> > the notification panel, simply pressing a button in your activity that
> > causes it to start another), and while your activity is in the background
> > the system needs to kill its process.  Then when the user next returns to
> > it, onCreate() will be called with the previously saved instance state so
> > that they return to it in the same state as they left it (since from
> their
> > perspective, they didn't close it).
> >
> > The standard behavior of back is "close activity."  If you want to do
> > something different, you will need to do something non-standard.
> >
> > > My question is , Am i doing correct??
> >
> > No.
> >
> > > Is there any standard way to retain EditText data when "BACK" button
> > > is pressed.Why onSaveInstanceData() call back is not called when
> > > "BACK" pressed.I have seen "google" home web page on android has on
> > > "EditText" to accept data and it is retaining data in all the three
> > > senarios.
> >
> > onSaveInstanceState() is not relevant because you are trying to do
> something
> > different than the standard UI flow it supports.  The browser also does a
> > lot of special things for its navigation (pressing back all occurs in the
> > same activity for example), so it is not a good example of what the
> > -standard- behavior is.
> >
> > --
> > Dianne Hackborn
> > Android framework engineer
> > [email protected]
> >
> > Note: please don't send private questions to me, as I don't have time to
> > provide private support, and so won't reply to such e-mails.  All such
> > questions should be posted on public forums, where I and others can see
> and
> > answer them.
> >
>


-- 
Dianne Hackborn
Android framework engineer
[email protected]

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to