桌面应用程序开发中的哪些概念(例如Java、WPF、Cocoa)最接近安卓的基本概念,如Activity、ActivityGroup和Intent?(它们之间的细微差别是什么?)
发布于 2010-08-08 03:00:33
你问这个问题我一点也不奇怪。Android编程范例与我亲身经历过的任何编程范例都有很大的不同,您第一次看到API可能会有点令人生畏。实际上,我从来没有在其他移动设备上进行过开发,但我猜Android的架构是所有现有操作系统中最严格的,而且它感觉像是许多设计会议的结果。
我能想到的一些类似的模式:
Activity在本质上等同于桌面系统中的一个窗口,但在许多方面,它也可以等同于整个应用程序。虽然安卓应用程序通常由多个Activity组成,但每个活动都有自己定义良好的生命周期和休眠/恢复自身的方法(例如onSaveInstanceState()方法)。然而,Activity绝对不等同于进程。如果你真的想了解Android进程生命周期的怪癖,请阅读javadoc活动并查看this other SO question.ActivityGroup实际上只与android.widget.TabHost一起使用。你应该像对待一个单独的Activity.ActivityGroup,上面说Activity是一个容器,它是一个容器,但是它没有孩子,也不负责布局或绘制。我想说一个更好的类比是"Activity : window ::ViewGroup : layout/container."android.app.Service == daemonDisplay.DispatcherObject将用户空间与内核空间的概念扩展到文件系统;您不仅不能访问其他应用程序的虚拟内存,而且您的应用程序也有自己的文件系统部分,没有其他用户或应用程序对其具有读/写permissions.ContentProvider来做到这一点。ContentProviders提供了一种基于查询的语法,非常类似于您在传统操作系统上可以找到的任何ODBC实现。我所能想到的与意图最接近的类比实际上是AndroidManifest.xml,否则很难找出安卓应用程序可以处理的意图。底线:安卓真的与我遇到的任何其他系统都非常不同,无论是好是坏,随着时间的推移,你将继续发现该平台的许多细微差别。你能做的最好的事情就是直接从上到下阅读开发人员指南。我已经成为一名全职Android开发人员7个月了,我每天都在学习新的东西。:-)
发布于 2010-08-08 01:32:41
相同
此外,采用任何库(不是用户界面jars),它的工作方式与J2ME不同,它只需极少的更改即可工作,后者是经过裁剪的J2SE。Android的JVM几乎等同于核心Java库。我试过Lucene,它可以在Android上工作,只需要很少的修改。
发布于 2010-08-08 01:37:09
你不能通过桌面开发来理解,因为这是移动的。
意图与事件的不同之处在于事件落在您的方法上的方式。Intents首先深入到SDK中,在处理(启动、广播、通知)之后,它将作为事件返回,因此您可以对其执行操作。
https://stackoverflow.com/questions/3431352
复制相似问题