Hi all,

I have an activity updating the GUI with data coming from a socket.

In my activity I implemented an Handler:

    int REFRESH = 1;
    final Handler hRefresh = new Handler(){ 
    @Override
    public void handleMessage(Message msg) {
        Integer i1;
        Integer i2;
        i1 = msg.arg1;
        i2 = msg.arg2;
        
        ... update a widget (in my example a button background)  

    }
    };
    

Then I start a thread polling the socket for new data and I define a Map
with some function, which are called depending on the incoming data:

           allServerActions.put(
                        ami.serverId,
                        new IntIntFunction() {
                            public int function(int i1, int i2) { 

                                Message msg = Message.obtain(hRefresh, 1, 
i1, i2);
                                hRefresh.sendMessage(msg); 
                                
                                return 0;
                            } // end function
                        } // end new                
                    ); // end put

Where IntIntFunction is:

interface IntIntFunction {
      int function(int i1, int i2);
}

The socket thread works correctly, but after 1/2 minutes the main activity 
dies,
with the followin logging: 

I/ActivityManager(  555): Process my.test.testxml1 (pid 650) has died.
D/Zygote  (  529): Process 650 terminated by signal (11)
I/WindowManager(  555): WIN DEATH: Window{522dbc30 
my.test.testxml1/my.test.testxml1.Testxml1 paused=false}
W/UsageStats(  555): Unexpected resume of com.android.launcher while already 
resumed in my.test.testxml1
I/asset   (  555): Creating Asset 0x10279a90 #5
W/InputManagerService(  555): Got RemoteException sending setActive(false) 
notification to pid 650 uid 10020

I suppose I'm doing something wrong in the interazione between the 2 
threads: from the documentation
I read I understood that the correct way is to use Handlers for such a task.

Am I correct? do you see any error in my implementation?
Is there any other way to implement an activity whose interface is updated 
by data coming from a socket?

thanks
giammy 

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