安卓内容很多,因为安卓涉及的面比较广泛,除了手机的app开发之外,其实还有机顶盒,智能家具,穿戴设备,汽车等等。如今的话,多数人做的是这个手机端的app开发。
对于初学者来说,首先要学的是java,因为安卓应用的大部分代码是用这个java来编写的。底层一点的,比如加密或者调用硬件这些使用C语言,JNI(Java Native Interface)则是java调用这个C语言的程序,这样就可以和底层进行交互了。而界面的布局则使用这个XML来编写的,其实XML也用于配置文件的编写。
那么,你要学习安卓开发的话,则先学习JAVA语言,而XML是很简单的,不需要学习。
1、基本的控制语句和运算逻辑
对于java的学习,则需要掌握基本的语句之类的,相信只要上过大学的同学来说,在C/C++里面就已经学过了,编程语言的控制语句和运算基本相同,都可以搞定这部分。对于没有上过的同学来说,这也不难,很简单,稍微花点时间即可。
2、要理解面向对象的思想
这个为什么这么重要呢?还真是很重要的,呵呵!因为在实际开发种,你要创建类,然后每个类负责什么工作,如果理解不好,连类都写不好。这是第一个,另外则是不理解面向对象的思想,代码量可能会很多,不会进行抽取,架构,分析等等。
3、要理解和学会使用多线程
java是一门支持多线程的语言,多线程我们需要理解和使用。在这个安卓里,iOS也是,更新UI的都是主线程,也叫UI线程。那么进行一些耗时操作的时候 ,我们就需要使用子线程了。那么这里你要掌握的是子线程的使用,创建子线程的两种方式。如果线程多了,我们需要对线程进行管理,那么这里要引入纯种池的概念了,就是一个执行线程的池子,这里不做详细的解释,后面有时间会写的。帮助大家理解。多线程中锁的概念,嘻嘻!
4、集合框架
在安卓开发中,经常使用到集合去存储数据。数组都用得比较少了,呵呵。关于集合方面,需要知道整个集合框架,甚至能默写出来,哈哈。知道他们各自的特性,怎么去遍历,添加,排序。排序的话他们有工具类,还要掌握有序集合的排序依据,底层的数据结构和原理,其实这些直接和它们各自的特性挂钩的。
5、IO,也就是输入输出
那么这个Input和Output的话,也用得比较多,比如你要把文件写到内存卡上,要读取文件之类的。这里也要理解它们的各自特性,比如说字节流和字符流。当然还有其他流啦,这些用得比较少,学会对文件的遍历。
6、网络编程
理解Http协议,如果做一些通信类的,还要理解这个TCP/IP、UDP。比如说你要做遥控飞机的,用手机控制飞机的,这就要深刻理解并会使用才能做好咯。这块内容不多吧,就那么点东西 ,也是面试的人最爱问的。如果你碰到是安卓的组长或者总监那还好一些,可是你的总监是做后台的来面试你,必须问的,哈哈!
7、其他
其他包括什么呢?呵呵,内容不多,一是编码,这个需要知道,因为现在的app都要和后台进行打交道。初学者不需要说一定要解决问题,当然解决更好。但也要知道是怎么回事。泛型,这个也用得多吧,在对数据请求的时候封装类用得多,因为协议是一样的,但对应的bean类是不一样的。什么是bean类呢?哈哈,豆类是吗?其实它就是一个用于描述数据的类。权限也要了解,这个太简单了,其实真的太简单了,就当作是开发者的常识吧。对字符串的操作,这也要掌握的哦,这用得上。正则表达式理解即可,因为很少人会记住的,需要的时候谷歌一下就出来了。这个用于检查邮件账号密码手机号之类的。
好吧,最后一个是第八个,这个就需要你的耐心和恒心了。掌握了前面这些,就可以开始学习安卓开发咯!