你能否详细讲述一下,在开发Android应用过程中每一阶段要用到的技能和编程语言?

建立一个Android应用程序可以归结为两个主要技能/语言:Java和Android系统。Java是Android的通用编程语言,但是Android还包括学习用于app界面设计的XML语言,学习Android概念,以及从Java编程角度运用这些概念。

学了Java和XML之后,再用Android理念将两者连接起来。

我也有分享过一些学习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件事:

  1. Java语言是必备技能。
  2. Android系统里面的app设计需要涉及XML,请了解Android的概念和编程方式。
  3. 建议初学者使用IDE(相比Eclipse ,PraneethVT更喜欢 Android Studio)。
  4. 这是一个漫长的过程,需要不断坚持,如果你只是为了敷衍,那么此文不适合你。
  5. 陷入困境的时候,可以向Stack Overflow求助。还是不行,那么试试Android Subreddit社区。

你有什么要补充的吗?欢迎点评,与君共勉。

在开发第一个Android应用之前需要知道的5件事:的更多相关文章

  1. 我在开发第一个Swift App过程中学到的四件事

    本文转载至 http://www.itjhwd.com/wzkfyigeswiftsjs/ 译者注:本文作者Greg Heo,这是他为讲授iOS 8 App Extensions视频教程而实际使用Sw ...

  2. 对于JavaScript的函数.NET开发人员应该知道的11件事

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 昨天小感冒今天重感冒,也不能长篇大论.如果你是.NET开发人员,在进入前端开发领域的时候,对 ...

  3. Android 程序员必须知道的 53 个知识点

    1. android 单实例运行方法 我们都知道 Android 平台没有任务管理器,而内部 App 维护者一个 Activity history stack 来实现窗口显示和销毁,对于常规从快捷方式 ...

  4. C#开发人员应该知道的13件事情

    本文讲述了C#开发人员应该了解到的13件事情,希望对C#开发人员有所帮助. 1. 开发过程 开发过程是错误和缺陷开始的地方.使用工具可以帮助你在发布之后,解决掉一些问题. 编码标准 遵照编码标准可以编 ...

  5. 把一个整体目标设置成多个分阶段目标,完成了一个目标后,就相当于一件事OVER

    如果事情有变坏的可能,不管这种可能性有多小,它总会发生 . 一.任何事都没有表面看起来那么简单:二.所有的事都会比你预计的时间长:三.会出错的事总会出错:四.如果你担心某种情况发生,那么它就一定会发生 ...

  6. java Android SDK安装与环境变量配置以及开发第一个Android程序

    JAVA的安装与环境变量的配置 1.先下载JAVA,并且安装. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3 ...

  7. 跟我学android-使用Eclipse开发第一个Android应用(三)

    打开Eclipse,选择 File—New –Android Application Project Application Name  就是我们的 应用名称,也是我们在手机应用程序列表里看到的名称. ...

  8. Intellij IDEA开发第一个android应用教程

    用惯eclipse的同学们可以试试通过Intellij IDEA来开发一个android应用.下面是具体的教程. 首先:下载Intellij IDEA.最新版本是12.官方提供两个版本.一个是Comm ...

  9. VS2015下的Android开发系列02——用VS开发第一个Android APP

    配置Android模拟器 这算是第一篇漏下说的,配置好VS的各参数,新建Android项目后,会发现菜单下的工具栏会多出Android相关的工具栏,红色圈出的就是AVD. 打开AVD后可以从模版处选一 ...

随机推荐

  1. qt 安装编译

    项目编译的时候提示 cannot find -lGL sudo apt-get install libgl1-mesa-dev

  2. emacs for OCaml

    (require 'cl) (require 'package) (add-to-list 'package-archives '("melpa" . "https:// ...

  3. SVN 被防火墙阻止的解决方法

    SVN 被防火墙阻止的解决方法: 1. 进入WIN7的防火墙,看到有的SVN服务是被阻止的,专用的和公用的要设置为允许被防火墙阻止的解决方法" TITLE="SVN 被防火墙阻止的 ...

  4. CentOS快速搭建LAMP环境

    LAMP --  Linux Apache MySQL PHP 在CentOS安装的顺序,我一般是Apache -> MySQL -> PHP 第一步.安装并配置Apache 1.使用yu ...

  5. NativeScript官方书籍:NativeScript in Action-用你现有技术构建移动应用程序

    大家好,我用nativescript做企业级移动应用开发一年多了.从最初只能看nativescript英文文档,到现在看到官方发布正式的书籍,感觉nativescript变得越来越好. 当然,在这个过 ...

  6. udp通信的消息处理方案

    0.引言 大家都知道当使用udp通信时,最大的一个问题是会出现丢包的情况,那么如何可以既使用udp来传输,又同时能有效防止丢包呢? 本文提供一种简单有效的方法,可以显著避免udp丢包的问题.此外,如果 ...

  7. 使用Maven构建Spring Security应用

    1.概述 本文将解释如何使用Maven构建Spring Security应用程序.将讨论使用Spring Security依赖项的特定用例.最新的Spring Security版本可以在Maven C ...

  8. 【问题总结】万万没想到,竟然栽在了List手里

    说明 昨天同事开发的时候遇到了一个奇怪的问题. 使用Guava做缓存,往里面存一个List,为了方便描述,称它为列表A,在另一个地方取出来,再跟列表B中的元素进行差集处理,简单来说,就像是下面这样: ...

  9. 洛谷P2285 [HNOI2004]打鼹鼠

    P2285 [HNOI2004]打鼹鼠 题目描述 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的.根据这个特点阿牛编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某 ...

  10. codevs1052 地鼠游戏

    1052 地鼠游戏 题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能利用一切时间认真高效地学习,他不但学习刻苦,而且善于经常总结.完善自己的学习方法,所以他总能在 ...