使用的AsyncTask来调用Android的一个函数 [英] Use asynctask to call a function in android

查看:119
本文介绍了使用的AsyncTask来调用Android的一个函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如下code显示我有一个名为函数记录()我要调用该函数的AsyncTask,但我不知道如何使用AsyncTask的工作,录音功能需要很长的做一些工作,所以我需要使用asynktsak。

 公共类记录延伸活动{

    MediaPlayer的熔点;
    字符串名称;

    公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.record);

    熔点为新的MediaPlayer();

    记录();

}

公共无效记录(){
    。
    。
    。
  }
}
 

解决方案

试试这个 -

 公共类记录延伸活动{

        MediaPlayer的熔点;
        字符串名称;

        公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.record);
        熔点为新的MediaPlayer();
        新的任务1()执行()。

    }


任务1级扩展的AsyncTask<虚空,虚空,字符串> {

            @覆盖
            在preExecute保护无效()
            {
            super.on preExecute();
            }
            @覆盖
            保护字符串doInBackground(空...为arg0)
            {
               //记录方法
            }

            @覆盖
            保护无效onPostExecute(字符串结果)
            {
                super.onPostExecute(结果);

            }
        }
    }
 

As below code shows I have a function named record() I want to call this function with asynctask but I do not know how to work with asynctask, record function takes long to do some tasks so I need to use 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() {
    .
    .
    .
  }
}

解决方案

Try this-

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

            }
        }
    }

这篇关于使用的AsyncTask来调用Android的一个函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