异步操作

来源:互联网 发布:振动数据采集器 编辑:程序博客网 时间:2024/06/05 20:19

实现异步操作三步的步骤:


创建AsyncTask的子类, 并为三个泛型参数指定类型。如果摸泛型参数不需要指定类型,则可将它指定为Void.


       更具需求,实现AsyncTask的如下方法:


                       doInBackground(Params...):重写该方法就是后台线程将要完成的任务。 该方法可以调publishProgress(Progress... values)方法更新任务的执行进。


                       onProgressUpdate(Progress... values):在 doInBackground()方法中调用publishProgress()方法更新任务的执行进度后,将会触发该方法。


                       onPreExecute():该方法将在执行后台耗时操作前被调用。通常该方法用于完成一些初始化工作,比如在界面上显示进度条等。


                       onPostExceute(Result result):当DoInBackground()完成后,系统会自动调用onPostExecute()方法,并将doInBackground()方法的返回值创给该方法。调用AsyncTask()子类的实例的execute(Params... params)开始执行耗时操作。



使用AsyncTask时必须遵循如下规则:


             a.必须在UI线程中创建AsyncTask的实例


             b.必须在UI线程中调用AsyncTask的execute()方法


             c.AsyncTask onPreExecute(),onPostExceute(Resultresult),doInBackground(Params...),onProgressUpdate(Progress... values)方法,不应该有程序员代码调用,而是有Android系统负责调用。


           d.每个AsyncTask只能被执行一次,多次调用将会引发异常。


0 0
原创粉丝点击