安卓新手如何學習開發一款遊戲APP呢?

  毫無疑問,開發一款本身的App對於初學者來講,不管從技術學習,仍是找工做,開發手機遊戲而言,都是一大利器。那麼如何才能快速上手,開發一款屬於本身的app。本篇文章僅以本身的一些經驗給更多的Android新手一些建議。android

 

  1、誤區app

 

  在討論如何開發應用程序以前,讓咱們先討論一些必須避免的誤解。框架

 

  借鑑與copyide

 

  表面與原理工具

 

  效果與深度佈局

 

  (1)借鑑是爲了學習學習

 

  借鑑與copy表面與原理效果與深度做爲一名 Android 開發新手,在學習開發一款本身的 app 以前,參考一些大牛的項目,進行借鑑與參考是一個很好的捷徑。code

 

  然而,一些初學者開始編寫代碼,看着代碼面無表情,不知道爲何,認爲無論3721,敲它都會理解。結果,最後一個錯誤被迫,項目的結構和框架根本沒有被理解,更不用說技術上的困難了。blog

 

  因此不要盲目地copy,磨刀不誤砍柴工,要像看源碼同樣學習項目。首先澄清項目的結構,使用的框架,每一個類的功能,以及所使用的技術要點,墾丁解決牛,逐個分解學習,逐一將它們變成技術問題,這樣他們最終能夠轉化爲本身的知識。遊戲

 

  (2)從表面深刻原理

 

  對於具體的技術實現,不只要實現目標,更不要由於一些酷的UI效果而沾沾自喜。

 

  對於一些技術來講,知道正在發生的事情和緣由是很重要的。例如,能夠經過遵循一些模板來實現進程間通訊aidl。例如,RecyclerView或ListView能夠根據某些方法快速實現列表佈局。

 

  然而,這些實現不只在一個項目或一個地方使用,並且常常被實現,並且未來還會遇到。所以,咱們應該利用表面學習的原理來開發應用程序,同時鼓勵咱們本身以這種方式加深對技術的理解和實際應用。

 

  例如,讓AIDL瞭解binder機制的實現,並進一步瞭解android中的進程間通訊方法。對於RecyclerView或ListView,瞭解重用機制以及如何自定義一些特殊效果以加深咱們本身的技術深度。

 

  (3)不盲目追求效果

 

  Android開發的樂趣在於能夠本身實現app的開發,用技術創造體驗。

 

  然而,正是這種樂趣可能會致使一些新手專一於UI實現效果並忽略他們本身的技術學習。有時,技術學習與效果並不衝突。然而,在自主開發應用程序和學習技術的過程當中,咱們能夠把重點放在技術追求和學習上,而對用戶界面效果的追求較少。

 

  固然,完美主義者(強迫症)會在不知不覺中傾斜,但請平衡。

 

  2、準備工做

 

  在開發以前,咱們應該作好充分的準備,這樣咱們就能夠用一半的努力得到兩倍的成果。

 

  通常來講,新手正在開發第一款應用程序,站在巨人的肩膀上學習,而後如何選擇你想作的應用程序,技術難度,以及更多的乾貨?

 

  選擇參照app

 

  先選擇本身想作的類型,好比:播放器,新聞類等,一些適合新手開發的app。而後在Github中搜索(必定要學會使用Github)。

 

  瞭解當前流行的技術框架,選擇一些你想要學習的框架,過濾掉使用它們的應用程序。

 

  從知足上述需求的應用程序中找出更多的明星項目,由於大衆的眼睛是明亮的,這意味着這個項目是可取的。

 

  首先要了解項目的結構,不要盲目選擇一些很酷的效果。要根據本身的技術能力來選擇,初學者不該該選擇太複雜的,而是一步一步地,爲了獲得兩倍的成績,付出一半的努力。

 

  開發前奏

 

  選擇好了一款或多款參照app後,那麼就要開始全面瞭解這款app。

 

  項目結構:瞭解整個項目的結構,各類功能模塊和使用的框架。通常項目結構將遵循如下結構。

 

  框架使用:瞭解整個項目中使用的框架,而後瞭解其使用狀況。首先閱讀相關文章,瞭解基本用途,而後瞭解原理,最後根據本身的項目包裝,這將有利於後續快速功能的實現。

 

  3、開發app

 

  關於具體的開發,只介紹一些通常性的東西供您參考。

 

  項目構建 :一個優秀的Android應用從建項目開始,建立項目的一些規範。

 

  com/Blankj/AndroidUtilCode,全部你想用的工具類,均可以從中抽取。

 

  基類:構建項目中基類,如Activity,Fragment等,能夠參考網上的一些實現,可是大而全不必定好,適合本身的纔是最好的。

 

  4、我的經驗

 

  (1)動機

 

  4、我的經驗做爲一個 Android 新手,我也是在今年2月份纔開始想學習作一款 app,增長本身各方面的能力。

 

  在剛開始,想學習一些流行框架的使用,如Retrofit,RxJava,Glide,EventBus以及MVP模式。

 

  當我構思整個項目時,我想要變得更加充實,我想實現太多功能。可是,我終於實現了新聞瀏覽和圖片瀏覽的功能。雖然這個項目不完整,但我仍是學到了不少東西。

 

  (2)過程

 

  由於功能的實現相對簡單,整個項目週期約爲20天左右。實際上,開發週期超過10天。在前10天左右,我一直在學習每一個框架的用法和原則。

 

  Readthefuckingsourcecode,這個過程雖然很枯燥,不過也是一個積累與沉澱的過程。

 

  在個人博客中,我能夠在準備這個項目時看到學習過程。博客寫做真的是一種很好的學習方式,你能夠把不少東西變成你本身的,再也不是表面上的。

相關文章
相關標籤/搜索