服务是一段代码的后台执行。

无法处理,也不是螺纹,但它是在进程和线程的执行。

Android该服务与Activity不同,不能与用户交互,无法启动自己。

媒体播放服务。当用户退出媒体选择用户界面,不过我希望音乐依然能够继续打,这是服务Service来保证当用户界面关闭时音乐继续播放。当我们某个应用的数据是通过网络获取的,不同一时候间的数据是不同的,这时我们能够用Service在后台定时更新。而不用每次打开应用的时候去获取。



实例:ServiceDemo

执行效果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSGFuVGFuZ1NvbmdNaW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">



代码清单:

AndroidManifest.xml

<?

xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.rainsong.servicedemo"
android:versionCode="1"
android:versionName="1.0"> <uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19" /> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<activity android:name="MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".MyService" />
</application>
</manifest>

布局文件:main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button android:id="@+id/btn_start"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Start Service" />
<Button android:id="@+id/btn_stop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Stop Service" />
</LinearLayout>

Java源码文件:MainActivity.java

package com.rainsong.servicedemo;

import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class MainActivity extends Activity
{
Button btn_start;
Button btn_stop; OnClickListener listener_start;
OnClickListener listener_stop; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main); listener_start = new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MyService.class);
startService(intent);
}
};
listener_stop = new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MyService.class);
stopService(intent);
}
}; btn_start = (Button)findViewById(R.id.btn_start);
btn_start.setOnClickListener(listener_start); btn_stop = (Button)findViewById(R.id.btn_stop);
btn_stop.setOnClickListener(listener_stop);
}
}

Java源码文件:MyService.java

package com.rainsong.servicedemo;

import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
import android.widget.Toast;
import android.util.Log; public class MyService extends Service {
@Override
public IBinder onBind(Intent i) {
return null;
} @Override
public boolean onUnbind(Intent i) {
return false;
} @Override
public void onCreate() {
Toast.makeText(this, "Service onCreate", Toast.LENGTH_SHORT).show();
} @Override
public void onStart(Intent i, int startId) {
Toast.makeText(this, "Service onStart", Toast.LENGTH_SHORT).show();
} @Override
public void onDestroy() {
Toast.makeText(this, "Service onDestroy", Toast.LENGTH_SHORT).show();
} }

版权声明:本文博客原创文章,博客,未经同意,不得转载。

最新文章

  1. hg 的使用简介
  2. URL,URI和URN的理解
  3. 数据结构杂谈(二)简单有趣的地精排序Gnome sort
  4. csharp: Flash Player play *.flv file in winform
  5. int型整数的数值范围
  6. 匿名函数和Lambda表达式
  7. C#基础:集合
  8. 剖析C语言中a=a+++++a的无聊问题
  9. STM32之------独立看门狗(IWDG)和窗体看门狗(WWDG)
  10. eclipse proxy
  11. SSH相关知识
  12. 第四次团队作业:社团申请App
  13. vue2.0 事件处理常用修饰符-----------------记录,加强记忆。
  14. dfs(通过控制点的编号来得出每个点的坐标)
  15. 2018-2019-2 网络对抗技术 20165230 Exp5 MSF基础应用
  16. {python之协程}一 引子 二 协程介绍 三 Greenlet 四 Gevent介绍 五 Gevent之同步与异步 六 Gevent之应用举例一 七 Gevent之应用举例二
  17. &lt;转载&gt; 58到家数据库设计规范
  18. pc端美化select,jquery获取select中的option的text值
  19. python 学习笔记一——Python安装和IDLE使用
  20. hdu 4587(割点的应用)

热门文章

  1. LEAVE LIST-PROCESSING和LEAVE TO LIST-PROCESSING事件的作用
  2. Servlet的学习之Response响应对象(3)
  3. js / ajax 成功提交后怎么跳转到另外一个页面?
  4. Firemonkey 自定义Button的Style
  5. perl 使用cookie
  6. 浅析innodb_support_xa与innodb_flush_log_at_trx_commit
  7. uva 1151 - Buy or Build poj 2784 Buy or Build(最小生成树)
  8. WSDL中文版——详解
  9. thinkphp 3.2.3 入门示例2(URL传参数的几种方式)
  10. 算法起步之Dijkstra算法