2010-01-11 42 views
2

我一直在練習Android應用程序以熟悉該平臺。具體來說,我試圖實現的應用程序允許用戶選擇一個聲音文件(MP3或WAV)在特定的日期和時間播放,顯示帶有進度條的對話框和確定/取消按鈕,允許用戶停止播放聲音文件。我希望它的行爲類似我見過的倒計時應用程序,甚至內置鬧鐘應用程序。當我實施這個簡單的(我認爲!)應用程序時,我試圖更好地理解該平臺並使應用程序符合Android的方式。瞭解正確的Android鬧鐘「流」

當我一直在編寫應用程序時,我會更多地瞭解事情應該如何在Android平臺上工作。這是我有點困惑的地方。在我試圖讓警報啓動並顯示的過程中,我瞭解到,正確形成的Android應用程序不應該顯示對話框,因爲通過Android的警報服務調用了後臺服務或廣播接收器。相反,我認爲,應用程序應該在狀態欄上使用通知來提醒用戶。用戶然後可以選擇查看通知來查看應用程序試圖告訴他們的內容。

我已經設法通過從Android報警服務啓動的服務中啓動一個新的活動來獲得我想要顯示的對話框。不過,看來我已經違反了Android規則。我首先知道這一點,因爲我在DDMS LogCat窗口中看到一條消息,詢問我是否確定要從服務啓動新的活動。其次,我在幾個地方看過,這樣做不好。一個讓人想到的聲明是來自一位Google開發人員,他說他肯定會卸載一個類似這樣的應用程序。

如果我理解正確,應用程序應該使用狀態欄和通知來獲取用戶的注意力,並允許他們在閒暇時看到應用程序想要的內容。這似乎與我的應用程序嘗試執行的操作非常直觀。同樣,我試圖讓它表現得基本上像我見過的倒計時應用程序或Android手機中內置的鬧鐘應用程序。如果我的應用程序行爲不正確,鬧鐘應用程序的行爲?顯然我會說鬧鐘應用程序正在做我期望的。我認爲,我的應用程序的用戶會希望聲音文件播放時顯示一個對話框,允許停止播放聲音文件而不必通過狀態欄。

我是否正確理解Android平臺?對於像這樣的應用程序如何通過提出我所提到的對話來實現而不會被淘氣的任何意見?我希望應用程序被視爲格式良好的Android應用程序,但我很難看到我的應用程序與我見過的其他應用程序如此不同,甚至是內置鬧鐘應用程序。

謝謝! 傑夫

回答

4

用戶一般不要期望隨機的東西在屏幕上彈出,特別是當他們正在做某事時。畢竟,如果他們在玩遊戲或者輸入短信或者其他東西,那麼彈出式的活動將會破壞他們正在做的事情。

無論如何,一些應用程序應該通過設計來實現這一點。無論用戶在做什麼,例如撥打電話都會彈出呼叫中屏幕。人們當然可以爭辯說,像你這樣的鬧鐘式應用程序有一些合理的權利來做同樣的事情。

但是,有些開發人員認爲用戶是一堆糞便。這樣的開發人員覺得他們有權從背景中彈出東西而不受懲罰,因爲開發人員按照自己的意願做他們的權利,用戶被定罪。我認爲LogCat發佈警告是考慮到這一點。

如果我正在編寫您的應用程序,我會讓它成爲用戶首選項,無論他們是想要警報簡單地提升Notification還是實際彈出Activity。但是不管你如何處理這個問題,你的目標應該是做什麼用戶期望和欣賞,即使這與你作爲一個開發者覺得應該做的事情背道而馳。