Android 活动本质上是应用程序的文件/页面吗?
在决定是否创建活动时,我是否应该这样看待它 当然!没有义务在您的应用程序中包含活动,因为您的应用程序只能包含一个服务。。。除非你愿意,否则不需要进入AIDL 问题是,如何使应用程序运行。当您使用活动创建应用程序时,您在清单中添加了一个意图过滤器,该过滤器使活动可从启动器启动。如果没有活动,你必须找到另一种方式开始 不过,这很容易做到。只需从其他程序中激发一个意图,如下所示:Android 活动本质上是应用程序的文件/页面吗?,android,Android,在决定是否创建活动时,我是否应该这样看待它 当然!没有义务在您的应用程序中包含活动,因为您的应用程序只能包含一个服务。。。除非你愿意,否则不需要进入AIDL 问题是,如何使应用程序运行。当您使用活动创建应用程序时,您在清单中添加了一个意图过滤器,该过滤器使活动可从启动器启动。如果没有活动,你必须找到另一种方式开始 不过,这很容易做到。只需从其他程序中激发一个意图,如下所示: startService(new Intent("my.service.intent")); <servi
startService(new Intent("my.service.intent"));
<service android:name=".SomeService" >
<intent-filter>
<action android:name="my.service.intent"/>
</intent-filter>
。。。服务注册到您的清单中,如下所示:
startService(new Intent("my.service.intent"));
<service android:name=".SomeService" >
<intent-filter>
<action android:name="my.service.intent"/>
</intent-filter>
当然,如果应用程序和服务之间确实需要复杂的API,那么startService
和broadcastIntent
就有点笨重了。如果您需要更丰富的内容,您将需要查看AIDL和绑定服务。一本书与一个应用程序(或任何程序)的比较过于狭隘。最好将应用程序与冰山进行比较
冰山的冰山一角(可见部分)就是活动,简单地说,就是眼睛能看到的东西
冰山的底部(在水中的部分)是底层代码、后台线程(进程,例如线程、服务…),简单地说,用户不知道的事情。这是许多安卓开发人员提出和争论的问题,多年来观点不断演变,但根据你问的人,你仍然会得到主观的回答。活动可能是以这种方式开始的——作为封装构成更大任务一部分的特定页面的一种方式——因此它们的模型是堆栈 更“现代”的观点——这是谷歌Android开发人员的自以为是的观点——将单个(或更多)活动视为系统事件的挂钩,以及实现实际页面的一组片段的容器。这让我想起了单页web应用程序是如何构建的。您可以在此处了解更多信息: 如果你正在寻找一个初始的观点,那是一个很好的起点,你可以从那里发展自己的观点
我倾向于持中间立场。我倾向于将我的应用程序分为多个功能部分(例如设置向导、用户管理、主页等),每个功能部分通常都有一个活动,其中包含多个表示页面的片段否。活动是管理屏幕上当前视图的对象。我认为这是一个更高级的问题答案。不过,如果他遇到服务,这将有助于他理解服务。我认为活动是一个工作流。它可以映射到一个页面,可以映射到多个页面(通过片段或其他方法),也可以映射到多个页面(例如,显示抽象数据类型的活动)。