/********************************************************************************************
* author:conowen@大钟
* E-mail:conowen@hotmail.com
* http://blog.csdn.net/conowen
* 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。
********************************************************************************************/
1、首先service如windows下面的服务是差不多的,没有用户界面,只是在后台工作。
2、看一下service的继承关系
3、service本身不能自己启动,要调用其他方法才能启动service。有如下两种方法
a、Context.startService()
使用这个方法时,service与启动者是没有关系的,只是单纯的启动service,若启动者退出了,service依旧在后台运行。
(如音乐播放,即使退出了程序,音乐还在播放着)
b、Context.bindService()
使用此方法时,顾名思义,就是把启动者与service绑定在一起了,启动者退出,service也跟着停止。
4、service的生命周期
a、采用startService()方法启动的服务,只能调用stopService()方法结束服务,服务结束时会自动调用onDestroy()方法。
b、采用bindService()方法启动的服务,可以调用unbindService()方法来解绑,调用该方法时,也会同时导致系统自动调用服务的onUnbind()和onDestroy()方法.
Service的生命周期方法比Activity少,只有onCreate, onStart, onDestroy 。
5、简单音乐播放例子
MP3文件在res目录下的raw目录里面,拖动mp3文件进去即可。(raw为自己新建)
文件格式为mp3和ogg,文件名为0~9或者a~z,比特率最好低于或等于320kps
第二个class为service的处理方法,通过复写各种service方法实现不同的功能。
效果图:
6、
注:第二个java文件
继承的是Service,则要在AndroidManifest里面开启Service
若第一个java文件继承的是Activity,则AndroidManifest里面为
/********************************************************/
对于每多一次点击“播放”按钮时,音乐就多播放一个。(都是同一个音乐,但是播放起步时间不同)
可以把player.start()方法置于onCreate里面,这样就算多次点击“播放”按钮,也没事。因为Service的onCreate的方法只会被调用一次。
如下代码所示(只有“播放”与“停止功能”)并没有加入绑定与解绑
onStart方法不用写出
分享到:
相关推荐
Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...
Android学习笔记——获取网络图片并显示
之前博文《 Android学习笔记之——Android Studio的安装(3.6版本)、Java的基本语法及Android的概述 》曾经介绍过android有四大组件。本博文学习一下Content Providers(内容提供器) 目录 Android运行时 ...
Android开发者学习笔记——View、Canvas、bitmap
Android Training学习笔记——Navigation 参考源码,文章地址:http://blog.csdn.net/xroocky/article/details/50804762
——————————————————————————————————————————————
Android Training学习笔记——App Bar 参考源码,文章地址:http://blog.csdn.net/xroocky/article/details/50612401
Android Training学习笔记——Navigation 参考源码,文章地址:http://blog.csdn.net/xroocky/article/details/50767844
Android Training学习笔记——Navigation 参考源码,文章地址:http://blog.csdn.net/xroocky/article/details/50767844
Talend学习笔记2——mysql文件导入到HDFS
zigbee学习笔记2——添加自己的任务 网络层数据服务
Android Training学习笔记——Navigation 参考源码,文章地址:http://blog.csdn.net/xroocky/article/details/50767844
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...
此篇Android学习笔记的源码主要内容: 1.使用WebView控件加载网页 2.使用ImageView控件加载网络图片
《Spring技术内幕》学习笔记2——IoC定位Bean定义资源 《Spring技术内幕》学习笔记3——IoC容器载入Bean定义资源文件 《Spring技术内幕》学习笔记4——IoC容器解析Bean定义资源并注册解析后的Bean 《Spring技术...
学习笔记之——基于pytorch的FSRCNN 把我的代码上传了,后续有更正会更新这个代码