在最近的一个问题中,我问过我被引导到这个网站:http://developer.android.com/design/index.html
令人惊叹的网站,但它没有回答一个特定问题:在应用程序代码设计中应用哪些最佳实践/设计模式?
我对MVC / MVP等进行了查找,虽然这会产生结果,但它只是关于所述模式的实际实现,而不是其他可用的选项等。
我尝试反编译和分析Android安装的各种应用程序,例如Market,但我无法在Google的代码中找到结构。有没有人有关于如何以可维护,可扩展等方式设置Android应用程序的提示。我知道这些单词的广泛含义,并且它们对程序员来说纯粹是主观的,但我不能表达方式不同。
我已经遇到的一个最佳实践是每个Activity有一个视图,并且应用程序中有很多活动可以使Backstack正常工作,但除此之外,我不知道如何实际设置Activity本身。
答案 0 :(得分:19)
首先,请阅读API Guides,特别是Activities和Fragments上的部分。但是,如果您有时间阅读所有API指南,它们是了解Android开发的非常好的资源。
根据您要支持的Android设备,我建议您使用v4 Support Library和v7 Appcompat Library。我使用的第一个(v4支持库)总是因为支持嵌套片段( getChildFragmentManager() - 本身不支持< API 18)和ViewPager。 Appcompat库主要用于在Android版本低于4.0的设备上支持Actionbar。
我还会将Gradle作为您的构建系统,[http://developer.android.com/sdk/installing/studio.html](Android Studio)(免费)或IntelliJ IDEA(商业)作为您的IDE。
考虑到第三方库,我看到这些天大部分时间都使用的库堆栈(并且大部分都是自己使用的)是:
也经常使用的替代品是:
我使用和推荐的其他库:
Chris Banes(一位知名的Android开发者)最近发布了source code of one of his applications,您可以使用它作为如何使用上述几个库构建Android应用程序的示例。
答案 1 :(得分:18)
您需要学习的第一件事是Android活动非常好。整个事情。从那里前进会更容易。不要过早考虑Java设计模式,因为最终会尝试将问题与您的模式相匹配,而这种模式并不能很好地结束。浏览Android开发人员网站上的示例,然后尽可能多地编写代码。
我刚刚将这个名为Android App Patterns的网站 - http://android-app-patterns.com放在一起,它展示了一些流行的应用程序在Android上遵循的不同UI元素和交互模式。
有许多库可以帮助您轻松实现上述模式。例如:
答案 2 :(得分:4)
您应该观看(来自Google IO 2011): http://www.youtube.com/watch?v=WGIU2JX1U5Y
它不是关于ICS,而是关于蜂窝,但它仍然非常有趣......
你会看到ActionBar(还有一些库让你在旧版本的android上实现ActionBar)变得越来越重要,并且可以在大多数谷歌Android应用程序中找到...
ViewPager也被大量使用(用于在不同的标签/视图之间水平滑动),就像在市场上一样......
为了保持项目清洁,您可以为每个活动分配一个单独的xml文件,您使用的重复元素应保存在一个单独的xml文件中,您可以将其包含在每个其他xml文件中(页脚,标题,分隔符,... )
希望这可以帮助你!
答案 3 :(得分:0)
Android应用程序应该很快。嗯,说它应该有效可能更准确。也就是说,它应该在移动设备环境中尽可能有效地执行,其具有有限的计算能力和数据存储,较小的屏幕和受限的电池寿命。 在这篇博客中,我提供了遵循设计性能的最佳实践。 更多阅读
http://www.onsandroid.com/2014/10/android-application-designing-for.html
http://www.onsandroid.com/2013/01/android-best-practices.html