【发布时间】:2017-03-01 22:54:00
【问题描述】:
我是 android 开发新手,我正在努力学习正确的术语。
活动、服务、广播接收器和内容提供者是类还是类实例(对象)?
(根据书籍或教程,我已经看到称为类或对象的活动)。
【问题讨论】:
标签: android terminology
我是 android 开发新手,我正在努力学习正确的术语。
活动、服务、广播接收器和内容提供者是类还是类实例(对象)?
(根据书籍或教程,我已经看到称为类或对象的活动)。
【问题讨论】:
标签: android terminology
Android是基于Java的,而Activity、Services、Broadcast Receivers都是继承了Common Root class Object的类。
因此,您可以使用这些类实现所有面向对象的编程概念。
下面是Android系统中Activity的层次结构,同样适用于其他系统。
public class Activity
extends ContextThemeWrapper implements LayoutInflater.Factory2,
Window.Callback, KeyEvent.Callback, View.OnCreateContextMenuListener, ComponentCallbacks2
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
有关更多信息,您可以查看 developers.android.com
【讨论】:
Activity 是在前台运行的类。Services 是在后台运行的类(通常没有 UI),它从 Service 类扩展而来。广播接收器是在某些事件被触发时监听某些事件的类,例如启动完成、充电完成其他一切。 简而言之,它们都是类
【讨论】:
简而言之,它们都是。
Android 中的类(以及一般的 Java)是您功能的蓝图,而该类的实例是具体化身,拥有它自己的非静态成员变量版本。这通常是新手困惑的根源,因为您的 Activity 子类会为每个设备配置(旋转、语言更改等)获取一个新实例。
不过,这是一个非常广泛的问题。一个广泛的答案将需要很多很多段的文字。我建议阅读 Java 关于类和对象的基础知识。
【讨论】: