我最近刚刚阅读了Praneeth VT发表在 Reddit 上的一个帖子,是关于他如何开发自己第一款Android手机应用——一个GPA计算器的。可以看出来他在这个编程世界还是新手,所以我想深入探讨一下他是如何做到的,以便于大家学习和借鉴。
在此之前,我想先介绍一下Praneeth VT。
- 毕业于计算机工程专业
- 实际上,他才总共学了为期6个月的编程课
- 在上了两门CS课程导论之后,他又学了Java语言
- 暑假期间,他决定学以致用,自己开发一个Android应用
我和Praneeth VT进行了一次关于如何在Android应用这一领域起航的谈话,下面我整理了这次谈话的内容(问题为粗斜体)。 最后我总结了5个对于新手而言,极其重要的基础技能。
你能否详细讲述一下,在开发Android应用过程中每一阶段要用到的技能和编程语言?建立一个Android应用程序可以归结为两个主要技能/语言:Java和Android系统。Java是Android的通用编程语言,但是Android还包括学习用于app界面设计的XML语言,学习Android概念,以及从Java编程角度运用这些概念。 学了Java和XML之后,再用Android理念将两者连接起来。 我在Reddit也有分享过一些学习Activities和 Fragments等的Android相关知识。我最喜欢的是《Big Nerd Ranch》系列书籍,因为当我们在开发过程中碰到问题,都能在书中受到启发,找到答案。
如果一个初学者想开发Android应用,要先学什么,你有什么建议吗?
对于一个初学者,我的建议是一定要学Java。别想什么捷径,Java是必须的。 另外,我推荐YouTube上的视频教程来学习如何安装Eclipse(用于Java开发的集成开发环境)和Java开发工具包(JDK)的基本方法。这也有助于理解Java开发的基本方法,例如循环语句和if语句。 不过在打好了这些基础之后,我强烈建议各位可以将YouTube视频教程抛弃了,转而投向书籍和系列讲座的怀抱。YouTube的教程往往并不会着重讲述某些很重要的概念,而这些概念我觉得对于我们想要开发Android应用的程序员来说,其重要性是100%的。
Eclipse和Android Studio究竟是什么?开发Android应用是不是非它们不可?
Android Studio和Eclipse是一种集成开发环境,即IDE(Integrated Development Environments)。当然你也可以选用其他工具来编写Java,不过因为我个人不太熟悉那些,所以也不好随口推荐。 不像其他应用程序,除了需要写代码进行编译,还要写运行代码,在IDE中编译只需点击一个按钮即可运行代码。不过得在Eclipse里安装Android SDK,而且所有的安装进程都能在专门的Android开发网站上找到。
你每天/每周花多少时间编程?
我几乎用了整整两个月的时间废寝忘食地才完成了我的第一个app。 一开始的时候,每天差不多要花4个多小时去看《Big Nerd Ranch》,然后根据教程练习。当我真正开始写程序的时候,哪怕是解决一个很小的问题,比如储存数据,我都得用不少时间才能充分理解。 不过我的时间很多,因为那时我正在放暑假,而且没别的事情做。
如果不得不寻求帮助和咨询问题,你会怎么做?
通常情况下我会用Google搜索。不过因为我还是新手,这得花我很多时间。最优选择是去 Stack Overflow。如果Stack Overflow仍然没能给出头绪,我会在reddit上的/r/androiddev Subreddit 上面发帖子,社区成员通常非常热心。 非常感谢PraneethVT能在关于建立第一个Android应用的问题上面,给出了他独特的见解。下面我总结一下,
在开发第一个Android应用之前需要知道的5件事:
- Java语言是必备技能。
- Android系统里面的app设计需要涉及XML,请了解Android的概念和编程方式。
- 建议初学者使用IDE(相比Eclipse ,PraneethVT更喜欢 Android Studio)。
- 这是一个漫长的过程,需要不断坚持,如果你只是为了敷衍,那么此文不适合你。
- 陷入困境的时候,可以向Stack Overflow求助。还是不行,那么试试Android Subreddit社区。
你有什么要补充的吗?欢迎点评,与君共勉。
|