不会写代码,如何从零学习Android开发?

由于近几年来互联网的飞速发展,安卓和iOS平台的大量普及推广,移动开发在当前是非常热门的一个方向。有不少同学问如何学习安卓,要学些什么,难不难学。现在根据我的学习体验,做个大概的总结。

操作方法

  • 01

    安卓开发首先最好有Java基础,没学过可以先简单的去学习一下。推荐两本书《Head First Java》和《Java编程思想》(英文名《Thinking in Java》)。Head First系列的书,特点是简单好懂,适合入门(最好有其他语言编程的基础),但讲解不是很深入,对于理解力够强的人,看起来比较费时间。而后者是Java语言公认的权威经典书籍,如果想全面的学习Java,可以看后面这本书,但是难度偏大,尤其是对于没有学习过面向对象编程语言的人来说。

  • 02

    安卓开发本身的技术知识,无非就是各种封装好的API接口函数(API=Application Programming Interface 应用程序编程接口),你只要按照它的规则去调用就行了。安卓的接口有官方给出的完整说明文档,安装了安卓开发包后,也有自带docs文件夹,里面就是说明文档。对于英文水平欠缺的人可能稍微有点难度,另外,由于谷歌访问不了,网页版的说明文档有些可能会打不开。如果你不想自己看官方英文文档,你可以直接买本安卓开发的书,或者在网上找安卓学习资料。这些资料也是别人根据官方文档和自己学习经验总结出来的。有时候如果需要用到一些别人很少用到的东西,或者网上说的比较含糊,这时官方文档是最权威、准确的参考资料。

  • 03

    首先是平面设计、交互设计、用户体验。移动应用作为大众型产品,用户体验相当重要。如果有过个同类产品,功能接近,用户肯定更喜欢用户体验更好的产品。用户界面需要用到设计方面的知识。当然在大部分公司,一般会有专门的交互设计相关职位,所以对于应用开发者来说,设计方面不需要掌握的太深入,做一点简单了解当然是没错的。

  • 04

    然后上面已经说了很多软件工程方面的问题,数据结构、设计模式、操作系统、计算机网络等等,不再重复。

  • 05

    安卓NDK环境和JNI开发。安卓基于Linux操作系统,主要由Java编程,但是有些时候需要用到C++,例如核心代码需要保密,而Java保密性有所欠缺;有些程序只有C++环境才能实现;要用到一些高性能的算法等的支持,而Java执行效率偏低。这是我们可以使用Java的JNI,调用C++开发的程序库完成功能。C++的开发基本上就和在Linux上编程差不多,区别在于安卓系统中有一定的权限限制。而安卓NDK就是官方给出的、用于快速开发安卓JNI程序的开发环境。 安卓系统有个很大的特点是开源免费,因此我们很容易就能获取安卓系统的源码进行学习,了解安卓系统的设计。了解安卓系统设计,后来我们就可以从事偏底层的安卓开发,系统订制,乃至安卓驱动开发、操作系统开发方面的工作。

  • 06

    这里顺便一提,安卓应用开发相比iOS的一个难点来自安卓系统碎片化问题。安卓系统是开源免费的,这是一大优势,也因此对很多国产和国外手机制造商带来了很大的好处(如果没有安卓,很多手机厂商恐怕都深陷危机之中了,或许移动互联网也不会发展的这么快。不知道现在是不是iOS要称霸天下,或者WP大受欢迎,又或者塞班还会屹立不倒)。但是安卓的这种特点,导致同一款安卓应用至少要同时兼容各种主流手机型号,各种配置,各种屏幕尺寸,各种系统环境。而这也是迄今为止安卓开发者心中永远的痛(╯﹏╰)。

  • 07

    最后,给正在学或者打算学安卓的同学一些建议: 1. 如果你是非科班毕业想要转行编程,一定要有信心与动力,我能,你一样能; 2. 如果你接触过一些数据结构、编程语言之类的,想要学习编程,你更应该有信心,你比那些非科班的人已经多了一些基础,你要做的只是坚定信念,坚持走下去; 3. 如果你准备或已经在做App开发的人员,你要做的就是做好你当下在做的事,相信你的付出一定能有所收获。 4. 如果你坚持不下来,那么直接上网找一些在线app开发平台,这里推荐你应用之星平台,无需编码技术,人人都能进行Android开发。

(0)

相关推荐

  • 学习Android开发前要具备哪些基础?

    操作方法 01 随着智能移动设备的普及成为了一个流行趋势,Android作为一个开放性平台,对手机厂商和软件开发商的吸引力也在持续升高,这一点不仅仅体现在成倍增长的Android手机销量上,Andro ...

  • 学习android的注意事项

    学习android的注意事项 操作方法 01 android技术准备实训目标:通过这部分的学习,学员能够达到学习android开发课程的基本要求.熟练使用Java语言,实现GUI桌面应用程序的开发JD ...

  • sublime text2小技巧.帮助您写代码是越写越快

    SublimeText2 支持但不限于 C, C++, C#, CSS, D, Erlang, HTML, Groovy, Haskell, HTML, Java, JavaScript, LaTeX ...

  • 用Visual Studio写代码的时候如何设置为显示行号

    今天给大家介绍一下用Visual Studio写代码的时候如何设置为显示行号的具体操作步骤.1.运行Visual Studio,建选择立一个新项目,如图,在默认状态下,行号是不显示的.2. 我们选择上 ...

  • 不会写代码怎么做自己的网站

    完全不懂代码知识的新手要怎么做网站呢?下面小编就给大家介绍一个不用写代码就可以做网站的方法. 操作方法 01 1.大家自行在网络上搜索工具"自助建站",然后找一个简单易用的平台,注 ...

  • html如何入门,学习html开发静态网页。

    html属于超文本标记语言.对于网页的开发,html搭配上CSS.javascript变得很实用.html较为简单,所以学习html的同时,可以边学边用,在使用的过程中学习html. 操作方法 01 ...

  • 新人学习AppCan开发手机App需要哪些基础知识

    AppCan是国内领先的混合式移动应用开发框架.但是作为一个新手,需要掌握哪些基础知识才能开发出来自己的app呢?本文将详细介绍. 操作方法 01 1. HTML/HTML5基础: HTML5是HTM ...

  • 学习php开发能做什么?

    很多同学问,现在那么多人学习php开发!那么到底学习php开发能做什么呢? 操作方法 01 PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域.WEB领域PHP拥有得天独厚的 ...

  • 学习软件开发需要看的书

    学习软件开发需要看的书 操作方法 01 C语言提升     <c和指针>     <c缺陷和陷阱>     <c专家编程>     这三本书是一个初级C程序员必看的 ...