使用asynctask来调用android中的函数

时间:2013-10-08 12:06:29

标签: android android-asynctask

如下面的代码所示我有一个名为record()的函数我想用asynctask调用这个函数但是我不知道如何使用asynctask,记录函数需要很长时间才能完成一些任务所以我需要使用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() {
    .
    .
    .
  }
}

3 个答案:

答案 0 :(得分: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);

            }
        }
    }

答案 1 :(得分:1)

制作AsyncTask班级并在那里编写代码并通过AsyncTask

致电new AsyncTaskClass().execute();班级

答案 2 :(得分:0)

请尝试以下代码供您参考。

public void record(){

   new AsyncTask<Void, Void, Void() {

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

            }


}.execute();
  }