如下代码所示,我有一个名为record()的函数,我想用asynctask调用这个函数,但我不知道如何使用asynctask,record函数需要很长时间才能完成一些任务,所以我需要使用asynktsak。

public class Record extends Activity {

    MediaPlayer mp;
    String name;

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.record);

    mp = new MediaPlayer();

    record();

}

public void record() {
    .
    .
    .
  }
}

最佳答案

试试这个-

 public class Record extends Activity {

        MediaPlayer mp;
        String name;

        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.record);
        mp = new MediaPlayer();
        new Task1().execute();

    }


class Task1 extends AsyncTask<Void, Void, String> {

            @Override
            protected void onPreExecute()
            {
            super.onPreExecute();
            }
            @Override
            protected String doInBackground(Void... arg0)
            {
               //Record method
            }

            @Override
            protected void onPostExecute(String result)
            {
                super.onPostExecute(result);

            }
        }
    }

关于android - 使用asynctask在android中调用函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19247254/

10-09 07:12