java - Android 编码最佳实践/设计模式

标签 java android design-patterns android-4.0-ice-cream-sandwich

在我最近提出的一个问题中,我被定向到了这个网站:http://developer.android.com/design/index.html

很棒的网站,但它没有回答一个特定的问题:在设计应用程序代码时应用的最佳实践/设计模式是什么?

我查找了 MVC/MVP 等,虽然这会产生结果,但这只是关于所述模式的实际实现,而不是其他可用选项等。

我尝试反编译和分析默认情况下安装的各种 Android 应用程序,例如 Market,但我无法在 Google 的代码中真正找到结构。有没有人有关于如何以可维护、可扩展等方式设置 Android 应用程序的提示。我知道这些词的广泛含义,并且它们对于程序员来说纯粹是主观的,但我不能用不同的方式表达。

我已经遇到的一个最佳实践是每个 Activity 一个 View ,并且在应用程序中有很多 Activity 以使 backstack 正常工作,但除此之外,我不知道如何实际设置 Activity 本身。

最佳答案

首先,阅读API Guides尤其是 Activities 上的部分和 Fragments .但是,如果您有时间,请阅读所有 API 指南,它们是了解 Android 开发的绝佳资源。

根据您要支持的 Android 设备,我建议使用 v4 Support Libraryv7 Appcompat Library .第一个(v4 支持库)我一直使用,因为它支持嵌套 fragment (getChildFragmentManager() - < API 18 本身不支持)和 ViewPager . Appcompat 库主要用于支持 Android 4.0 以下设备上的 Actionbar。

我也会学习Gradle作为您的构建系统和 [http://developer.android.com/sdk/installing/studio.html](Android工作室)(免费)或 IntelliJ IDEA (商业)作为您的 IDE。

考虑到第三方库,我现在看到的最常用的库堆栈(大部分是我自己使用的)是:

  • Guava作为通用 Java 帮助程序库。
  • DaggerButterKnife用于依赖注入(inject)。
  • OkHttp作为 HTTP 传输库。
  • RetroFitVolley作为 REST 库。
  • Picasso作为图像加载库。当您需要从服务器下载/显示图像时,拥有一个良好的图像加载库在 Android 中非常重要,因为它负责内存处理和缓存,如果您尝试自己完成这一切可能会非常困难。

也经常使用的替代品是:

我使用和推荐的其他库:

Chris Banes(著名的 Android 开发人员)最近发布了 source code of one of his applications您可以将其用作如何使用上述多个库构建 Android 应用程序的示例。

关于java - Android 编码最佳实践/设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9868972/

相关文章:

具有多个值的 Java hashmap

java - 添加到列表时有没有办法避免循环?

java - Spring+MyBatis异常: Mapped Statements collection does not contain value for

C#:使用 "self"类型作为泛型参数?

oop - 开放封闭与单一责任

java - 从java中的格式化文本中扫描数字

android - 从 android 应用程序重定向到 playstore 市场 url 不起作用

android - Fragments 和 Activity——我应该把我的应用程序逻辑放在哪里?

android - 如何保存在android ImageView中显示的图像?

java - 参数化策略模式