C语言Android学习路线


一、前言

不知不觉自己曾举行了几年付出了,由记得刚出工作的时光觉得温馨会牛逼,现在回想起来感觉好无知。懂的愈发多的时段你才会发觉懂的更加少。

比方你的学识是一个完美,当你的圆越大时,圆外面的世界呢便愈加老。

近日瞧成千上万Android新手问Android学习路线,学习方式啊,如何入门啊,所以我自从网上检索了部分素材,然后盖我之办事经历让大家总结一下,让你们少走弯路,提取部分办事面临不时以的艺。

次、学习知识汇总

1、Java se基础

1).Java基本数据类及表达式,分支循环。

2).String和StringBuffer的使、正则表达式。

3).面向对象的悬空,封装,继承,多态,类及目标,对象初始化和回收;构造函数、this关键字、方法与办法的参数传递过程、static关键字、内部类。

4).对象实例化过程、方法的掩盖、final关键字、抽象类、接口、继承的长和短处剖析;对象的多态性:子类和父类之间的变、抽象类和接口在多态中的使用、多态带来的补益。

5).Java异常处理,异常的机制原理。

6).常用底设计模式:Singleton、Template、Strategy模式。

7).JavaAPI介绍:种为主数据类包装类,System和Runtime类,Date和DateFomat类等。

8).Java集合介绍:Collection、Set、List、ArrayList、LinkedList、Hashset、Map、HashMap、Iterator等常用集合类API。

9).JavaI/O输入输出流:File和FileRandomAccess类,字节约流InputStream和OutputStream,字符流
Reader和Writer,以及对应实现类似,IO性能分析,字节和字符的转向流,包装流的定义,以及常用包装类,计算机编码。

10).Java高级特性:反射和泛型。

11).多线程原理:如何当次中开创多线程(Thread、Runnable),线程安全题材,线程的并,线程之间的报导、死锁。

2、android UI编程

1)、Android开发条件搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。

2)、Android初级控件的使:

TextView控件的使

Button控件的动办法

EditText控件的下方式

ImageView的使用方法

RadioButton的应用办法

Checkbox的利用方式

Menu的采用方法

3)、Android高级控件的施用:

ListView的运用方式

GridView的行使办法

Adapter的运方式

Spinner的用方式

Gallary的以办法

ScrollView的使办法

RecyclerView

4、对话框与菜单的下:

Dialog的基本概念

BlockquoteAlertDialog的使用方式

DatePickerDialog的应用方法

Menu的利用办法

从今定义Menu的实现方式

5.控件的布局方法:

线性布局的行使方式

对立布局之用办法

6.多Acitivity管理:

AndroidManifest.xml文件之用意

Intent的使方法

使Intent传递数据的主意

启动Activity的方法

IntentFilter的下方式

Activity Group的采取方法

7、自定义控件实现方式:

由定义ListView的落实方式

可折叠ListView的采用办法

起定义Adapter的贯彻方式

自从定义View的落实方式

动态控件布局之直达落实方式

上拉刷新下拉加载重多

3、android网络编程与数量存储

1).基于Android平台的HTTP通讯:

Http协议回顾

下Get方法向服务器交由数据的法门

使用POST方法为服务器交由数据的贯彻方式

采用Http协议落实多线程下载

运用Http协议落实断点续传

2).Android数据存储技术:

SQLite3数据库简介

SQL语句回顾

SQLite3编程接口介绍

SQLite3事务管理

SQLite3游标使用方法

SQLite3性能分析

访问SDCard的方法

访问SharedPreferences的方法

参考自:http://www.cnblogs.com/zhuawang/p/3672228.html

其三、进阶的路(初级->中级->高级)

1、初级工程师

小明之前完全没有接触过Android开发,是单应届生,他的待是13k,然后小明因校招的身价进入了百渡过,然后小明用怎么读才能够变成初级工程
师呢?这个时刻,小明对编程基础、数据结构、C语言都来得基础,Java语法什么的呢都掌握的比较好,Android才产生java语言,无奈的凡小明并
不会见将Android。

小明首先需要市同本Android入门的书籍,为了重新快地修Android,小明业余时间也还用于一边看开一边以在书写被的例证敲代码,结果2周
时间小明就管及时仍开学了扳平总体。看罢马上仍开后,小明对Android的历史、结构、代码规范等都生了一个大概的了解,并且,小明曾足以描绘起部分概括的
Activity了。这个时刻在小明眼里,Android开发大简单好好游戏,通过当xml中摆放有按钮文本框什么的即足以举行有界面了。

小明开始就他的技术导师做需求,一些略的略求小明自然是无在说话下了。突然产生同等天来了一个求,该需求要求小明于Activity中吗一个
button加一个动画效果,小明慌了:“完全没有接触了,书上吧从来不称,怎么惩罚吧?”小明冷静了生,打开了百度搜索,输入“Android
动画”,打开前几乎单链接,小明恍然大悟,照在网上的例证把需要被落实了。后来先生告诉他:“学好Android,官方文档是必须看的,既全面而贵”。然
后小明如获得至宝,花了一如既往年岁月将方的guide和training都看了扳平百分之百,并且他还着手抄了几只稍例子。

