其他分享
首页 > 其他分享> > Android学习之服务初体验

Android学习之服务初体验

作者:互联网

•概念

  • Service作为安卓的四大组件之一,固然是每一位安卓开发者必须掌握的一个知识点
  • 虽然它没有Activity的使用频繁,但也是日常开发经常用到的
  • 通过名字我们知道,它是服务的意思,而且通常是"默默"的为我们服务的
  • 为什么说是默默,因为它并不像Activity一样,能够被我们看到
  • 通常,它用于在后台为我们执行一些耗时,或者需要长时间执行的一些操作的

•基本用法

定义一个服务

  新建一个 ServiceTest 项目,然后右击  com.example.servicetest->New->Service->Service ;

  会弹出如下图所示的窗口:

 

  可以看到,这里我们将服务命名为 MyService(由于我之前创建过,所以左下角提示名字重复):

  •  exported :表示是否允许除了当前程序之外的其他程序访问这个服务

    • 如果设置为 true,则能够被调用或交互,通常如果一个服务需要跨进程使用需要这么设置,否则不能
    • 设置为 false 时,只有同一个应用程序的组件或带有相同用户 ID 的应用程序才能启动或绑定该服务
  •  enabled :指该服务是否能够被实例化

    • 如果设置为 true,则能够被实例化,否则不能被实例化,默认值是 true
    • 一般情况下,我们都会需要实例化,所以也可以选择不设置

  现在观察 MyService 中的代码,如下所示:

public class MyService2 extends Service {
    public MyService2() {
    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
    }
}

  可以看到,MyService 是继承自 Service 类的,说明这是一个服务;

  目前,MyService 中可以算是空空如也,但有一个  onBind()  方法特别醒目,

  这个方法是 Service 中唯一的一个抽象方法,所以必须要在子类里实现,后面会提及该方法的用法;

 

 

 

标签:初体验,服务,Service,学习,MyService,实例,Android,true,public
来源: https://www.cnblogs.com/hyacinthLJP/p/14591479.html