首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从桌面开发的角度理解Android概念

从桌面开发的角度理解Android概念
EN

Stack Overflow用户
提问于 2010-08-08 01:23:08
回答 3查看 1.9K关注 0票数 6

桌面应用程序开发中的哪些概念(例如Java、WPF、Cocoa)最接近安卓的基本概念,如Activity、ActivityGroup和Intent?(它们之间的细微差别是什么?)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-08 03:00:33

你问这个问题我一点也不奇怪。Android编程范例与我亲身经历过的任何编程范例都有很大的不同,您第一次看到API可能会有点令人生畏。实际上,我从来没有在其他移动设备上进行过开发,但我猜Android的架构是所有现有操作系统中最严格的,而且它感觉像是许多设计会议的结果。

我能想到的一些类似的模式:

  • An Activity在本质上等同于桌面系统中的一个窗口,但在许多方面,它也可以等同于整个应用程序。虽然安卓应用程序通常由多个Activity组成,但每个活动都有自己定义良好的生命周期和休眠/恢复自身的方法(例如onSaveInstanceState()方法)。然而,Activity绝对不等同于进程。如果你真的想了解Android进程生命周期的怪癖,请阅读javadoc活动并查看this other SO question.
  • An ActivityGroup实际上只与android.widget.TabHost一起使用。你应该像对待一个单独的Activity.
  • Someone一样对待一个ActivityGroup,上面说Activity是一个容器,它是一个容器,但是它没有孩子,也不负责布局或绘制。我想说一个更好的类比是"Activity : window ::ViewGroup : layout/container."
  • android.app.Service == daemon
  • “与大多数UI框架一样,所有UI操作都发生在单个线程(”UI线程“)上,并且有一些实用程序方法可以让您将特定的代码块排入队列,以便在UI线程上异步执行。这类似于WPF的Display.
  • Android或SWT的DispatcherObject将用户空间与内核空间的概念扩展到文件系统;您不仅不能访问其他应用程序的虚拟内存,而且您的应用程序也有自己的文件系统部分,没有其他用户或应用程序对其具有读/写permissions.
  • If。您确实希望为其他应用程序提供对您的应用程序私有数据存储的访问权限,您可以使用ContentProvider来做到这一点。ContentProviders提供了一种基于查询的语法,非常类似于您在传统操作系统上可以找到的任何ODBC实现。我所能想到的与意图最接近的类比实际上是
  • 。就像OS应用程序向脚本引擎公开某些方法一样,Android应用程序可以处理“意图”,这是一种高级的IPC。这里的主要区别是,苹果脚本应用程序通过“脚本字典”公开它们的脚本元素,而除非你可以查看应用程序的AndroidManifest.xml,否则很难找出安卓应用程序可以处理的意图。

底线:安卓真的与我遇到的任何其他系统都非常不同,无论是好是坏,随着时间的推移,你将继续发现该平台的许多细微差别。你能做的最好的事情就是直接从上到下阅读开发人员指南。我已经成为一名全职Android开发人员7个月了,我每天都在学习新的东西。:-)

票数 9
EN

Stack Overflow用户

发布于 2010-08-08 01:32:41

  • 事件:现在有两个,事件和意图。有了意图,任何人都可以订阅行为,而不是registering.
  • Desktop小部件与android小部件(有许多限制)

相同

此外,采用任何库(不是用户界面jars),它的工作方式与J2ME不同,它只需极少的更改即可工作,后者是经过裁剪的J2SE。Android的JVM几乎等同于核心Java库。我试过Lucene,它可以在Android上工作,只需要很少的修改。

票数 0
EN

Stack Overflow用户

发布于 2010-08-08 01:37:09

你不能通过桌面开发来理解,因为这是移动的。

  • Activity=Form/Container
  • ActivityGroup使用频率较低或根本不使用
  • Intents是一种发布软件操作的应用编程接口网关,意图是系统将进一步处理它(最终它将由事件的代码处理)

意图与事件的不同之处在于事件落在您的方法上的方式。Intents首先深入到SDK中,在处理(启动、广播、通知)之后,它将作为事件返回,因此您可以对其执行操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3431352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档