我曾經從事過五年的iOS應用開發工作,那段時間我一直在盡量避免同Android打交道——不過現在情況不同了。不管大家是否相信,Android開發其實樂趣滿滿、而且與iOS開發相比也不像大家想象的那樣差異巨大。
我在Android平臺上開發出這款“七分鐘鍛煉”應用,并借此學到了很多寶貴的知識。我希望這篇文章分享的一些小技巧也能幫助大家解決實際問題。請注意,我接下來進行比較的內容并不一定完全匹配,而且本文的重點也不在于完整地敘述Android開發;當然,我一定會提到自己在開發這款簡單應用的過程中所積累到的全部經驗。
IDE
我選擇使用Android Studio,而且我愿意打賭:只要測試完成,它將成為未來的業界標準。雖然很多報道稱它的運行狀態并不穩定,但在我的實際使用中、它僅僅崩潰過一
Java
無論大家對Java如何評價,說到底它也只是不過是一種編程語言而已。它能夠解決問題,而且對于經驗豐富的開發者來說、大家肯定是把主要精力放在框架而非Java身上。很高興我用不著跟J2EE扯上關系。
iOS加密
移動應用安全保護平臺——愛加密,在Android應用加密保護方面有dex加殼、獨有的so庫加密保護、資源文件保護等。而且推出了iOS應用加密保護,實屬全球首創。分別從本地數據、方法體/方法名、URL編碼、程序結構、網絡傳輸數據等幾個方面對iOS應用進行全方位的保護,并可以根據iOS應用用戶的需求提供定制解決方案,從而實現iOS防破解保護。下圖是iOS應用使用前后
模擬器
我一直認為iOS模擬器讓人頭痛不已,但相比之下我才發現當初的自己還是太年輕。在稍作嘗試之后,我決定放棄Android模擬器、直接將應用部署在實際設備上——除非大家愿意拿出大量時間盯著屏幕枯等。
Storyboard / NIB
我在自己的iOS開發博客上談了很多關于Storyboard的話題,很多與我意見相左的讀者發來的一些措辭強硬的郵件讓我徹底放棄了這一交流平臺。
Android使用的布局格式為xml。它們彼此之間完全獨立。Android Studio還提供一套出色的“所見即所得”編輯器:
但大家仍然可以深入到原始xml當中——如果愿意的話(反正我一般是不愿意這么麻煩)。
相對于自動布局,大家也可以選擇其它布局容器,例如RelativeLayout以及FrameLayout之類。在這里,我們能夠以像素數量(即設備的像素容納能力)或者matchparent、wrapcontant等來設定理想的寬度、高度、填充效果、邊框以及色調。
Wrap非常適合文本內容,它會自動將調整正確的高度并設定與之相適應的尺寸,并把其余工作交給LinearLayout等特定布局方案。
雖然我還沒有用過,但Fragment看起來同樣是一種對自定義UI元素加以重新利用的好途徑。
UIViewController
Android利用一個Activity來實現UIViewConroller的功能。每一個屏幕/窗口都相當于一個Activity。我們就在這里處理大部分工作,包括將數據綁定到UI當中或者處理事件等等。
新聞熱點
疑難解答