桌面应用程序开发(例如Java,WPF,Cocoa)中的哪些概念与Android的基本概念(如Activity,ActivityGroup和Intent)最接近? (以及它们之间有什么细微差别?)通过桌面开发视角了解Android概念
6
A
回答
9
我不惊讶你问这个问题。 Android编程范例与我亲身经历的任何东西都大不相同,您首先看看API可能有点令人生畏。我从来没有真正开发任何其他移动设备,但我认为Android具有任何现有操作系统的最严格的架构,并且感觉就像许多设计会议的结果。
,我能想到的把我的头顶部一些对比模式:
- 的
Activity
基本上等同于在桌面系统中的窗口,但在许多方面,它也可以等效为一个应用程序作为一个整体。尽管Android应用程序通常由多个Activity
组成,但每个活动都有其自己明确定义的生命周期以及用于休眠/恢复自身的方法(例如,onSaveInstanceState()
方法)。但是,Activity
绝对不等同于一个过程。如果您真的想了解Android流程生命周期的怪癖,请阅读活动javadoc并查看this other SO question。 ActivityGroup
只能用于android.widget.TabHost
。你应该把ActivityGroup
看作是一个单独的Activity
。- 上面有人说
Activity
是一个容器,它是,但它没有孩子,也不负责布局或绘图。我会说一个更好的比喻是“Activity:window :: ViewGroup:layout/container”。 android.app.Service
==守护- 与大多数的UI框架,所有的UI操作发生在一个单独的线程(以下简称“UI线程”),并有实用方法,让你排队的代码一定的块被执行上UI线程异步。这与WPF的
DispatcherObject
或SWT的Display
类似。 - Android将用户空间与内核空间的思想延伸到文件系统;您不仅可以访问其他应用程序的虚拟内存,而且您的应用程序还具有其他用户或应用程序没有读/写权限的文件系统部分。
- 如果您确实想要让其他应用访问您的应用的私人数据存储,请使用
ContentProvider
。 ContentProviders提供基于查询的语法,与您在传统操作系统上可能找到的任何ODBC实现类似。 - 我能想到的Intents最接近的类比是AppleScript。就像OS X应用程序将某些方法暴露给脚本引擎一样,Android应用程序也可以处理“intents”,这是一种高级别的IPC。这里的主要区别在于Apple脚本应用程序通过“脚本字典”公开其脚本元素,而很难找出Android应用程序可以处理什么意图,除非您可以查看该应用程序的
AndroidManifest.xml
。
底线: Android是真的比什么都重要,我遇到了和,或好或坏很大的不同,会有这个平台,你会继续发现随着时间的推移很多细微差别。您可以做的最好的事情是从头开始阅读开发者指南。我成为一名全职Android开发员已经有7个月的时间了,我仍然每天都在学习新的东西。 :-)
0
- 事件:现在有两个事件和意图。任何人都可以订阅行为而不是注册。
- 桌面小窗口一样的Android小工具(有许多限制)
此外,采取任何库(不是用户界面罐),并将其与不同于J2ME最小的变化,这是修剪J2SE工作。 Android的JVM几乎等同于核心Java库。我尝试过Lucene,它在Android上的工作非常少。
0
您无法通过桌面开发了解这是移动设备。
- 活动=表单/集装箱
- 的ActivityGroup使用频率较低或完全不
- 意图是一种API网关的发行软件操作,意图,该系统将进一步处理它(到底它将最终由一个事件代码来处理)
意图与事件的不同之处在于事件落在您的方法上。 Intents首先在SDK中深入,并且在处理(开始,广播和通知)之后,它将作为事件返回,以便您可以采取行动。
相关问题
- 1. 不了解Android应用程序开发的基本概念
- 2. 了解EC2上IAM角色的概念
- 3. Rails:了解概念
- 4. 了解SurfaceHolder概念
- 5. 了解Backbone.js的概念
- 6. 了解twiter4j的概念
- 7. Nat Punchthrough了解P2P概念
- 8. 了解一些概念
- 9. 了解Java中的概念
- 10. 了解GWT-RPC概念
- 11. Iphone开发中的主页面概念
- 12. 关于桌面共享概念
- 13. Rails 3 has_many:通过概念
- 14. 通过远程桌面进行开发
- 15. 界面概念
- 16. Android webgl概念?
- 17. Android DownloadFilesTask概念
- 18. Android -Timer概念
- 19. android R.layout概念
- 20. 了解信息内容的概念
- 21. 了解MEAP概念的建议
- 22. 了解神功快照概念
- 23. 了解Canvas.onDraw()的概念问题?
- 24. 了解JavaScript中的原型概念
- 25. 了解Linux中的SMP概念
- 26. 试图了解一些Java概念
- 27. 了解小端和大端的概念
- 28. 了解SpriteKit节点的概念
- 29. 了解WebServices中的异步概念
- 30. 指南中了解OPC概念