• 本人也是众多Android开发道路上行走的一员,听了不少大神的知乎live,自己也看了不少书,也和不少前辈交流过,所以在这里分享一下Android开发应该学习的书籍以及知识,当然,也包括一些方法,希望对更多想进入这个...

    开篇:

    本人也是众多Android开发道路上行走的一员,听了不少大神的知乎live,自己也看了不少书,也和不少前辈交流过,所以在这里分享一下Android开发应该学习的书籍以及知识,当然,也包括一些方法,希望对更多想进入这个行业的人有所帮助。

    众所周知,现在移动开发早就不是最热门的程序员职业了,如果你没一点真功夫,仅仅靠两三个月的集训已经很难在这个行业中占有一席之地了。因此,想拥有真正的“真本事”是要花相当长时间的,我的这篇学习计划主要面向的人群是敢于花时间,切能坚持下来的同学,比如说:想从事Android开发的在校大学生,想进阶的在职开发人员,以及因为个人原因想从其它方向转向Android开发的程序员。

     

    入门阶段:快速上手,增加自信

    怎样做可以让初学者觉得编程是容易学的,是有趣的?那自然就是得到一些能快速看到结果的反馈,自己写的程序能立刻运转起来并实现一些效果,是非常鼓舞人心的,因此这个阶段的第一目的是通过学习能真正动手写两个程序,并能得到快速反馈,因此推荐一些相对简单的书籍。

     

    1.Java初级入门:

    推荐书籍:《Head First Java》,《Java从入门到精通》

    《Head First Java》不用多说,业界公认的Java入门佳作,如果你的编程底子非常薄,可以通过这本书快速学习Java。而对于这本《Java从入门到精通》,也许很多人嗤之以鼻,觉得是只教表面,不深挖原理的浅薄书籍,没必要看,但是这本书的好处在于,当你完全没接触过编程,没接触过计算机知识的时候,这本书是可以带你快速上道的,它不仅仅只教如何使用Java语言,它连如何搭建开发环境这种对于出入门的人来说非常头痛的事都有详细教程,因此,它对于刚刚入门的人来说,是非常友好的,如果,你没有任何编程经验,但想从Java入门编程,这本书是非常好的。理论上来说,这两本书选一本阅读即可。

     

    2.Android初级入门:

    推荐书籍:《第一行代码》

    如果要开始这一阶段,请务必把Java初级阶段入门完成后再尝试。那怎样算是完成呢?起码用书中的知识自己写过Demo,并且测试成功,例如,最基本的Java知识,包括:继承,接口,字符串,内部类,匿名类,集合,简单的多线程,Socket网络通讯等等都有过亲自的实践,第一阶段就算是完成了,你说反射,泛型,多线程,注解等知识你没办法理解?没有关系,这些都是第二阶段攻克的主要目标之一。

    至于第一行代码这本书,已经无需我废话,这在中国基本已经成了Android入门的标准教材,书中涵盖了Android开发知识的方方面面,例如如何搭建Android开发环境,Android四大组件的使用,Android网络通信的基础,如何使用开源库,如何使用Git,如何进行本地存储等等。只要跟着这本书,把书中的每一个Demo都自己手动实现一遍,并在学习完本书后,自己试着综合所有已学的知识开发一个能自己玩的小app,第一个大阶段——入门,就算彻底结束了。

     

    进阶:持续攀登技术之峰

    如果你已经完成了第一阶段,并且已经小有自信来到了这里,那我要说,进阶阶段可能会让你扫兴,因为进阶阶段的学习量可能是入门阶段的数倍,甚至上10倍,但是,既然已经走到这里来了,自然不能放弃。

     

    3.Java进阶,颠覆初学的认识

    推荐书籍:《Java编程思想》,《Effective Java》

    如果你已经读完了Java的入门书籍,也许会觉得:“Java不就那么回事吗,用起来也挺简单啊,别跟我讲什么理论,我只要会用就行了!”但实际上,这个阶段也许会颠覆你之前对Java的大部分认知,我们将从Java的高级特性以及底层原理来给我们的Java知识树添枝加叶。

    《Java编程思想》这本书近乎等于Java的权威教材,它详细讲解了Java的大部分细节,翻开目录,也许你会觉得许多知识你都学过,但是请相信我,这本书值得一字一句的从头读到尾,读完将让你的Java内功功力大进,上升几个级别。当然,读完这本书是考验人毅力的一大挑战,因为这本书的确有些晦涩难懂,经常看一遍看不明白,需要多看几遍,并且这本书近乎800页的篇幅(实际上这本书的页数更多,只不过最后一张图形用户界面和Android开发关系不大,可以不看)实在是相当挑战读者的耐力。

    《Effective Java》是Java使用者必看的书籍(无论你是哪个方向),它以几十条实战经验总结作为索引,让读者从各处细节上掌握Java的使用技巧,从而编写出高效可用的Java代码,当把这些经验了然于胸时,带着这些经验写代码,将会节省你大量的时间和代码量来获取到足够多的编程经验。

     

    4.Android开发进阶,以及设计模式的学习

    推荐书籍:《Android开发艺术探索》,《Android源码设计模式解析与实战》

    学习完《第一行代码》后,你可能会使用Android SDK中提供的许多类库来开发Android应用了,但是,只会使用是远远不够的,我们必须掌握它们的运行机制和原理,以及我们还应该学习自定义一些类似与系统提供的组件的工具(例如自定义View),学习这些知识,以上两本书再好不过了。它们对于这部分知识的讲解可以说是相辅相成的,这两本书同样是需要花大力气去阅读的,当这两本书被你彻底吃透以后,1到3年经验的Android面试中,你基本已经可以拿下全部和Android有关的问题了。

    如果你已经吃透了《Java编程思想》想必你已经和23种设计模式的其中几种见过面了,但也许还不是特别有感觉,这时候就需要系统的学习了,《Android源码设计模式解析与实战》不仅讲了Android源码,更精讲了各种设计模式,学完这本书可以说是一举两得,又能学习源码,又能系统的学习设计模式。

     

    5.实战环节

    当你第3阶段完成以后,实际上就可以将这第5阶段和第4阶段并行执行了,这部分的知识绝大部分是书籍中所没有的,因此需要结合网上的博客文章和自己的大量动手实践来学习。首先,你已经在《第一行代码》中见过几种开源库了,现在,为了高效开发Android应用,我们应该学习以下几类主流Android开源库的用法和原理,如下所示:

    1.网络请求(Retrofit2)

    2.图片加载(Glide/Fresco)

    3.事件总线(EventBus/Otto)

    4.异步操作(RxJava2)

    5.依赖注入(ButterKnife/Dagger2)

    括号中列出的是该类开源库中的代表作,有些种类我列出了两个,但是初学的时候只需要挑一个学习就可以了。当然,开源库的种类远不如这些,还有例如数据库操作,图片选择器,大图查看器等许多种类,但是这些库用到的频率并不及以上五种,以上五种开源库几乎可以说是在任何app中都要使用到的,学会它们无论是对你开发应用的效率还是应付公司面试都颇为有用。

    学习开源库的方法主要是先在网上找到一篇靠谱的文章简单读读,如果你英文好的话也可以直接去它们的项目主页去读英文文档;然后把它们的简单示例写个demo或者直接用在你正在开发的个人项目中,用上去以后再根据代码,仔细研读解析的文章或文档,然后修改这些代码,尝试些高级用法。等你闭着眼睛都能在脑中默念出这些库的使用流程的时候,就可以再找一些深入分析的文章或者亲自去看它们的源码来学习它们的原理;学习原理是非常重要的,特别是在大公司的面试中,考察你是否理解你使用的库的原理也是相当重要的一个环节。到这里Android开发相关的基础理论知识就已经大致学习完了,这一节既然叫实战环节,那么你大量的编码量是少不了的,作为一个初涉编程的学习者,每天都保证一定的代码量或技术书籍的阅读量是少不了的,只有持之以恒的大量练习,解决实际开发中的大量问题,技术才能真正的快速提高。

     

    6.计算机基础知识补缺

    开头已经说过,Android开发已经不是随便一个外行靠几个月的突击就能进入的低门槛行业了,市场上真正缺少的是更专业的开发者,或者说是中高级工程师。作为一个非计算机专业的非科班生来说,制约人发展的往往就是计算机基础知识,基础是个很奇妙的东西,很多人觉得基础枯燥难学又感觉不知道该怎么用,于是就放弃了基础的学习,但实际上基础这东西就像练体能,你在踢足球的时候射门铲球,头球倒钩,看起来固然很帅,但是在一场90分钟的球赛里,如果没有体能,会在比赛结束前就先累趴下,而计算机基础就类似于体能的作用,它提供给你一个更专业的视角来看待编程和写代码,让你在不知不觉中写出高效的程序。

    如果你一个还未毕业的大学生,那你无需做更多的计划,只需要把学校的专业课每一科都学好就足够了,如果你能在大学期间参加一些这些方面的比赛,例如ACM,无论对你的编程能力还是简历都大有益处。

    但是如果你已经踏入工作岗位,那肯定是没时间把大学所有的专业课都学一遍且学的很深了,那可以参照我以下的计划,抓住基础中的重点来学习。

    在我看来,和Android开发关系最密切的三门基础课:计算机网络,数据结构与算法,操作系统,下面会为每个种类推荐相关学习书籍。

     

    网络:《图解HTTP》,《图解TCP/IP》

    这两本书都很薄,讲的网络知识也不会特别深,因此学习起来是非常快的,其它一些讲解网络的书籍,例如《HTTP权威指南》非常厚,也很晦涩难懂,虽然把HTTP讲的非常透彻,但是阅读起来耗费的时间太长,也非常费精力,因此在职的初级程序员就不推荐这样的书了。而这两本书几乎涵盖了Android开发的所用到的大部分网络知识,例如HTTPS,HTTP,TCP/IP的原理,以及一些基础网络知识例如七层协议等等,应付面试中网络部分的问题也是足够的了。

     

    数据结构与算法:《算法4th》,《剑指offer》

    《算法》是一本数据结构与算法的入门书,并且是用Java语言作为示例,因此如果你没有任何算法方面的经验,这本书是再适合不过了,即容易入门,又因为熟悉相关语言而不会感到陌生。

    而《剑指向Offer》则是面试前准备的必备书籍,在大公司的面试中,无数算法题都出自本书,如果你没有跳槽的意愿,本书可以提升你的思维并为你未来的跳槽早做准备,如果你即将找新工作,那本书更是必备的武功秘籍。

    我目前也处在这个阶段,刚刚准备开始阅读这两本算法书籍。

     

    操作系统:

    由于这个阶段自己还没达到,所以还不知道有哪些比较合适的书籍。听群里的朋友说《30天构建操作系统》是一本不错的书,但我自己还没有去了解过,这一部分等我学到这部分的时候再去详细了解和补充。

     

    高级:拓展知识面和大量实战

    7.知识拓展

    推荐书籍:《深入理解Java虚拟机》,《数据结构与算法—Java语言描述》,Android/Linux底层书籍

    在大公司的面试中,无论校招还是社招,都免不了问两道到三道Java虚拟机的题,例如Java内存模型,gc算法等等,因此《深入理解Java虚拟机》这本书主要就是为了学习上述问题而存在的,当然,不仅仅是应付面试,读完了这本书,也算是彻底理解了Java底层的运作机制。

    在第六阶段学完算法的同学也许会发现,《算法4th》并没有包含动态规划等算法知识,而《数据结构与算法—Java语言描述》正是补足这类知识点的好书,当然,这本书也不是必须要看的,如果你对自己的算法功底有更高要求,想深入学习,或者以后干脆想向这方面转行,并且在自己学有余力的情况下就可以向这方面多下功夫,这本书看完后,如果你还不满足,可以尝试着挑战一下传说中的无字天书——《算法导论》。

    作为一个基于Linux内核的操作系统,Android的许多运行机制都和Linux有关,如果你想更深入了解Android底层的内容,例如Native层的运行机制,Linux内核的原理等等,就可以选择一些Android和Linux底层的书籍看看,至于具体是哪些书,我还没有了解过,如果以后我向这方面深入扩展(当然也可能不会),我再回来补充。

     

    除了以上这些推荐的书籍,我们还有另外一些知识值得关注,例如Kotlin。Kotlin今年正式被Google正名,成为在Android上开发应用的首选语言,当然,市场上的应用从Java向Kotlin全面转型是需要相当长的时间的,因此Kotlin的学习顺序被我放在了稍微靠后的位置,但是,如果你已经完成了上述的所有阶段,不知道接下来该学习什么的时候,你就应该立刻开始学习Kotlin了。

    除了新语言以外。一个好的开发者和其它开发者的一个很重要的区别就在于代码是否低耦合,高复用,这就涉及到了架构模式,架构模式在Android中最常用也是最流行的就是MVP,因此学习MVP也是一件颇为重要的事情。

    这里虽然列在了下面,但是我认为Kotlin和MVP的学习顺序应该在深入学习算法和Android/Linux底层之前,毕竟深入的算法知识和过于底层的系统知识和应用开发实际上已经相距甚远了,虽然学习它们可以提升思想,但是在某些方面来说,这些方向的具体知识已经和Android开发无关了,因此这两块是选学内容。

     

    以上我列出的书籍,除了《Head First Java》我都是亲自购买并阅读过的(第六阶段及以后的书还没有读完),但在这里我还想推荐一下很多网友都推荐的好书,它们我虽然没有看过,但是都口碑不俗,在这里我把它们列出来。

     

    《Java核心技术卷:卷1》,《Java核心技术卷:卷2》

    这两本也是Java方面的经典书籍,其中卷1是可以作为入门书使用的,而卷2则是高级知识的进阶书籍。除了《Effective Java》不能被这两本书替代以外,如果你读了这两本书,我推荐的其它基本Java书籍就不是必读的了。

     

    《Android群英传》,《Android群英传——神兵利器》

    这两本书是国内Android大神徐宜生所著,第一本可以看做和《Android开发艺术探索》具有同样作用的书,但是内容上比《艺术探索》略微简单,且并不能完全代替《艺术探索》,因此这本书可以作为互补书籍买来看看。而至于第二本《神兵利器》则是一本不可替代的书籍,你如果想找一本学习开发工具的书籍,这本书绝对合你的胃口,毕竟在Android开发的学习上,gradle,Android Studio,Git等工具的使用也是不容忽略的一大块。

     

    结尾:技术从来都不只是学习书本,书指明了学习的前进之路,但是想要真正有所进步需要把书中的内容用于大量实战,我作为一个小白也在持续学习的道路上奋力奔跑,希望和给为一起持之以恒,最终拿到令我们自己心满意足的Offer,开发出能真正改变数万人生活的好应用,诸君共勉。

     

    2019年更新:已经过了两年,回头看自己曾经写的文章,自己基本已经走完了之前给自己规划的路,Android 开发相关的基础知识大部分还是那些东西,不过市场环境也有了新的变化,下面推荐一些我觉得现在应该需要学习的内容吧:

    1.Kotlin,Kotlin 的成长速度令人惊叹,在国外已经是风卷残云的趋势,在国内我认为Android 开发语言的转换大潮也会很快拉开序幕。如果你要问,学习 Kotlin 有什么好书,我推荐《Kotlin 实战》,作者是 JetBrains Kotlin 开发组的核心成员,这本书唯一的缺点是,它基于 Kotlin 1.0 来讲解 Kotlin,但是如今 Kotlin 已经进化到了 1.3,很多特性,例如:协程、Native 等,书中并未提及,这些内容我推荐您在 Kotlin 中文官网(https://www.kotlincn.net/docs/reference/)的官方文档中学习。

     

    2.JetPack,Google 官方推出了一系列的官方库来提升 Android 开发的效率,例如 Databinding,LiveData,Room,等等,我认为这将会是未来的一个新趋势,因为它们由官方提供并且确实非常好用,如果您想了解这方面的内容,可以前往 Android 开发者官网查看。

     

    3.最后推荐一些书吧,如果您想了解更多关于 Android 虚拟机的知识,《深入理解 Android 虚拟机 ART》介绍的会比较详细。如果你想学习更多 Android 的源码层面的东西《深入理解 Android 内核设计思想》(上、下)是两本不错的书。

     

    4.最后说一点对跨平台开发看法,这两年 Flutter 兴起,跨平台又一次被人提及,相比之下,我觉得 Flutter 确实比原先的 RN 等开发框架优秀许多,会是未来一个趋势,如果感兴趣且有时间,学习一下 Flutter 挺不错的,但是我从来不认为跨平台和原生开发是互相取代的关系,它们是相辅相成的,如果你是掌握了跨平台开发技能的 Android 工程师,这将是你非常大的一个竞争力的体现,但是如果只会跨平台开发的话,我觉得基础知识还是有所欠缺的,所以还是要分清主次,在学有余力的情况下再去了解跨平台开发。

    展开全文
  • 为了帮助大家更好的学习Android开发的相关知识,尚观4G智能操作系统研究室(www.up4g.com)为大家制作以下学习路线图;希望能帮助到广大的android爱好者。 在开始之前我们先来对相关知识进行一个简单的了解: ...

          为了帮助大家更好的学习Android开发的相关知识,尚观4G智能操作系统研究室(www.up4g.com)为大家制作以下学习路线图;希望能帮助到广大的android爱好者。 在开始之前我们先来对相关知识进行一个简单的了解:
     
    行业背景:
           今天,涉及通信产业链中的每个环节,都有Android的身影,Android是第一款完全完整打通了整个通信产业链中的操作系统,手机方案商、集成商、运营商、内容提供商、用户,都在玩Android,都惊讶于Android的爆发式增长速度,Android现在每天有超过50万台新的Android设备启用。
           随着Android平台的扩张,引发了Android人才荒,未来人才需求缺口将达百万。但符合条件的Android工程师屈指可数,企业招聘难度可想而知。据新京报等媒体报道Android工程师一年经验月薪8000元,对此李开复曾在微博谏言学生转学Android软件开发。我们相信,在未来几年内,Android开发工程师将成为3G行业炙手可热的岗位之一。

    什么是Android: 
           Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方)。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。 2010年末数据显示,仅正式推出两年的操作系统的Android已经超越称霸十年的诺基亚Symbian系统,跃居全球最受欢迎的智能手机平台。

    行业薪资: 
           必学 Android的理由:
           更快的薪酬提升通道    更好的热门就业岗位    更多的行业人才需求    最热门的新技术行业
    据新京报等媒体报道Android工程师一年工作经验月薪可达8000元。李开复在微博上谏言学生转学Android软件开发。尚观已毕业学员薪资最高16000元/月(税后),最低3000元/月(在读专科),平均起薪4828.84元/月。 

                                                                                                                                                      查看尚观Android学员就业详情

    Android开发总体路线图:
            

    基础学习——JavaSE:
           很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。那么Java学到什么程度才算是过关呢?以下的JAVA的基础(JavaSE)语法知识必须全面掌握。

    经典学习视频教程

    Java 概述 标示符、关键字1 标示符、关键字2 运算符

    流程控制1

    流程控制2 字符串数组 面向对象编程特征1 面向对象编程特征2 面向对象编程特征方法
    面向对象编程特征 构造方法 面向对象编程特征this 面向对象编程特征 static package 访问控制
    继承1 继承2 继承3 接口1 接口2
    接口3 多态1 多态2 异常处理1 异常处理2
    集合1 集合2 集合3 集合4 集合5
    集合6 集合7 集合8 文件 文件和目录1
    文件和目录2 IO简介 文件流 缓冲流 缓冲流读写
    DB Eclipse 多线程1 多线程2 多线程3
    多线程4 多线程5 网络编程1 网络编程2 网络编程3
    网络编程4 文件读写 转换流 打印流 随机访问
    GUI-AWT GUIAWT2 GUIEVent GUI-作业 GUIswing
    GUIswing2        

    基础学习扩展——JavaEE:
           由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。Java EE:SSH—Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而传统的互联网应用,大多数都是采用JAVA为其构造平台,这使得众多的内容提供商可快速的通过学习进入到Android的产品开发中来,并且可根据自己的内容特色更多的将精力放到交互设计以及UI表现力方面,大大缩短了移动互联网应用的开发周期。

    经典学习视频教程:

    JDBC-简介 jdbc_connection jdbc_statement jdbc_statement jdbc_resultset
    jdbc_metadata jdbc_preparedsta jdbc_callablest jdbc_dao01 jdbc_dao02
    WEB工程结构 Servlet简介 Servlet Fom表单处理 Servlet请求头信息 Servlet相应头信息
    Servlet Cookie Servlet Session Servlet-Scope Servlet-Filter Servlet-Listener
    Servlet-Resource JSP 简介 JSP-脚本元素 JSP-指令元素 JSP-动作元素
    JSP-内建对象 JSP-自定义标签 JSP-JSTL JSP-EL JSP-MVC
    JSP_Project01 JSP_Project02 Struts简介 Struts action StrutsActionForm
    Struts标签 Struts Dispatch 自动生成Struts Struts1自动验证1 Struts1自动验证2
    Struts1tags2 struts tags3 Struts tags4 Struts project1 Struts project2
    Struts project3 Struts project4 hibernate_配置01 hibernate_配置02 hibernate_基础配置
    hibernate_CompositeKey hibernate_Component hibernate_大数据类型 hibernate_继承映射 hibernate_继承映射实例
    hibernate_关联映射 hibernate_HQL hibernate_autoGen hibernate_pro2 struts2_config
    struts2_action struts2_action2 struts2converter 上次课作业 commons-fileupload
    struts2_Interceptor01 struts2_Interceptor02 struts2_Validation struts2_I18N struts2_tags01
    struts2_tags02 struts2_project1 Spring简介 Spring简介2 Spring-IOC
    Spring-DI Spring-AOP spring-AOP-API spring-AOP-XML spring-AOP-Transaction
    spring-JDBC01 Spring集成Hibernate      

    经典学习书籍推荐:
           Java学习的书籍目前有很多,我们在这里为大家推荐几本入门书籍适合初中级学习者,供大家参考。
    《Java编程规范》
    适合对象:初级,中级
    介绍:作者James Gosling(Java之父),对基础讲解的很不错。
    《Java编程思想》
    适合对象:初级,中级
    介绍:这本书的作者就是著名的C++编程思想,对OO的理解很好,Java作为一门面向对象的语言,你学习Java最好也同时参考这本书进行入门学习。

    《Java核心技术:卷Ⅰ基础知识》
    适合对象:初级,中级
    介绍:官方机构图书,你怎么也得有一本,这本书比较全面而且易懂。放在案旁用到的时候查一查,看一看。是学习入门必备书。


    基础学习扩展——Linux基础:
           Android是一种以Linux为基础的开放源码操作系统,在将来的学习和工作当中我们都会与linux命令打交道,补充一些Liunx基础知识还是很有必要的。

    经典学习视频教程
    Linux学习建议1 Linux学习建议2 UNIX like系统的特点 UNIX原则 系统结构与终端控制台
    RHEL5 Linux安装 Linux下寻求帮助 文件相关命令初步 系统命令初步 用户及组管理初步
    文件属性 文件夹属性及umask Linux编辑器及VIM初步 Linux查找及压缩 文本处理及正则表达式
    输入输出重定向及管道 进程控制 进程优先级前台后台 bash变量快捷键 bash运算符及启动脚本
    shell脚本及交互 shell脚本流程控制 shell脚本sed&awk Linux安装软件 linux下X图形显示体系

    经典学习书籍推荐:
           《鸟哥的私房菜》非常不错很适合初学者。
                                                         

    Android开发学习——基础理论:系统架构分析:
           Android系统从底向上一共分了4层,每一层都把底层实现封装,并暴露调用接口给上一层。
    1. Linux内核(Linux Kernel)
           Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。 Linux 内核是硬件和软件层之间的抽象层。

    2. 中间件 中间件包括两部分:
           核心库和运行时(libraries & Android runtime) 核心库包括,SurfaceManager 显示系统管理库,负责把2D或3D内容显示到屏幕;Media Framework 媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite 数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit 浏览器引擎等。
    Dalvik虚拟机:
           区别于Java虚拟机的是,每一个Android 应用程序都在它自己的进程中运行,都有一个属于自己的Dalvik 虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。
    3. 应用程序框架(Application Framework)
           丰富而又可扩展性的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids), 文本框(text boxes),按钮( buttons), 可嵌入的web 浏览器。内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件( layoutfiles )。通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。

    2. 中间件 中间件包括两部分:
           Android 系统会内置一些应用程序包包括email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。目前基本所有的应用程序都是使用JAVA 语言编写的。

    经典学习视频教程
    Android发展现状及前景 Android 简介 Android-HelloWorld Android 应用程序基本原理 Android 布局简介
    Android 选项菜单 Android 通过XML配置文件创建菜单 Android 上下文菜单 Android 子菜单 Android 对话框
    Android 其它常见对话框 Android 用户界面Toast Android 用户界面-布局-线性布局 Android 用户界面-相对布局 Android 用户界面-表格布局
    Android 用户界面-表格布局2 Android 事件处理 Android 用户界面-常用组件 Android 用户界面-自动完成文本 Android 用户界面-列表视图
    Android用户界面列表视图2 Android时间选择对话框 Android 用户界面-进度条 Android 用户界面-表格视图 Android 用户界面-选项卡
    Android 播放器 Android无线点餐系统 博客登陆客户端1 博客登陆客户端2 俄罗斯方块1
    俄罗斯方块2        


    经典学习书籍推荐:
           《Android应用开发详解》书内容详细,案例丰富比较适合大家学习用。
                                                         
    ---------------------------------------------------------------------------------------------------------
    更多精彩内容:
        1、Android在线学习视频
        2、尚观Android学员最高月薪破16000(税后)!
        3、Android开发架构师 V3.2版课程(底层、框架、应用全涵盖)

     

    展开全文
  • android开发学习路线

    2012-03-02 20:24:35
    特此整理分享一下,希望能帮到那些准备学习android开发,或者正在学习android开发,但是又没有找到明确路线的童鞋们!(PS:特此声明,这篇文章不是给培训机构做广告哈,本人也是在自学android开发!!)

    参考资料:千锋3G学院--课程大纲    http://www.mobiletrain.org

    看了专业的培训机构的课程大纲,才知道,自己学习android的路途才刚刚开始!特此整理分享一下,希望能帮到那些准备学习android开发,或者正在学习android开发,但是又没有找到明确路线的童鞋们!(PS:特此声明,这篇文章不是给培训机构做广告哈,本人也是在自学android开发!!)

    第一阶段:Java面向对象编程

    1.Java基本数据类型与表达式,分支循环。 
    2.String和StringBuffer的使用、正则表达式。 
    3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。 
    4.对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。 
    5.Java异常处理,异常的机制原理。 
    6.常用的设计模式:Singleton、Template、Strategy模式。 
    7.JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。 
    8.Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。 
    9.Java I/O输入输出流:File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。 
    10.Java高级特性:反射、代理和泛型。 
    11.多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。 
    12.Socket网络编程。

    第二阶段:Java Web开发

    1.Java解析XML文件DOM4J。 
    2.MySql数据库的应用、多表连接查询的应用。 
    3.Jsp和Servlet应用。 
    4.Http协议解析。 
    5.Tomcat服务器的应用配置。 
    6.WebService服务配置应用。

    第三阶段:android UI编程

    1、Android开发环境搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
    2、Android初级控件的使用:

    TextView控件的使用
    Button控件的使用方法
    EditText控件的使用方法
    ImageView的使用方法
    RadioButton的使用方法
    Checkbox的使用方法
    Menu的使用方法

    3、Android高级控件的使用:

    Autocompletion的使用方法
    ListView的使用方法
    GridView的使用方法
    Adapter的使用方法
    Spinner的使用方法
    Gallary的使用方法
    ScrollView的使用方法

    4、对话框与菜单的使用:

    Dialog的基本概念
    AlertDialog的使用方法
    DatePickerDialog的使用方法
    Menu的使用方法
    自定义Menu的实现方法

    5、控件的布局方法:

    线性布局的使用方法
    相对布局的使用方法
    表格布局的使用方法

    6、多Acitivity管理:

    AndroidManifest.xml文件的作用 
    Intent的使用方法
    使用Intent传递数据的方法
    启动Activity的方法
    IntentFilter的使用方法
    Activity Group的使用方法

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

    自定义ListView的实现方法
    可折叠ListView的使用方法
    自定义Adapter的实现方法
    自定义View的实现方法
    动态控件布局的上实现方法


    第四阶段:android网络编程与数据存储

    1、基于Android平台的HTTP通讯:

    Http协议回顾
    Apache Commons 工具包介绍
    使用Get方法向服务器提交数据的方法
    解析服务器响应数据的方法
    使用POST方法向服务器提交数据的实现方法
    向服务器提交非文本数据的实现方法
    使用Http协议实现多线程下载
    使用Http协议实现断点续传

    2、Android数据存储技术:

    SQLite3数据库简介
    SQL语句回顾
    SQLite3编程接口介绍
    SQLite3事务管理
    SQLite3游标使用方法
    SQLite3性能分析
    访问SDCard的方法
    访问SharedPreferences的方法

    3、ContentProvider使用方法:ContentProvider实现共享数据、URI的解析与UriMatcher、ContentUris的使用、使用ContentResolver操作ContentProvider、ContentProvider的监听Android当中的异步操作:Handler的使用方法;异步任务的基本概念;AsyncTask的使用方法。


    第五阶段:android手机硬件管理

    1、地图及定位技术:GPS简介;LocationManager的使用方法;在Google Map上添加标记的方法;查询某地附近建筑的方法;使用Google Map实现点对点导航。
    2、传感器使用方法:方向、加速度(重力)、光线、磁场、距离、温度等传感器的使用。
    3、近场通信技术:NFC技术简介;NFC技术是用场景介绍;NFC技术实现方法。
    4、媒体管理技术:MediaPlayer的使用方法。
    5、触摸屏技术:手势识别;多点触摸技术。

    第六阶段:Android图形编程技术

    1、图形处理基础:2D图形编程基础;
    2、点、线、面等基本图形元素绘制方法;
    3、Android动画框架简介;
    4、位移动画的实现方法;
    5、淡入淡出动画的实现方法;
    6、旋转动画的实现方法;
    7、Matrix的使用方法。

    第七阶段:Android游戏开发

    1、Android游戏开发:Android游戏开发概述;
    2、SurfaceView的使用方法;
    3、物理小球技术;
    4、碰撞检测技术;
    5、图片、文字和背景音乐等资源的使用方法;
    6、游戏引擎基础概念;
    7、Cocoa2d-Android引擎使用方法;
    8、OpenGL ES使用方法。

    展开全文
  • Android开发学习路线图

    2017-10-07 21:51:15
    接下来这篇博客不打算继续学习Android开发的细节,先停一下,明确一下接下来的学习目标以及学习路线。一、对Android开发的基本认识1、Android原生开发是基于Java语言的,由于我比较擅长C#,所以对Java语言本身不太...

    通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识。

    接下来这篇博客不打算继续学习Android开发的细节,先停一下,明确一下接下来的学习目标以及学习路线。

    一、对Android开发的基本认识

    1、Android原生开发是基于Java语言的,由于我比较擅长C#,所以对Java语言本身不太熟练,需要加强Java语言基础的练习,这一块我会穿插到具体的知识点练习当中,并且在必要的地方给出与C#语言的对比(其实基本上在语法层面是差不多的,只是需要整理一下)。

    2、Android本质上来讲只是一个客户端,所以是基于C/S模式的开发(B/S本质上也是C/S,不过是一种特殊的C/S,浏览器充当了客户端的角色),要想与服务器端通信需要通过http、tcp/ip等协议进行。所以我们可以通过http get或者post动作请求服务端来获取数据,还可以使用socket(tcp/udp)获取数据,也有通用的WebService,但这些都需要服务端程序的支持。虽然我也做过java web开发,知道java中有servlet(对应于ASP.NET中的一般处理程序ashx)可以作为服务端程序,但是毕竟我现在使用的第一编程语言是C#,所以我会使用C#当中专门的网络通信应用框架WCF或者轻量级的Web API作为服务端支持(唯一的缺陷是只能在windows平台运行,不过以后有可能会实现所谓的跨平台)。

    3、Android的开发也会用到数据库,不是Oracle、SQL Server、MySQL,这些都需要在服务器安装;Access是微软提供的文件型数据库,不支持Android(说不定以后支持呢)。也许有人会说可以用properties、xml等文件来存储数据呢?当然可以但是毕竟是文件,不是数据库,不具备基本的数据库管理功能,所以我们需要一个文件型数据库,并且支持Android系统,Sqlite是当前流行的文件型数据库。

    4、现在的程序对UI部分的要求越来越高。用户对一个应用程序的评价好不好,除了可用性之外,主要就看你的UI好不好看,使用是不是很人性化。用户可不懂什么背后的技术,他看到的就是界面。在Android开发中主要通过样式、贴图等手段美化界面。

    二、Android架构图


    从底层到高层,按照顺序分别为:

    1、Linux内核层

    Android本质是Linux操作系统,Linux内核提供了内存管理、进程管理、网络协议等基本功能

    2、系统运行库层

    包括系统库以及Android运行时两个部分。比如系统库中的Surface Manager负责管理显示、Media Framework负责多媒体功能、SQLite是一个小型的RDBMS等等。而比较重要的是Android运行时部分,包括核心库和Dalvik虚拟机(google为了防止版权问题,而没有使用oracle的jvm,而是自行设计了一套java虚拟机)。

    3、应用程序框架层

    提供了一组现成的组件,帮助程序员简化开发

    4、应用程序层

    就是已经存在于Android系统内的应用程序

    由上我们知道,我们大多数时候都是基于应用程序框架层以及系统运行库层进行开发。

    三、Android开发的基本步骤

    抛开需求分析、架构设计等等这些软件开发通用的过程不谈,将范围缩小到Android开发本身,需要这么几个步骤:

    1、建立layout布局文件,有多少个界面画多少个,然后通过样式和贴图设计、美化各个界面

    2、建立Acitivity文件,在OnCreate方法中加载相应的布局文件。实现程序的代码编写部分

    3、在AndroidManifest.xml清单文件中注册Activity,添加程序运行所需要的各种权限

    4、打包发布apk,自行安装(现在流行的扫描二维码,得到下载地址然后安装)


    总结一下:接下来的Android学习我将会侧重于Android客户端程序部分,在服务器端我会使用已经掌握的.NET技术实现(比如WCF、Web API等)。如果学习过程中涉及到操作系统底层的知识,会适当的了解一下。目标就是熟练掌握Android应用开发部分。


    展开全文
  • Android学习路线指南

    2018-02-28 16:17:05
    前言 看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“,...这是一个问题,我不好回答,但是我想写一篇文章来描述下Android学习路线,期望可以帮助更多的...

    前言

    看到一篇文章中提到“最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺“,这的确不假,从我在百度所进行的一些面试来看,找一个适合的高级Android工程师的确不容易,一般需要进行大量的面试才能挑选出一个比较满意的。为什么中高级Android程序员不多呢?这是一个问题,我不好回答,但是我想写一篇文章来描述下Android的学习路线,期望可以帮助更多的Android程序员提升自己。由于我也是从一个菜鸟过来的,所以我会结合我的个人经历以及我对Android学习过程的认识来写这篇文章,这会让这篇文章更加真实,而并非纸上谈兵。

    我的工作经历

    前面说到,我也是从一个Android菜鸟过来的。其实这句话放在任何人的身上都是适用的,即大家都是一步步过来的,因此作为初学者也不必因为技术差而郁闷,同理,高手也不要看不起一些所谓的菜鸟,因为这不公平,技术只有在同等的工作年限上才具有一定的可比性,也许你眼中的菜鸟只是个工作半年的新手,而你已经工作5年,可想而知,这根本不具有可比性,搞不好别人5年后可以达到比你更高的技术高度。

    我有若干个技术QQ群,群里(481798332)的小伙伴对我的工作经历比较感兴趣,刚好在这里我就做下介绍。我是硕士研究生毕业,我已经工作3年零3个月了,职位上从最开始的腾讯初级工程师变成了现在的百度Android资深工程师。最开始我并不是做Android的,先是做了半年的C++,接着做了3个月的Web前端,然后公司内部转岗做Android到至今,纯Android工作年限的话其实是2.5年。但是我认为我的Android工作经验(注:工作年限不等同于工作经验)不止2.5年,我投入大量的业余时间在Android开发上,并且我习惯去思考问题、总结问题并将其融会贯通,因此我的Android技术在短时间内有了很大的提升。

    在Android学习过程中,初学者踩过的坑我也都踩过,我也深深地知道大家在学习过程中最棘手的问题是什么。举个例子,在3年前,我想在SlidingMenu中放入一个ListView,发现二者总是不能很好地一起工作,这肯定是由于滑动冲突的问题,我也知道,但是不知道怎么解决。我就去学校图书馆翻遍了所有的Android书籍,无果。大家肯定都知道原因,为什么我无法从书中查找到问题的答案,因为入门书不讲滑动冲突,所谓的高级编程书也不讲。还有一个问题,我曾经以为view.post(runnable)可以让runnable的run方法在线程中执行,所以我就在run方法里面去做耗时的操作,现在想想我当时是多菜啊,因此我曾经也是菜鸟。

    直到若干年后的某一天,我终于琢磨透了滑动冲突的事,然后我就把解决问题的思想写在了CSDN博客上,但是好像看得人并不多,很多人并不能体会我的用心,后来我博客的访问量越来越大,这才慢慢地得到了一些人的关注。后来有一天我有了写书的契机,我想到了我最开始学习Android时所踩过的坑,想到滑动冲突对我的困扰,为了更好地传播我的技术经验,为了让更多的人少踩一些坑,为了让更多地人成为Android高级工程师,我毅然决定将Android开发中最重要的、最疑难的、最容易困扰大家的、成为高级工程师所必备的知识点和盘托出,这就是《Android开发艺术探索》存在的原因以及意义。书的反响怎么样呢?从目前读者的评价来看,内容基本无差评,我收到了很多读者的肯定以及感谢,这说明很多人能够理解我的用心。

    说了那么多,言归正传,下面说下Android学习路线的话题,本文打算从4个阶段来对Android的学习过程做一个全面的分析,分别为Android初级、中级、高级以及资深工程师,具体请看下面的分析。同理,本篇学习路线仍然只针对Android应用开发,不针对Rom开发和逆向工程等。这里虚拟一位“小明”的角色,在这里小明就是Android初学者的代表。

    初级工程师

    小明之前完全没接触过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》

    中级工程师

    小明经过一年的努力学习终于成为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群英传》

    高级工程师

    小明成为了梦寐以求的高级工程师,月薪达到了20k,还拿到了一丢丢股票。这个时候小明的Android水平已经不错了,但是小明的目标是资深工程师,小明听说资深工程师月薪可以达到30k+。

    为了成为Android资深工程师,需要学习的东西就更多了,并且有些并不是那么具体了,如下所示:
    - 继续加深理解”稍微深入的知识点“中所定义的内容
    - 了解系统核心机制:
    1. 了解SystemServer的启动过程
    2. 了解主线程的消息循环模型
    3. 了解AMS和PMS的工作原理
    4. 能够回答问题”一个应用存在多少个Window?“
    5. 了解四大组件的大概工作流程
    6. …
    - 基本知识点的细节
    1. Activity的启动模式以及异常情况下不同Activity的表现
    2. Service的onBind和onReBind的关联
    3. onServiceDisconnected(ComponentName className)和binderDied()的区别
    4. AsyncTask在不同版本上的表现细节
    5. 线程池的细节和参数配置
    6. …
    - 熟悉设计模式,有架构意识

    学习方法

    这个时候已经没有太具体的学习方法了,无非就是看书、看源码和做项目,平时多种总结,尽量将知识融会贯通从而形成一种体系化的感觉。同时这个阶段对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习。关于设计模式的学习,最近一本新书推荐给大家《Android 源码设计模式解析与实战》,既可以学习设计模式,又可能体会到Android源码中的设计思想,我最近也在阅读此书。

    技术要求:
    - 稍微深入的知识点
    - 系统核心机制
    - 基本知识点的细节
    - 设计模式和架构
    - 书籍推荐
    《Android开发艺术探索》、《Android 源码设计模式解析与实战》、《Android内核剖析》

    资深工程师

    这个阶段的程序员也许并没有太具体的学习路线了。

    交流方式

    • QQ交流群:635778578
    • 欢迎关注我的公众号,会持续更新Android干货
      cover
    • 欢迎加入我的知识星球,一起学习交流
      cover
    展开全文
  • 如何学习Android开发

    2013-10-25 15:24:27
    在智能手机越来越流行的今天,选择成为一名Android系统开发工程师似乎是一个不错的主意,实际上,做为一个完全开源的移动操作系统,Android已得到众多企业的追捧,发展前景无比诱人。如果你已经确定了学习Android的...
  • Android开发学习

    2018-05-17 21:18:54
    Android开发学习 Android开发学习 什么Android开发Android开发用到的工具有哪些? Android开发用到的知识有哪些? Android开发学习路线 Android开发学习资源 什么Android开发?     Android...
  • 因为项目需要,8月中旬开始决定做安卓的程序,所以马上就开始学习安卓方面的开发知识,把最近的学习实践经历和大家分享分享。不要一开始就下载一大堆资料,视频,然后就不知道做什么了,给自己定
  • Android开发技术兴起以来,越来越多的年轻人...现今在大学教育的计算机专业里面已经开展了C语言的学习,在校期间所教授的课程对于Android开发基础还是有一定的理论支撑的,建议大家将其基本的语法再好好回顾一下,...
  • 环境也搭建好了,android系统也基本了解了,那么接下来就可以开始学习android开发了,相信这么下去肯定可以把android开发学习好的,再加上时而再温故下linux下的知识,看看android源码,终有一天可以让自己提高到...
  • 下面推荐几本个人觉得搞Android开发值得一读的书籍。 再推荐几个安卓开发者常上的平台,能很好的帮助你从各路大牛身上到更多的东西。 推荐你关注DevStore(主要是开发者服务商店)还有csdn和开源中国,都是开发者经常...
  • 在智能手机越来越流行的今天,选择成为一名Android系统开发工程师似乎是一个不错的主意,实际上,做为一个完全开源的移动操作系统,Android已得到众多企业的追捧,发展前景无比诱人。如果你已经确定了学习Android的...
  • Android开发的经典入门教材和学习路线? 1.想利用寒假期间学习Android开发,了解到应该先学习Java,不知道选哪本书入门,学习Java和Android有什么经典教材,适合初学者。(有C++的基础,但的不是很好) 2....
  • 如何成为一名优秀的Android驱动程序员?参数如下要求: 一、Android驱动的基础知识 1.Android驱动是基于Linux驱动,强烈推荐阅读Linux Device Driver 3rd版,这本书讲了Linux下设备驱动的基础知识,要求反复细读。 2...
  • 很多时候我们都会不断收到新手的提问“Android开发的经典入门教材和学习路线?”、“Android 开发入门教程有哪些推荐?”等类似的问题,我们不断重复回答这些问题,这让我们萌生了做《 Android开发书籍推荐:从入门...
  • 很好的电子书教程!...Android Android Android Android 学习方法 ① 了解什么是 Androi ② 建立开发环境 ③ 阅读 SDK 文档 ④ 背景知识 � Java � 面向对象 � 设计模式 � J2ME、Brew 、Symbian
  • 30岁学android开发

    2012-08-01 14:01:39
    不知道晚不晚,83年12月31生人,周岁28了,现在学习android开发学习了一些基本知识,但应用上有点困难,复习了一遍,心得不是很深,报了一个班学习过程中,老师讲的有些快,看着程序听着老师讲课,过后很容易就...
  • 1. Android Developers 作为一个Android开发者,官网的资料当然不可错过,从设计,培训,指南,文档,都不...CodePath是国外一个技术培训机构,主要培训iOS 和Android开发,而CodePath将Android Guides放在Githu
1 2 3 4 5 ... 20
收藏数 219,659
精华内容 87,863