《利用Service制作音乐播放器.doc》由会员分享,可在线阅读,更多相关《利用Service制作音乐播放器.doc(9页珍藏版)》请在金锄头文库上搜索。
1、利用Service制作音乐播放器的步骤:(1)新建工程music,包名:com.music,Activity的名字:MusicActivity。(2) 在res/layout/main.xml中写入如下代码: (3) 放入音乐资源。在res下新建文件夹raw,在该文件夹中发如音乐文件:如:poker_face.mp3注意:a.若新建文件夹名字不为raw,会出错 b音乐文件的名字必须是:az09_.组成,不能有大写字母。(4) 编写MusicActivity,源代码为:package com.music;import android.app.Activity;import android.con
2、tent.ComponentName;import android.content.Context;import android.content.Intent;import android.content.ServiceConnection;import android.os.Bundle;import android.os.IBinder;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import an
3、droid.widget.Toast;public class MusicActivity extends Activity /为日志工具设置标签 private static String TAG = MusicService; /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); /输出Toast消息和
4、日志记录 Toast.makeText(this, MusicServiceActivity, Toast.LENGTH_SHORT).show(); Log.e(TAG, MusicServiceActivity); initlizeViews(); private void initlizeViews() Log.e(initlizeviews, 初始化界面); Button btnStart = (Button)findViewById(R.id.startMusic); Button btnStop = (Button)findViewById(R.id.stopMusic); But
5、ton btnBind = (Button)findViewById(R.id.bindMusic); Button btnUnbind = (Button)findViewById(R.id.unbindMusic); Log.e(MusicActivity, 获得组件ID号); /定义点击监听器 OnClickListener ocl = new OnClickListener() Override public void onClick(View v) /显示指定 intent所指的对象是个 service Log.e(MusicActivity, 点击了启动按钮); Intent in
6、tent = new Intent(MusicActivity.this,MusicService.class); switch(v.getId() case R.id.startMusic: /开始服务 Log.e(MusicActivity, 即将启动服务); startService(intent); Log.e(MusicActivity, 启动完毕); break; case R.id.stopMusic: /停止服务 Log.e(MusicActivity, 即将停止服务); stopService(intent); Log.e(MusicActivity, 停止完毕); brea
7、k; case R.id.bindMusic: /绑定服务 Log.e(MusicActivity, 绑定服务); bindService(intent, conn, Context.BIND_AUTO_CREATE); Log.e(MusicActivity, 绑定完毕); break; case R.id.unbindMusic: /解绑服务 Log.e(MusicActivity, 解除绑定服务); unbindService(conn); Log.e(MusicActivity, 解除完毕); break; ; /绑定点击监听 btnStart.setOnClickListener(o
8、cl); btnStop.setOnClickListener(ocl); btnBind.setOnClickListener(ocl); btnUnbind.setOnClickListener(ocl); /定义服务链接对象 final ServiceConnection conn = new ServiceConnection() Override /Toast.LENGTH_SHORT大概显示时间为1秒, / Toast.LENGTH_LONG大概显示时间为3秒 public void onServiceDisconnected(ComponentName name) Toast.makeText(MusicActivity.this, MusicActivity onSeviceDisconnected , Toast.LENGTH_SHORT).show(); Log.e(TAG, MusicActivity onSeviceDisconnected); Override public void onServ