Android初始篇三,Android四大组件之Service
来源:互联网 发布:淘宝客一单佣金多少 编辑:程序博客网 时间:2024/06/05 07:57
Android 四大组件 分别是:
1. activity ( 活动)
2. Service ( 服务 )
3. Broadcast Receiver ( 广播接收器 )
4. Content Provider ( 内容提供者 )
Service 服务:
1. service 概述:与Activity级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互.
2. Service 的启动有两种方式:
a) : context.startService(),
b) : context.bindService(),
3.Service 的生命周期
service 的生命周期方法比 Activity 少一些,只有 onCreate,onStart 和 onDestroy, 有两种启动 Service的方法,它们对service 生命周期不一样的,
1>. 通过context.startService()启动
启动流程是: context.startService() --> onCreate() ---> Service running ---> context.stopService() ---> onDestroy() ---> Service stop
2>.通过 context.bindService() 启动
启动流程是: context.bindService()---> onCreate() ---> onBind() ---> Service running()--->onDestroy()-----> Service stop
简单的代码:
MainActivity.Java类 和 MyService .java 类
在activity_main.xml中
<LinearLayout android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="启动" android:id="@+id/id_btn_start"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/id_btn_stop" android:text="停止"/></LinearLayout>
在MainActivity.Java类中:
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btn_start,btn_stop, btnBindService ,btnUnbind; private Intent serviceIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); serviceIntent = new Intent(this,MyService.class); btn_start = (Button) findViewById(R.id.id_btn_start); btn_stop = (Button) findViewById(R.id.id_btn_stop); btn_start.setOnClickListener(this); btn_stop.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.id_btn_start: startService(serviceIntent); break; case R.id.id_btn_stop: stopService(serviceIntent); break; } }}
在MyService .java 类 它是继续service 类的
public class MyService extends Service { @Override public IBinder onBind(Intent intent) { Log.e("--onBind---","onBind"); return null; } @Override public void onCreate() { Log.e("--onCreate---","onCreate"); super.onCreate(); } @Override public void onDestroy() { Log.e("--onDestroy---","onDestroy"); super.onDestroy(); }}
结果是
按下 启动 按钮 :
返回手机桌面还是:
重新进入 按下 停止 结果是:
以上是简单的效果,后面再修改....
- Android初始篇三,Android四大组件之Service
- Android 四大组件学习之Service三
- Android初始篇二 Android四大组件之Activity
- Android 初始篇四 Android 四大组件之BroadcastReceiver
- 谈Android四大组件之Service篇
- Android四大组件之 Service
- Android四大组件之 Service
- Android四大组件之 Service
- android四大组件之Service
- android四大组件之Service
- android四大组件之Service
- Android四大组件之Service
- Android四大组件之service
- Android四大组件之Service
- Android四大组件之 Service
- Android四大组件之Service
- Android四大组件之Service
- Android四大组件之service
- 机器学习技法-01-2-Large-Margin Separating Hyperplane
- php安全系列----CGI方式安装
- 机器学习_决策树与信息熵
- 简单的数据类型
- openstack【Kilo】入门 【准备篇】四:RabbitMQ 安装【控制节点】
- Android初始篇三,Android四大组件之Service
- Eclipse中使用Ant
- TensorFlow之二 ----- 开始使用TensorFlow
- 2017年11月16日训练笔记
- JVM虚拟机参数配置
- 世仓PLM、CAD货架结构三维设计项目启动
- Oracle sql语句执行顺序
- ITK读取,转VTK,QT显示
- 使用回调函数,模拟实现qsort(采用冒泡的方式)