Android开发的隐藏功能?

时间:2009-10-24 21:09:53

标签: android hidden-features

我很惊讶, Hidden Features series 中没有Android 隐藏功能帖子,我已经跟踪了一段时间了。

“隐藏的功能”系列非常适合对某种语言不熟悉的人。它在一个地方展示了绳索和某些有价值的技巧。我认为这是个好主意。即使是专家也有时会发现他们从未听说过的伎俩。

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

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

6 个答案:

答案 0 :(得分:105)

希望没有太多隐藏的隐藏功能 - 但这里有一些不太知名且非直观的Android功能,这些功能一定会让您的生活更轻松,您的应用也会更好。

  • 您可以通过Android Open Source project浏览,下载,借阅或窃取所有平台的源代码和所有非Google原生应用。
  • 使用resources framework,创建应用的本地化版本就像添加一个新的带注释的子文件夹(例如,values-fr)一样简单,该子文件夹包含一个包含不同语言字符串的XML文件(例如法语)。 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音频缓冲区流式传输音频数据。

答案 1 :(得分:35)

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

  • 我们的设计师对draw9patch特别印象深刻,它帮助设计了可伸缩的按钮。他从那里给了我资产,然后我从背景颜色改为9-patch drawable,现在我们有一个自定义按钮,圆角等拉伸以适应文本。
  • ddms,它也集成到Eclipse插件中。它非常强大,但我用它来截取屏幕截图。
  • adb - 从命令行与您的设备或模拟器进行交互。我使用它来在我桌面上的终端窗口中跟踪设备中的日志,但我发现它对于安装和卸载行为不端的应用程序很有用。
  • sqlite3 - 非常适合与已安装的数据库进行交互,并尝试查询。
  • apkbuilderzipalignaapt - 非常适合运行无头构建
  • monkey用于对您的应用进行模糊测试。

我还会为PerformanceResponsivenessSeamlessness挑出三个设计,但我还想添加第四个Coding for (Battery) Life

尽管Javadoc有时可能有点稀疏,但它有助于没有结束让源代码可供您查看。

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

答案 2 :(得分:25)

我想我会从那时开始。


我认为一个很好的隐藏功能是Android文档的最佳实践。它列出了很多设计响应迅速的应用程序的好技巧。

Best Practices部分是:

  • 支持多个屏幕(多种尺寸和分辨率)
  • UI指南
    • 图标设计
    • 应用小工具设计
    • 活动和任务设计
    • 菜单设计
  • 设计效果
  • 设计响应能力
  • 设计无缝性

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


如果您使用Eclipse,您会注意到它没有很好地格式化XML文件,当它发生时,它非常不一致(有时它会按新行分割属性,有时它不会。)要解决此问题,您可以按Ctrl-Shift-F(自动格式化)。 Ctrl-Shift-F使用的规则在Window-> Preferences-> XML-> XML Files-> Editor中。

答案 3 :(得分:14)

Android支持XML <shape>,可以用作类似SVG的drawable。不幸的是没有他们的文档。这是我能找到的最好的信息:

http://escomic.net/217

答案 4 :(得分:13)

另外,关于最佳做法,您可能需要查看Android编码风格:

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

以及在开发/ ide / eclipse下的平台源代码中找到的eclipse代码和导入格式化程序(android-formatting.xml,android.importorder)

答案 5 :(得分:7)

/ tools中的

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

在试图弄清楚为什么事情按照他们的方式布局时,它为我节省了很多时间。