2009-10-24 68 views
121

我很惊讶没有Android 隐藏功能发布在Hidden Features series我已经跟踪了一段时间了。Android开发的隐藏功能?

隐藏特征系列适用于某些特定语言的新手。它在一个地方显示绳索和一些有价值的技巧。我认为这是一个好主意。即使专家有时会发现他们从未听说过的伎俩。

我开始Android开发,我很想听听它的隐藏功能,提示,技巧和陷阱。

所以,这里是:有些什么隐藏功能Android

回答

105

希望没有太多隐藏的隐藏功能 - 但这里有一些不太知名的非直观功能可用于Android,它绝对会让您的生活更轻松,并使您的应用更好。

  • 该平台的所有源代码和所有非Google本机应用程序均可供您浏览,下载,借用或从Android Open Source project盗取。
  • 使用resources framework,创建应用程序的本地化版本非常简单,只需添加一个包含具有不同语言(例如法语)字符串的XML文件的新注释子文件夹(例如values-fr)即可。 Android会在运行时为您选择正确的文件夹。
    • 相同的资源框架可让您使用不同的硬件配置,屏幕像素密度和输入设备的替代布局,只需将它们放入命名文件夹即可。
  • 从Android 1.6开始,您的应用可以生成结果,这些结果将显示在主屏幕快速搜索框搜索的结果中。这就是所谓的custom search suggestions
  • 使用Intents and Intent Filters您的应用程序可以提供匿名请求并为其提供服务(例如,The Where app can request a table booking from the Open Table app)。
    • 他们可以要求一个未知的应用程序来完成一个动作,而无需知道哪个应用程序(一个或多个)可满足该请求
    • 您的应用程序可以实现从未知的应用程序的请求,而无需知道其完成动作的应用程序将让请求。玩这个权利,你可以创建“默认” Twitter的应用程序,或预订应用等
  • 使用Alarms你可以设置你的应用程序在预定的时间完成任务,即使你的应用程序没有运行。
    • 使用setInexactRepeating方法可以节省大量电池寿命,以安排常规事件(如服务器轮询或更新)。它将同步来自多个应用程序的警报同时发生,而不是同时发生。
  • 使用Preferences框架,您可以使用与系统设置相同的样式为您的应用程序创建设置屏幕。您甚至可以将系统设置屏幕(例如,安全和位置)合并到应用程序的设置层次结构中。
  • 使用AudioTrack and AudioRecord API,您可以将音频数据直接传输到PCM音频缓冲区并传输到PCM音频缓冲区。
+3

+1对于许多好的兴趣点 – Alxandr 2010-05-25 02:01:31

25

我想我会从那开始。


一个很好的隐藏功能,我认为是Android文档的最佳实践。它列出了许多设计响应快速应用程序的重要提示。

Best Practices栏目有:

  • 支持多种屏幕(多种尺寸和分辨率)
  • UI准则
    • 图标设计
    • 应用的Widget设计
    • 活动和任务设计
    • 菜单设计
  • 性能设计
  • 设计的响应速度
  • 设计为无缝

另一个隐藏的功能是,这些文档是可脱机使用的SDK的一部分。起初,我每天都会在早上乘坐火车时加载几页,但在SDK目录中找到它们之后,我不再需要这样做了。


如果你使用Eclipse,你会发现,它不格式化XML文件非常好,当它,这是非常不一致的(有时是通过分割线的新属性,有时事实并非如此)。要修复它,你可以按Ctrl-Shift-F(自动格式)。 Ctrl-Shift-F使用的规则在Window-> Preferences-> XML-> XML Files-> Editor中。

+1

最后一个肯定会成为我工作流程的一部分。这在上个星期让我很烦恼......谢谢你! – Mikle 2011-05-24 13:10:02

35

的SDK tools in the /tools directory值得一提:

  • 我们的设计师是特别深刻的印象draw9patch该公司帮助设计伸缩按钮。他从那里给了我资产,并且我从背景颜色变成了9块可绘制的,现在我们有了一个自定义按钮,圆角等,以适应文本。
  • ddms,它也集成到Eclipse插件中。这是非常强大的,但我用它来截图。
  • adb - 通过命令行与设备或仿真器进行交互。我使用它在我的桌面上的终端窗口中跟踪设备中的日志,尽管我发现它适用于安装和卸载行为不当的应用。
  • sqlite3 - 非常适合与已安装的数据库交互,并尝试查询。
  • apkbuilderzipalignaapt - 伟大的运行无头建立
  • monkey短绒,测试您的应用程序。

我也将挑选出三个设计为PerformanceResponsivenessSeamlessness,但我还想加上第四Coding for (Battery) Life

虽然Javadoc有时可能有点稀疏,但它有助于无末端有源代码供您查看。

有大量的sample apps written by Googlers建立,检查,然后看他们是如何做到这一点也是非常有用的。

+3

+ 1对于提及猴子 – Janusz 2010-03-05 13:59:10

+1

您错过了另一个不错的工具layoutopt。 – 100rabh 2010-10-25 13:08:09

+0

另一个不错的,我一直使用的是层次结构查看器。 – 2011-06-03 20:57:08

13
关于最佳实践

此外,您可能想看看Android的编码风格:

http://source.android.com/source/code-style.html

以及日食代码和进口格式化(Android的formatting.xml,android.importorder)它们位于开发平台的源代码中/ ide/eclipse

+2

有太多的代码需要跳过才能获得Eclipse格式化程序的代码,所以请在这里找到它:http://www.google.com/codesearch/p?hl=zh-CN#CRBM04-7BoA/ide/eclipse /android-formatting.xml&q=android-formatting&sa=N&cd=1&ct=rc – idbrii 2010-11-13 00:25:36

14

Android支持XML <shape>的可以用作类似SVG的绘图工具。不幸的是,他们没有文件。这是我能找到的最好的信息:在/工具

http://escomic.net/217

+4

还有http://idunnolol.com/android/drawables.html提供了有关形状的所有xml特征的完整文档。 形状可以是非常重要的做圆形的回心的背景,改变颜色时单击或使xml定义渐变,而不是自定义的背景drawables。 – Janusz 2010-07-21 07:19:51

+0

是否可以将一些形状添加到一个xml文档。例如几个圆圈和长方形? – skyfoot 2010-11-04 16:18:02

7

hierarchyviewer允许你调试/分析您的视图布局:填充,定位,视图层次等

它救了我当试图弄清楚为什么事情是按照他们的方式进行的时候,很多时候都是这样。