UserTask class is useful but in this case, if i want to fix my problem in my
code, can you help me to do that?
I really appreciate your help !
Thanks,
NPAK

On Wed, Mar 4, 2009 at 2:15 PM, Clay <claytan...@gmail.com> wrote:

>
> so just from the basic use case I dont know that I would use a
> handler, basically I really like Romain Guy's implementation for
> background user tasks that do things and then  update the screen, its
> based on his userTask implementation:
>
>
> http://code.google.com/p/apps-for-android/source/browse/trunk/Photostream/src/com/google/android/photostream/UserTask.java
>
> so to extend this, it uses generics *very wisely* so you can make any
> model you want for both the doInBackground params which returns the
> third arg, and becomes the param for onPostExecute.
>
>        /**
>     * Background task to verify the create user action. When the
> action comes back
>     * it could inform the client to sync all data if the username and
> password match
>     * or that there was a validation error like the user already
> exists, or that
>     * this is a new user and that it successfully created it.
>     *
>     */
>    private class PostActionTask extends UserTask<Object, Void,
> ActionResult> {
>        public ActionResult doInBackground(Object... params) {
>                ActionResult result =
>                        new ActionResult();
>                result.setActionStatus("FAILED");
>
>                Action actionToRun = (Action)params[0];
>
>                try {
>                        result  =
>                                RpcActionClient.executeAction(
>                                        actionToRun,
>
>  MomentaryNowApp.getString("app_momentary_now_server"),
>
>  MomentaryNowApp.getInteger("app_momentary_now_server_port"),
>
>  MomentaryNowApp.getString("app_momentary_action_endpoint")) ;
>
>                } catch (IOException e) {
>                        Log.e(TAG, "IOException:"+e.getMessage());
>                } catch (HttpException e) {
>                        Log.e(TAG, "HttpException:"+e.getMessage());
>                } catch (URISyntaxException e) {
>                        Log.e(TAG, "URISyntaxException:"+e.getMessage());
>                }
>                return result;
>        }
>
>        @Override
>        public void onPostExecute(ActionResult result) {
>                Log.d(TAG, "result:"+result.getActionStatus());
>                if(result.getActionStatus().equals("SUCCESS"))
>                {
>                        //get the progress bar to update
>                        ProgressBar progressBar =
>
>  (ProgressBar)findViewById(R.id.create_keyword_send_progress);
>                        progressBar.setVisibility(View.GONE);
>
>                        ImageView checked =
>
>  (ImageView)findViewById(R.id.create_keyword_send_toggle);
>                        checked.setVisibility(View.VISIBLE);
>
>                }
>        }
>    }
>
> secondly it is my understanding that AlarmManager is the timer
> infrastructure you would most likely use
> and that it would then call your background task.
>
>
> http://developer.android.com/guide/samples/ApiDemos/src/com/example/android/apis/app/AlarmController.html
>
> I am sure there are other ways to do this but this would be the way I
> would try if I was doing what you told me.
>
> Clay
>
>
>
> On Mar 2, 11:32 pm, "npak...@gmail.com" <npak...@gmail.com> wrote:
> > Hi all,
> > My purpose is very simple : each 1second, I want to redraw an object
> > on different place on background.
> > I do not know where my error on this code below. Hope that you can
> > show me or give me an advice to fix this problem
> >
> > Here is my code
> >
> **********************************************************************************************************************
> > public class My_View extends View{
> >
> >     private Bitmap mBackground_img;
> >     private Drawable mMoveObject;
> >     private int mObjectw,mObjecth;
> >     private int Dx,Dy;
> >
> >     private Handler myHandler = new Handler();
> >     private long lasttime;
> >     public My_View(Context context,AttributeSet ats,int ds)
> >     {
> >         super(context,ats,ds);
> >         init(context);
> >     }
> >     public My_View(Context context,AttributeSet ats)
> >     {
> >         super(context,ats);
> >         init(context);
> >     }
> >     public My_View(Context context)
> >     {
> >         super(context);
> >         init(context);
> >     }
> >
> > public void change()
> >     {
> >         invalidate();
> >     }
> > private void init(Context context)
> >     {
> >         Resources res     = context.getResources();
> >         mMoveObject        = res.getDrawable
> > (R.drawable.lander_firing);
> >         mBackground_img = BitmapFactory.decodeResource(res,
> > R.drawable.my_pic);
> >         mObjectw = mMoveObject.getIntrinsicWidth();
> >         mObjecth = mMoveObject.getIntrinsicHeight();
> >         Dx = Dy  = 0;
> >
> >         lasttime = System.currentTimeMillis() + 1000;
> >         Thread mthread = new Thread(null,doBackground,"Background");
> >         mthread.start();
> >     }
> >     private Runnable doBackground = new Runnable()
> >     {
> >         public void run()
> >         {
> >             long now = System.currentTimeMillis();
> >             if(lasttime < now )
> >             {
> >                 Dx = Dx + 10;
> >                 Dy = Dy + 10;
> >                 lasttime = now + 1000;
> >                 myHandler.post(change_view);
> >              }
> >         }
> >     };
> >     private Runnable change_view = new Runnable()
> >     {
> >         public void run()
> >         {
> >             change();
> >         }
> >     };
> >     @Override
> >     public void onDraw(Canvas canvas)
> >     {
> >         canvas.drawBitmap(mBackground_img,0 ,0 , null);
> >         mMoveObject.setBounds(Dx, Dy, Dx+mObjectw, Dy+mObjecth);
> >         mMoveObject.draw(canvas);
> >     }}
> >
> >
> **********************************************************************************************************************
> > Hope to see your reply soon,
> > Thanks in advance,
> > NPAK
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to