通过桌面开发视角了解Android概念

前端之家收集整理的这篇文章主要介绍了通过桌面开发视角了解Android概念前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
桌面应用程序开发中的哪些概念(例如 Java,WPF,Cocoa)最接近 Android的基本概念,如Activity,ActivityGroup和Intent? (它们有何不同之处有什么细微差别?)

解决方法

你问这个问题我并不感到惊讶. Android编程范例与我亲身经历的任何内容都有很大的不同,你第一次看API可能有点令人生畏.我从未实际开发过任何其他移动设备,但我认为Android拥有任何现有操作系统中最严格的架构,感觉就像许多设计会议的结果.

一些类似的模式,我可以想到我的头脑:

> Activity基本上等同于桌面系统中的窗口,但在很多方面它也可以等同于整个应用程序.虽然Android应用程序通常由多个Activity组成,但每个活动都有自己明确定义的生命周期和休眠/恢复自身的方法(例如onSaveInstanceState()方法).但是,活动绝对不等同于流程.如果您真的想了解Android进程生命周期的怪癖,请阅读Activity 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应用程序可以处理“意图”,这是一种高级别的IPC.这里的主要区别是Apple脚本化应用程序通过“脚本字典”公开其脚本元素,而很难找出Android应用程序可以处理的内容,除非您可以查看该应用程序的AndroidManifest.xml.

底线:Android与我遇到的其他任何东西都非常不同,无论好坏,平台上会有很多细微差别,你会不断发现.您可以做的最好的事情是从上到下直接阅读开发人员指南.我有7个月的时间成为一名全职的Android开发人员,而且我每天都在学习新事物.

猜你在找的Android相关文章