2009-10-24 58 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允許你調試/分析您的視圖佈局:填充,定位,視圖層次等

它救了我當試圖弄清楚爲什麼事情是按照他們的方式進行的時候,很多時候都是這樣。