如下面的代码所示我有一个名为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() {
.
.
.
}
}
答案 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();
}