【问题标题】:Roadmap to Android developmentAndroid 开发路线图
【发布时间】:2010-03-27 08:55:15
【问题描述】:

我做了一些研究,并且有兴趣为 Android 开发。我以前从未编程过,也不知道如何从零经验发展到为移动设备开发。我的兴趣是最终制作某种 2d 游戏。

是否有从头开始的课程计划?我认为需要学习 Java 语言才能开始。看看 Sun 网站,这有点令人生畏。具体来说,有没有一本书可以将这些知识包含在一些有针对性的课程计划中?

我不确定 2d 游戏是否需要 opengl-es。我对此进行了一些研究,它甚至比 Java 本身更令人生畏。即使只是opengl,sans -es,我什至无法开始弄清楚从哪里开始。我最好的猜测是,我需要进一步了解 Java 才能继续学习,但即便如此,是否可以同时学习 Java?

【问题讨论】:

  • 你看过java.sun.com/docs/books/tutorial的教程了吗?
  • 这就是我所看到的并且觉得它令人生畏。我不是程序员。我不确定如何以任何适用的方式使用此处提到的概念。回想起来,也许对这个问题的更好补充是:我应该开始开发什么样的应用程序来帮助我实现最终目标?

标签: java android opengl-es 2d


【解决方案1】:

经验丰富的程序员的典型回答是,应该先从 Java 开始,然后再转到 Android 特定的代码,但我不同意。我认为对于新程序员来说最重要的是能够在对他们有用的环境中快速看到他们的工作成果。换句话说,你需要有一些你想要完成的个人项目。这比教科书上的一些随机程序给你更多的动力,你可以通过克服途中的特定障碍来学习。

现在我必须补充一点,我不是经验丰富的程序员,而且我从未尝试过教任何人编程。从这个意义上说,CommonsWare 的评论应该更有分量,因为他已经写了多本关于这个问题的书,因此有作为讲师的经验。然而,我作为一个基本上从头开始自学使用 Android-Java 编程的人发言。我曾涉足 VB(用于 Excel 宏)和 C 等几种语言,但我写过的代码从未超过一百行,而且对面向对象编程一无所知。

当然,这样做会很麻烦。你会经常阅读教程,并且对他们为什么以他们的方式做事感到困惑,或者例如,他们所说的“私有静态”整数或类继承是什么意思。你还会以糟糕的风格进行编程,以笨拙或低效的方式解决问题。然而,我认为个人动机的好处超过了这些问题。如果你知道它为什么对你很重要,那么学习它就会容易得多。

然而,诀窍是确保您选择简单的项目开始。您必须意识到,对任何有用的东西进行编程都会显得复杂而困难。尝试从 2d 游戏开始是行不通的;首先要学习的东西太多了。最好的起点是tutorials on the Android Developer's 网站。与这些一起工作,看看您是否可以对它们进行一些修改以做不同的事情。

之后,看看您是否能找到一些让您对手机感到恼火的简单事情(注意:我假设您实际上拥有一部 Android 手机),或者可以让生活更轻松的事情。就我而言,我编写了一些非常基本的程序来做一些事情,比如一键改变铃声的音量,从静音到中等音量,反之亦然。

完成此操作后,您可以处理更大的项目。当然,最终您将不得不认真阅读“正确的”Java 教程,因为您不能永远半盲不从。但重申这一点,我认为如果你知道它的重要性,学习起来会容易得多。

最重要的是,要有耐心和坚持!一旦你克服了最初的困惑,就会很有趣!

【讨论】:

    【解决方案2】:

    对于学习 Java,我会推荐一本像 Big JavaCore Java 这样的书。只有当您熟悉该语言时,我才会建议您继续进行移动开发。我自己从未做过任何 Android 开发,但最近在做一个 J2ME 项目,我发现书籍并没有太大帮助。相反,最好先开始学习可以在网上找到的教程,然后逐渐开始为自己开发小型简单的应用程序。边学习边构建您的应用程序。

    其中最令人困惑的部分可能是学习如何将所有端口的语言都移植到新平台,以及如何构建和部署。但是,如果您从小样本开始,您将在早期遇到这些障碍,而您仍然很容易找出您需要知道的内容,然后您可以带着具体问题回到这里,毫无疑问会有一些可以提供帮助的人。

    【讨论】:

    • Head First Java 也是一种流行的 Java 介绍性文本。对于 2D 游戏,OpenGL 不是必需的——即 3D 游戏。对于 2D 游戏,您需要学习如何使用 Android 的Canvas。但是,我肯定会首先从 Android outside 的 Java 开始,足以熟悉类/对象、扩展/实现、公共/私有、包/导入、java.io/java。 util、线程和异常。
    猜你喜欢
    • 2021-09-22
    • 2014-12-26
    • 1970-01-01
    • 2022-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    相关资源
    最近更新 更多