我应该在学习Android之前学习Java

Eug*_*ene 27 java android

我应该在学习Android之前学习Java,还是可以同时做两件事?什么是最好的方法?

Jon*_*eet 74

我绝对会先学习Java.不要费心学习servlet,Swing等东西 - 但要学习:

  • 核心语言
  • 集合
  • IO
  • 字符串处理

试图了解这些,同时学习一个全新的环境,将使很多难以制定出你要去哪里错了.

请注意,这不是Android特有的 - 我总是鼓励开发人员在学习"外围"技术(如本机UI或Web框架)之前学习新平台的"核心".

我以前见过人们试图这样做 - 从字面上提出有关高级场景的复杂问题,而不是理解语言的基础知识.有时他们遇到的问题是由于他们使用的复杂API,有时是由于基本的误解 - 但问题看起来与他们完全相同.他们无法区分不理解方法参数如何传递,以及难以跨线程UI操作.就他们而言,"事情出了问题." 当你没有坚实的基础时,每一步都是痛苦的.

除了任何东西之外,如同没有交互的控制台应用程序一样无聊,它们对于快速测试某些内容非常有用.您通常不需要担心线程,权限,图形,资源等.测试您的理解的另一个好方法是通过单元测试.而不是通常的测试优先方法,编写一个方法并使用单元测试预测其输出,直到您用完有趣的情况进行测试.一旦完成,您就可以完整记录代码的作用 - 保留以供日后使用,以防您需要重新审视您正在测试的概念.

  • 同意 - 我是一名开发人员,他已经用C#和Java做了很多编程.进入我正在做的第一个Android应用程序的代码并不难.所以我的大部分学习现在都是UI交互和手机特定的东西.但是如果没有Java知识,我就会迷失方向. (2认同)

Rob*_*ert 9

当你有目标努力时,学习总是更容易.如果您的目标是主要进行Android编程,那么请专注于此,并且您将在途中获得Java.

  • 对于你的下一步,你可能想用中文写一本书.不要先考虑学习任何东西 - 我相信你会在路上捡到它.说真的,在一个可以轻松学习Java,编写控制台应用程序等的环境中学习Java会更容易*.当OP在编写Android应用程序时遇到问题时,它会真的*真的*如果他事先不懂语言,很难诊断出发生了什么. (16认同)
  • 我认为比较学习编程语言的特定用法和用语言书写一本书有点苛刻.上次我检查Android使用Java,所以我发现很明显我的意思是同时学习Java和Android,而不是100%专注于Java,然后转向Android. (3认同)
  • 我不确定你的评论的意图,是向OP提供有价值的信息还是试图打击我?如果是后者,我的立场仍然是我的学习风格将同时占用两者,因为我很好奇如何将Java与Android结合使用.因此,根据他之前的编程知识,这种方法也适用于他. (3认同)