为了账号安全,请及时绑定邮箱和手机立即绑定

Android攻城狮的第二门课(第3季)

难度初级
时长 6小时 0分
学习人数
综合评分9.57
162人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.3 逻辑清晰
  • ContentProvider大纲
    查看全部
  • Service常用方法
    查看全部
    0 采集 收起 来源:Servie概述

    2015-06-29

  • UNBind的时候不能多次调用,否则出错
    查看全部
    0 采集 收起 来源:Bind启动

    2015-06-29

  • start方式的启动时:第一次创建Service需要调用onCreate(),而后调用onStartCommand(),不管调用了多少次的onStartCOmmand(),停止的时候只调用一次onDestroy();
    查看全部
    0 采集 收起 来源:Start启动

    2015-06-29

  • 两种启动方式的特点
    查看全部
    0 采集 收起 来源:Servie概述

    2015-06-29

  • Service两种启动方式的生命周期
    查看全部
    0 采集 收起 来源:Servie概述

    2015-06-29

  • Service 的两种类型以及启动关闭服务的方法
    查看全部
    0 采集 收起 来源:Servie概述

    2015-06-29

  • Service概述
    查看全部
    0 采集 收起 来源:Servie概述

    2015-06-29

  • StartService和BindService 1. StartService启动后启动源和Service没有关系,BindService调用bindService()启动service后启动源和Service相关,在退出activity之前必须要调用unbindService()取消绑定。 2. startService()和bindService()可以混合使用。如果我们想要Activity退出了,但是服务还在继续,那么我们就要选用startService的方式来启动服务,如果我们想要在Activity中获取Service对象,那么我们需要用bindService方法结合ServiceConnection来启动Service,但是这种方法,由于将Service和Activity绑定在了一起,所以当Activity退出的时候,我们需要unbindService()来停掉Service,否则就会报错。
    查看全部
    0 采集 收起 来源:Bind启动

    2015-06-28

  • BindService 通过bindService()得到的Service是和启动源(Activity)绑定在一起的,在Activity退出的时候需要调用unbindService()进行解绑定(停止)。 调用bindService()时会调用到目标Service的onBind()函数,通过IBinder接口实例,返回一个ServiceConnection对象给启动源。然后启动源可以通过ServiceConnection对象得到启动的Service对象 1. 使用方法: (1)重写onBind()方法 public IBinder onBind(Intent intent) { return new MyBinder(); } (2)MyBinder是继承自Binder类的,而Binder类实际上实现了IBinder接口 public class MyBinder extends Binder{ public MyBindService getService(){ return MyBindService.this; //返回这个Service的实例 } } (3)在启动源的Activity中创建一个ServiceConnection实例 ServiceConnection conn = new ServiceConnection() { //当启动源跟service的连接意外丢失的时候会调用 //比如service崩溃了,或被强行杀死了 public void onServiceDisconnected(ComponentName name) { } //当启动源跟service成功连接之后会调用这个方法 public void onServiceConnected(ComponentName name, IBinder service) { // TODO Auto-generated method stub MyBindService myService = ((MyBinder)service).getService(); } }; (4)bindService()中指定ServiceConnection conn参数 bindService(intent2, conn, Service.BIND_AUTO_CREATE);
    查看全部
    0 采集 收起 来源:Bind启动

    2015-06-28

  • StartService 1. 使用方法: (1)写一个MyStartService继承自Service,重写它的各种方法onCreate()、onStartCommand()、onDestory() (2)在AndroidManifest.xml中注册这个Service (3)在主线程Activity中通过startSerice(intent)方式启动 (4)通过stopService(intent)方式停止 2. 关于StartService (1)启动方式是通过启动intent方式实现 (2)启动之后该Service和启动源没有关系,即使主线程退出了,service还会继续运行
    查看全部
    0 采集 收起 来源:Start启动

    2015-06-26

  • Service的特点 1. Start方式的特点: Service启动后就与启动源没有关系了。 2. Bind方式的特点: 可以通过IBinder接口实例来得到ServiceConnection对象给启动源
    查看全部
    0 采集 收起 来源:Servie概述

    2015-06-24

  • Service的启动和生命周期 1. 左边是通过startService()开启service,右边是通过bindService() 2. 左边 (1)onStartCommand()之后service就会运行,可以通过启动源调用stopService()来停止service (2)stopService的调用会调用onDestroy() 3. 右边 (1)bindService()会自动调用onCreate() (2)可以通过unbindService()来unbind这个service,然后onUnbind()会自动被调用
    查看全部
    0 采集 收起 来源:Servie概述

    2015-06-24

  • Service 1. 定义: 后台运行,不可见没有界面 优先级高于activity 一般service不会被系统干掉,就算被干掉了也会自启 注意: 运行在主线程,不能用它来做耗时的操作。可以在service中开辟一个线程来做耗时操作(handler,synctask) 2. 分类(如图) 本地服务和远程服务 数据的操作都要通过定义IBinder接口来实现
    查看全部
    0 采集 收起 来源:Servie概述

    2015-06-24

  • BroadcastReceiver——有序广播 1. 发送一个有序广播 Intent intent2 = new Intent(); intent2.putExtra("msg", "this is a ordered broadcast"); intent2.setAction("Broadcast_one"); //设置一个filter sendOrderedBroadcast(intent2, null); //发送一个有序广播 2. 有序广播可以被截断,也可以在中间被处理 利用Bundle类就可以处理广播 Bundle bundle = new Bundle(); bundle.putString("xzhang76", "Broadcast has been processed in Receiver1"); //xzhang76是对应的key,后面是value setResultExtras(bundle); 下一个接收者接收前面已经处理的广播: Bundle bundle = getResultExtras(true); String msg = bundle.getString("xzhang76"); //从对应的key中得到数据 BroadcastReceiver——异步广播 1. 就是说接收广播是异步的,可以先发送广播,再注册接收者。 sendStickyBroadcast(intent3); 动态注册一个接收者 IntentFilter intentFilter = new IntentFilter("Broadcast_Three"); //设置过滤 MyBroadcastReceiver3 receiver3 = new MyBroadcastReceiver3(); registerReceiver(receiver3, intentFilter); 这就意味着广播是粘性的。 注意:异步广播也是不能截断的。 4. 注意一点 动态注册的接收者需要在程序结束时销毁掉 unregisterReceiver(receiver3);
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Android开发课程的中后期部分,学习之前要求对一些知识点有一定的了解: 1、已经掌握了Java基础 2、已经熟悉或者了解Android中的监听事件原理 3、已经熟悉或者了解一种以上的数据库,并掌握基本的SQL语句
老师告诉你能学到什么?
1、初步掌握Android手势识别的原理以及实际使用 2、初步掌握Android的数据存储方式 3、深度了解Android中的组件 4、熟悉了解Android常用的系统服务并对服务的使用有新的认识

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!