【发布时间】:2016-05-14 22:18:00
【问题描述】:
我目前正在尝试构建一个必须专门使用异步任务的应用程序。据我了解,无论生成的 UI 是什么,异步任务都会运行代码,但是当我看到它被实现时,它必须在 onStart、onResume 方法中实现,这些方法不可避免地与一个 Activity 相关联。不知道我是否弄错了。此外,尝试运行我的音乐播放器类,但它在声明媒体播放器时卡住了,这是从我的代码中实际有效的另一个语句的复制和粘贴。这是代码:
package mt.edu.mcast.clickermaster;
import android.media.MediaPlayer;
import android.os.AsyncTask;
public class MusicPlayer extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute(){
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
MediaPlayer player = MediaPlayer.create(this,R.raw.FluteMusic);
player.setLooping(true);
player.setVolume(1.0f,1.0f);
player.start();
return null;
}
@Override
protected void onPostExecute(Void result){
super.onPostExecute(result);
}
}
错误是“无法解析方法'create(MusicPlayer,int)”,是的,我在原始文件夹中有'FluteMusic'
我感谢任何愿意伸出援手的人:)
【问题讨论】:
-
如果您的目的是将音乐播放器与您的 UI 分开,(例如用户放下音乐应用程序并浏览网页),那么您应该使用
Service。AsyncTask似乎是一个不错的选择,但它实际上有不同的用途:)
标签: android asynchronous android-asynctask