起一样天,小明以待举行一个动画片相关的需求,这可是麻烦不倒小明,它熟练地开辟了www.baidu.com,输入“Android
动画”,突然他楞了一下:”总不能够每次写动画都使百度瞬间咔嚓!“,于是他于CSDN开了一个博客,把动画相关的知识点都勾上,为的凡后再写动画相关的
代码就无须百度去抄了,事实如何为?后面又写动画相关的代码,小明的确不用还夺百度搜了,因为经描写一首动画博客,他将动画相关的细节还已记住了,这样
他就算好绝不再夺参考其他文档了,后来小明还学会了拿有些零星之匪便于在博客上的物写及了记忆笔记上面,什么时候忘了10秒钟中都足以快搜索回来,
而无是花10分钟去还找一周。

此间总结一下,Android入门的当儿,需要发出雷同据入门书,好好学习书被的情,同时花费一样年时光把Android官方文档中之training和
guide看同样方方面面,同时通过描写博客和记笔记的措施来举行总结,建议被好之每篇博客都发出价数。通过一致年岁月之就学,相信每个人还好达到中工程师的水
平。

艺要求:

– 基本知识点

准四挺组件如何使用、如何创建Service、如何开展布局、简单的自定义View、动画等广技术

– 书籍推荐

《第一履代码 Android》、《疯狂Android》

2、中级工程师

小明经过同年的努力学习终于成Android中级工程师了,月薪饷成为了17k。到了中间工程师,已经好以商家里关系多体力活了,但是有些分外重点的任务小明还免能够一个口负责起来,这个上小明用上之情节就是那么些了,如下所示:

– AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的别;

– Binder:从Java层大概理解Binder的工作规律,懂Parcel对象的动;

– 多进程:熟练掌握多进程的运行机制,懂Messenger、Socket等;

– 事件分发:弹性滑动、滑动冲突等;

– 玩转View:View的绘图原理、各种自定义View;

– 动画系列:熟悉View动画和总体性动画的不同点,懂属性动画的做事原理;

– 懂性能优化、熟悉mat等工具

– 懂点常见的设计模式

学方式

看进阶书籍,阅读Android源码,阅读官方文档并尝试自己写相关的技能文章,需要有必然技术深度和本人想。在斯路的上学过程遭到,有2个点是比麻烦大家之,一个是读源码,另一个凡是于定义View以及滑动冲突。

什么样阅读源码呢?这是只头疼的题目,但是源码必须要读。阅读源码的上绝不深入代码细节不可自拔,要关注代码的流水线并尽量挖掘出对应用层开发中的
结论。另外仔细阅读源码中对一个近乎或措施的注解,在圈无明白源码时,源码中的注释可以助您还好地了解源码中的办事原理,这个进程虽然困难,但是别无他法。

争玩转自定义View呢?我之提议是毫无通过学习由定义view而上由定义view。为什么这样说呢?因为于定义view的品类极多矣,各式各样的绚烂的自定义效果,如何模拟的玩耍啊!我们如果由此现象看本质,更多地失去关爱于定义view所需的知识点,这里召开如下总结:

– 为懂view的滑原理

– 作明白什么实现弹性滑动

– 为懂view的滑冲突

– 搞懂view的measure、layout和draw

– 然后再度攻读几单既有些自定义view的例证

– 最后就是足以做定自定义view了,所谓万变不离其宗

约莫再需要1-2年工夫,即可达成高级工程师的技术水平。我个人认为通过《Android开发方式探索》和《Android群英传》可以缩短此了
程为0.5-1年。注意,达到高级工程师的技术水平不意味着尽管可即时成为高档工程师(受时、是否跳槽的熏陶),但是技术上了,成为高档工程师只是不行简
单的事。

技术要求:

– 稍微尖锐之知识点

AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等

– 书籍推荐

《Android开发方探索》、《Android群英传》

3、高级工程师

小明成为了期盼的高档工程师,月薪水达到了20k,还将到了一样丢掉丢股票。这个时段小明的Android水平就是了,但是小明的目标是大名鼎鼎工程师,小明听说资深工程师月薪可以达成30k+。

为了变成Android资深工程师,需要学习的物就还多了,并且小并无是那具体了,如下所示:

– 继续加重理解”稍微尖锐的知识点“中所定义之始末

– 了解系统核心机制:

1. 叩问SystemServer的启动过程

2. 了解主线程的音信循环型

3. 了解AMS和PMS的做事规律

4. 克对问题”一个施用存在多少只Window?“

5. 了解四百般组件的盖工作流程

6. …

基本知识点的细节

Activity的起步模式及异常情况下不同Activity的变现

Service的onBind和onReBind的关联

onServiceDisconnected(ComponentName className)和binderDied()的区别

AsyncTask以不同版本及的显现细节

线程池的细节以及参数配置

深谙设计模式,有搭意识上道

这个时就没有太现实的修方式了,无非就是是看开、看源码和召开项目,平时多总结,尽量以文化会从而形成相同种体系化的感觉到。同时是等级对
架构是发生自然要求的,架构是空洞的,但是设计模式是实际的,所以毫无疑问要是增长下设计模式的修。关于设计模式的学习,最近一致遵照新书援引给大家
《Android
源码设计模式解析和实战》,既可以学学设计模式,又或许体会到Android源码中之筹划思想,我最近吗当读书此书。

艺要求:

– 稍微尖锐的知识点

– 系统核心机制

– 基本知识点的细节

– 设计模式和架构

– 书籍推荐

《Android开发方式探索》、《Android
源码设计模式解析和实战》、《Android内核剖析》