Hidden features of Android development?
我很惊讶在我已经跟踪了一段时间的隐藏功能系列中还没有安卓隐藏功能帖子。
隐藏功能系列非常适合对某种语言不熟悉的人。它在一个地方展示了绳子和一些有价值的技巧。我认为这是个很好的主意。甚至专家有时也会发现他们从未听说过的把戏。
我正在着手开发Android,我很想听听它隐藏的特性、提示、技巧和陷阱。
那么,下面是:Android的一些隐藏特性是什么?
希望不会有太多隐藏的功能-但这里有一些不太知名的和非直观的功能可供Android使用,这肯定会使您的生活更轻松,您的应用程序更好。
- 平台的所有源代码和所有非Google本地应用程序都可供您浏览、下载、借用或从Android开源项目中窃取。
- 使用resources框架,创建应用程序的本地化版本非常简单,只需添加一个新的带注释的子文件夹(如values fr),该子文件夹包含一个XML文件,其中包含使用不同语言(如french)的字符串。Android会在运行时为您选择正确的文件夹。
- 相同的资源框架允许您使用不同的硬件配置、屏幕像素密度和输入设备的替代布局,只需将它们放到指定的文件夹中即可。
- 由于Android 1.6,你的应用程序可以产生结果,将出现在一个主屏幕快速搜索框搜索的结果。这被称为自定义搜索建议。
- 使用意图和意图过滤器,您的应用程序可以发出匿名请求并为完成某项操作提供服务(例如,where应用程序可以从open table应用程序请求表预订)。
- 他们可以请求一个未知的应用程序来完成一个操作,而无需知道哪个应用程序可以完成该请求。
- 您的应用程序可以满足来自未知应用程序的请求以完成操作,而无需知道哪些应用程序将发出请求。正确地播放,您可以创建"默认"Twitter应用程序或预订应用程序等。
- 使用警报,你可以设置你的应用程序在预定的时间完成任务,即使你的应用程序没有运行。
- 您可以使用setUnactRepeating方法来调度常规事件(如服务器轮询或更新),从而节省大量的电池寿命。它将同步来自多个应用程序的警报同时发生,而不是临时的。
- 使用首选项框架,您可以使用与系统设置相同的样式为应用程序创建设置屏幕。甚至可以将系统设置屏幕(如安全和位置)合并到应用程序的设置层次结构中。
- 使用audioTrack和audioRecord API,您可以直接将音频数据从和传输到PCM音频缓冲区。
sdk的/tools目录中的工具值得一提:
- 我们的设计师对
draw9patch 特别印象深刻,它帮助设计了可伸缩的按钮。他给了我从那里的资产,我从一个背景色变成了一个9补丁可绘制,现在我们有一个自定义按钮,圆角等拉伸,以适应文本。 ddms 也集成到Eclipse插件中。它非常强大,但我用它来截屏。adb —通过命令行与设备或模拟器交互。我使用它来跟踪我的设备在桌面终端窗口中的日志,尽管我发现它对于安装和卸载行为不正常的应用程序很有用。sqlite3 -非常适合与已安装的数据库进行交互,并尝试查询。apkbuilder 、zipalign 、aapt —非常适合无头建筑。monkey 用于模糊测试你的应用程序。
我也会列出三种设计的性能,反应能力和无缝,但我还想添加第四个编码(电池)寿命。
尽管JavaDoc有时可能有点稀疏,但让源代码在那里供您查看却无济于事。
谷歌编写了大量的示例应用程序来构建、检查和查看它们是如何做到的,这也是非常有用的。
我想我那就开始吧。
我认为一个很好的隐藏特性是Android文档的最佳实践。它列出了设计响应迅速的应用程序的许多重要提示。
最佳实践部分包括:
- 支持多种屏幕(多种尺寸和分辨率)
- 用户界面指南
- 图标设计
- 应用程序小部件设计
- 活动和任务设计
- 菜单设计
- 性能设计
- 响应灵敏性设计
- 无缝设计
另一个隐藏的特性是这些文档作为SDK的一部分可以脱机使用。起初,我每天都在为早上的火车旅行加载一些页面,但在sdk目录中找到它们之后,我不再需要这样做了。
如果您使用Eclipse,您会注意到它对XML文件的格式不是很好,当它这样做时,它是非常不一致的(有时它会用新行分割属性,有时不会)。要修复它,可以按ctrl-shift-f(自动格式化)。ctrl-shift-f使用的规则在window->preferences->xml->xml files->editor中。
android支持XML
网址:http://escomic.net/217
此外,在最佳实践方面,您可能需要查看Android编码风格:
网址:http://source.android.com/source/code-style.html
以及Eclipse代码和导入格式化程序(android-formatting.xml,android.importorder),这些格式化程序位于development/ide/eclipse下的平台源代码中。
工具中的hierarchyviewer允许您调试/分析视图布局:填充、定位、视图层次结构等。
当我试着弄明白为什么事情是这样安排的时候,它节省了我很多时间。