安卓开发路线图

3

我做了一些研究,对于Android开发很感兴趣。我以前从未编程过,也不知道如何从零经验开始为移动设备进行开发。我的兴趣在于最终制作某种类型的2D游戏。

是否有一个从基础开始的课程计划?我认为首先需要学习Java语言。看着Sun网站,这有点令人生畏。是否有一本书可以将这些知识包装成一个有针对性的课程计划呢?

我不确定opengl-es是否适用于2D游戏。我对此进行了一些研究,甚至比Java本身还要令人生畏。我甚至无法开始理解从哪里开始,即使没有-es。我最好的猜测是我需要进一步了解Java才能继续使用它,但即使如此,是否可能与Java同时学习呢?


你看过 http://java.sun.com/docs/books/tutorial/ 上的教程了吗? - barrowc
那是我看到的,感觉很令人望而生畏。我不是一个程序员;我不确定如何在任何适用的意义上使用这里提到的概念。回过头来看,也许更好的问题补充应该是:我应该开始开发哪些应用程序,以帮助我实现我的最终目标? - Matticus
2个回答

5
有经验的程序员通常会建议初学者先从Java开始,然后再转向Android特定代码,但我不同意。我认为对于新手程序员来说,最重要的是能够快速地看到他们工作的成果,并在感觉有用的情况下进行上下文分析。换句话说,你需要有某种个人项目,你正在尝试完成它。这比在教科书中随机编写一些程序更具有动力和学习通过克服特定的障碍而获得的能力。
现在我必须补充说明,我并不是一位有经验的程序员,也从未尝试过教别人编程。从这个意义上说,CommonsWare的评论应该更有分量,因为他已经写了多本关于这个问题的书,并且有作为一名讲师的经验。然而,我是一个自学Android-Java编程的人,基本上是从零开始。我曾经涉猎过一些语言,如VB(用于Excel宏)和C,但我从来没有写过超过一百行的代码,并且对面向对象编程一无所知。
当然,这样做会很混乱。你经常会读一些教程,对他们为什么要这样做感到困惑,或者例如,他们所谓的“私有静态”整数或类继承的含义是什么。你也会以低效或笨拙的方式编写代码风格不佳的程序来解决问题。然而,我认为这些问题被个人动力的好处所抵消。如果你知道为什么学习某些内容很重要,那么学习起来就容易得多。
然而,诀窍在于确保选择易于开始的项目。你必须意识到,编写任何有用的程序都会看起来复杂和困难。试图从2D游戏开始是行不通的;首先需要学习的东西太多了。最好的起点是Android开发者网站上的教程。使用它们并尝试修改它们以执行不同的操作。
之后,看看是否可以找到一些让你手机感到烦恼的简单事情(注意:我假设你实际上有一个安卓手机),或者能让生活更轻松的事情。在我的情况下,我编写了一些非常基本的程序,以执行像一键更改铃声音量、从静音到中音量和反之亦然等操作。
一旦你完成了这个,就可以着手处理更大的项目。当然,最终你将不得不认真阅读“正式”的Java教程,因为你不能永远半眼相机地摸索下去。但是为了重申这一点,我认为如果你知道为什么它很重要,学习会更容易。最重要的是,要有耐心和毅力!一旦你度过了最初的困惑,就会觉得很有趣!

1

如果想学习Java,我会推荐像Big JavaCore Java这样的书。只有当你对语言感到舒适后,才建议开始移动开发。我自己从未进行过任何Android开发,但最近参与了一个J2ME项目,发现书籍并没有太大帮助。相反,最好是开始在线教程,然后逐渐进入为自己开发小型简单应用程序。一步一步地构建您的应用程序,边学边做。

可能最令人困惑的部分是学习如何将语言全部转移到新平台,并理解构建和部署。但是,如果您从小样本开始,您将在早期遇到这些障碍,而此时仍然足够容易找出需要知道的内容,然后您可以回到这里提出具体问题,毫无疑问会有许多人可以帮助您。


1
《Head First Java》也是一本流行的Java入门教材。关于2D游戏,不需要使用OpenGL——这适用于3D游戏。对于2D游戏,你需要学习如何使用Android的“Canvas”。但是,我建议先从Java入手,先了解类/对象、扩展/实现、公共/私有、包/导入、java.io/java.util、线程和异常等,足够让你感到舒适。然后再转向Android。 - CommonsWare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接