跳到Android或先学习Java基础知识?[关闭]


15

我精通C语言,知道一些C ++,但从未接触过Java。最近,我想到了一个我认为有潜力的应用程序,并且想开发它。

我打算先使用Android,因为它不需要Mac / iPhone。

所以我的问题是:我可以直接学习Android开发吗?在需要的时候继续学习Java语法(毕竟,我认为它与C / C ++并没有太大不同),还是应该采取一些措施?几周的时间先学习Java的基础知识,然后再开始进行Android开发?


17
宫城说:首先学习步行,然后学习苍蝇daniel-san。
乔尔·埃瑟顿

检查一下,然后向我展示您的笑容 oreilly.com/android/index.html
Chiron

4
答案很简单:学习Java 首先你跳进Android的编程之前。对于您的基本hello world应用程序来说,这看起来似乎很简单,但是比这更复杂的事情,在调试时会因为没有意识到某些怪癖而遇到问题。当我有时间时,我将尝试发布更长的答案(指出我在SO上遇到的一些菜鸟错误)。
Marvin Pinto 2012年

您想精通Java。因此,花几个月学习OOP。Java是一种面向对象的语言。所以,如果你学OOP,你会很快掌握Java的:就拿“为本的设计主对象”课程eliminatecodefear.com -一个最好的资源,为学习实践面向对象设计和开发与HW任务
泰舒人

Answers:


16

我个人建议先学习Java,这样您就不会花很多时间在Google上进行搜索。那会杀死你的生产力。

如果允许我建议一些书,那么我建议使用Head First Android Development和/或Programming Android

另一方面,由于您精通C语言,并且精通C ++,因此iOS开发确实应该更容易选择,因为Objective-C是基于C的最小编程语言。但是,这当然是您的选择。


是的,我也在考虑使用iOS。我只是不想购买Mac,但我想我可以买到Mini了。
丹尼尔·斯科科

@daniels是的,的确,Mac Mini是功能强大,功能强大且可拥抱的机器。
凯龙(Chiron)

另外,通过首先学习Java,您已经熟悉了将在Android中使用的基本API。
Kemoda 2012年

除了在线预览(据说很混乱)之外,Head First Android实际可用吗?
伊恩·卡洛尔

11

我认为您应该直接入门。Java与C ++足够相似,因此您需要克服的就是语法问题。您应该只获得有关Dietel的良好参考,例如如何编写书籍并开始编写书籍。您将不断学习自己的需求。您的编程经验将帮助您更快地创建应用程序。

我还建议《 Android繁忙的编码员指南》和新设计的《 Android开发人员指南》

该书的作者非常活跃,可以帮助您度过学习曲线,因此值得购买。

希望这可以帮助


29
Java is similar enough to C++什么...哦,您在语法上是指。不,不是这样,除非for循环是您职业生涯的最高境界。
yannis 2012年

“除非循环是您职业生涯的最高境界”。那是一条很好的台词:)
丹尼尔·斯科克

2
@ZaphodBeeblebrox:具有讽刺意味的是,如果循环是职业的最高境界,那么它们也很可能是该职业的近代。
乔尔·埃瑟顿

这本“忙碌的编码员指南”是否过时?这是4岁
康拉德·莫拉夫斯基

1
@YannisRizos:C ++有一种编写for循环的形式,Java有两种形式。因此,即使是完全专注于使用for循环的C ++人也应该假设他们只了解Java的50%。:D
ViliamBúr13年

3

我将在Java上玩几天,只是看看您是否喜欢它,然后以一种比弄脏双手更好的学习方法来进行学习。

您的编程背景将为您提供帮助。有很多很好的教程网站,可以让您同时使用android和java,将它们简化为Android和Java。最重要的是享受!


3
我要补充一点,您可能可以在这方面花1-2天的精力或拿起诸如Head First Java之类的书(据我所知,那里还有C ++程序员的Java称号)。要记住,关键是Android!= Java,您使用了很多相同的语法,但是运行代码的是不同的VM,某些事情被允许/限制,其他事情不被允许
Martijn Verburg,2012年

2

我是否应该花几个星期先学习Java的基础知识,然后再开始进行Android开发?

既然您以Android为目标,那么只需选择他们的官方入门入门教程并开始研究它就很有意义。如果有必要/希望学习Java,可以期望在本教程中提到这一点。

根据我的回忆,Android教程的早期版本质量可以接受。我已经有一段时间没有使用它了。


0

回答一个相当老的话题,但是必须回答,因为答案或评论都没有强调我认为非常重要的一点,即“学习面向对象的编程(OOP)”。尤其是,根据OP编写的内容:-

...精通C语言,知道一些C ++,但从未接触过Java ...

这可能表明,OP的面向对象编程(和潜在的设计)技能可能需要一些支持。至少在我看来,它是这样做的,而且我会做出非常相似的陈述。

我建议您学习所谓的“ Core Java”,并熟练掌握,然后转向Android编程会容易得多。这种方法的好处是Java通过以下方式强制OOP:

  • 清洁(清教徒意义上的)
  • 易于掌握(如简单)
  • 唯一的方法(而不是使用非OOP替代方法)

同样,对于已经相当熟悉C / C ++的人,可以很快学习“ Core Java”。


0

我决定直接跳到Android并学习Java。开始通常很容易 -您可以从Android开发人员网站上获取Android开发人员工具,在该网站上还将找到一些教程来帮助您迈出第一步。

但是,在没有适当的Java知识的情况下,Android开发很快就变得势不可挡(至少对我而言是如此)。幸运的是,这里有针对那些只想为Android开发学习Java的教程。您可以在这里找到它们(它们是为已经了解另一种语言(例如C ++ / VisualBasic / etc)的人设计的。

检查您是否有足够的知识可以在Android中进行开发的一种方法是注册一个Android MOOC(像这样)并检查任务。这种方法背后的逻辑是:由于您真正针对的是Android开发,因此您可以立即尝试。这种方式将帮助您意识到自己可以做什么以及仍然需要学习什么。另外,您总是可以花一些时间来提高Java技能。

祝您好运最有效的方法!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.