安卓新手如何学习开发一款游戏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,这个过程虽然很枯燥,不过也是一个积累与沉淀的过程。

 

  在个人博客中,我能够在准备这个项目时看到学习过程。博客写做真的是一种很好的学习方式,你能够把不少东西变成你本身的,再也不是表面上的。

相关文章
相关标签/搜索