Android 开发的隐藏特性?

我很惊讶,在 隐藏特性系列 中还没有 Android 隐藏特征的帖子,我已经跟踪了一段时间了。

隐藏特征系列非常适合刚接触某种语言的人。它显示了绳索和一些有价值的技巧,都在一个地方。我觉得这是个好主意。即使是专家有时也会发现他们从未听说过的把戏。

我正在开始 Android 开发,我很想听听它隐藏的功能、技巧、诀窍和陷阱。

So, here goes: what are some 隐藏的特征 of 仿生人?

23369 次浏览

那我就开始了。


我认为一个很好的隐藏特性是 Android 文档的最佳实践。它列出了大量设计快速响应应用程序的绝佳技巧。

最佳实践 部分如下:

  • Supporting Multiple Screens (multiple sizes and resolutions)
  • 用户界面指南
    • 图标设计
    • 应用部件设计
    • 活动与任务设计
    • 菜单设计
  • 为表演而设计
  • 为响应而设计
  • 无缝设计

另一个隐藏的特性是这些文档可以作为 SDK 的一部分离线使用。起初,我每天早上坐火车都要加载几页,但是在 SDK 目录中找到这些页面后,我就不再需要这样做了。


如果您使用 Eclipse,您会注意到它并不能很好地格式化 XML 文件,即使格式化了,也是非常不一致的(有时候它用新行划分属性,有时候不这样做)。要修复它,可以按 Ctrl-Shift-F (自动格式)。Ctrl-Shift-F 使用的规则在 Window-> Preferences-> XML-> XML Files-> Editor 中。

Hopefully there aren't too many hidden, hidden features - but here's some of the less well known and non-intuitive features available for Android that will definitely make your life easier and your apps better.

  • 该平台的所有源代码和所有非谷歌本地应用程序都可以从 Android 开源项目中浏览、下载、借用或窃取。
  • 使用 资源架构,创建应用程序的本地化版本非常简单,只需添加一个新的带注释的子文件夹(Eg.values-fr) ,该文件包含一个 XML 文件,其中包含使用不同语言编写的字符串(Eg.value-fr)。法语)。Android 将在运行时为您选择正确的文件夹。
    • 相同的资源框架允许您为不同的硬件配置、屏幕像素密度和输入设备使用不同的布局,只需将它们放在指定的文件夹中即可。
  • 自从 Android 1.6以来,你的应用程序可以生成出现在主屏快速搜索框搜索结果中的结果。这就是 自定义搜索建议
  • 使用 意图和意图过滤器,你的应用程序可以发出和服务匿名请求,以完成一个动作(例如 Where 应用程序可以从 Open Table 应用程序请求订餐)。
    • 他们可以请求一个未知的应用程序来完成一个操作,而不需要知道哪个应用程序可以满足该请求
    • Your app can fulfill requests from unknown apps to complete actions without needing to know which apps will make the requests. Play this right and you can create the 'default' Twitter app, or booking app, etc.
  • 使用 警报,你可以设置你的应用程序在预定的时间完成任务,即使你的应用程序没有运行。
    • You can save a lot of battery life using the 返回文章页面重复译者: method to schedule regular events (like server polling or updates). It will synchronize alarms from multiple apps to occur at the same time rather than adhoc.
  • 使用 偏好框架,您可以为您的应用程序创建与系统设置相同样式的设置屏幕。您甚至可以合并系统设置屏幕(例如。安全性和位置)设置为应用程序的设置层次结构。
  • 使用 音轨和音频记录 API,您可以直接从 PCM 音频缓冲区传输音频数据。

SDK 的 工具目录中的工具值得一提:

  • 我们的设计师对 draw9patch印象特别深刻,它帮助设计了可伸缩按钮。他从那里给了我资产,我改变了从背景颜色到9补丁绘图,现在我们有一个自定义按钮,圆角等拉伸,以适应文本。
  • 它也集成到 Eclipse 插件中,非常强大,但是我用它来截屏。
  • adb-通过命令行与设备或模拟器交互。我用这个来跟踪我桌面上终端窗口中设备的日志,尽管我发现它对于安装和卸载行为不当的应用程序很有用。
  • sqlite3-非常适合与已安装的数据库进行交互,并尝试查询。
  • apkbuilder, zipalign, aapt - great for running headless builds
  • 用于模糊测试应用程序的 monkey

我也要挑出三个设计的 表演反应能力天衣无缝,但我也想添加第四个 Coding for (Battery) Life

虽然 Javadoc 有时可能有点稀疏,但是它有助于 没完没了将源代码放在那里供您查看。

这也是非常有用的有大量的 谷歌人编写的应用程序样本来构建,检查,然后看看他们是如何做到的。

关于最佳实践,你可能想看看 Android 的编码风格:

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

以及 Eclipse 代码和导入格式化程序(android-formatting.xml,android.import order) ,这些格式化程序位于 development/ide/eclipse 下的平台源代码中

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

Http://escomic.net/217

在/tools 中, 使您可以調試/分析您的視圖布局: 填充、定位、視圖层次等等。

当我试图弄清楚为什么事情是这样布置的时候,它节省了我很多时间。