2

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

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() {
    .
    .
    .
  }
}
4

3 回答 3

3

试试这个-

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

            }
        }
    }
于 2013-10-08T12:33:55.307 回答
1

制作AsyncTask课程并在那里编写代码并通过以下方式调用您的AsyncTask课程new AsyncTaskClass().execute();

于 2013-10-08T12:09:52.193 回答
0

试试下面的代码供您参考。

公共无效记录(){

   new AsyncTask<Void, Void, Void() {

@Override
            protected void doInBackground(Void... params) {
}
Override
            protected void onPostExecute(ArrayList<HashMap<String, String>> result) {

            }


}.execute();
  }
于 2013-10-08T12:13:18.957 回答