android学习指南 Android Framework如何学习
一、学习Android开发,有什么书籍值得推荐
在悟空上我回答过这个问题——【Android开发能推荐几本好书么?】”,问题地址为,下面再回答一遍。
其实这个问题之前在个人博客和知乎上分享过,不过当时只推荐了中高级的开发书籍,今天在悟空上也分享一下,也补充一些入门级别的书。
作为一名Android开发者,推荐几本个人认为不错的书,本着负责任的态度,以下推荐都是个人看过的。
Android开发入门系列,排名不分先后:
《第一行代码》——这本书已经出过两版了,作为入门系列,写的比较不错,作者郭霖在CSDN上的博客也非常通俗易懂。《HeadFirstAndroid开发》——HeadFirst系列图书的共同特点就是非常有趣味性,每个知识点附带精美有趣的插图,很适合入门。Android官方入门指南的Training系列,地址为,国内都可以直接访问。国内也有翻译后的中文版,地址为。个人非常推荐多阅读官方文档。Android开发中高级系列,排名不分先后:
《深入理解计算机系统》——程序员是要跟计算机打交道的,那么最好首先明白它的工作原理,才能让你的代码游刃有余。《图解HTTP》——如今单机版的App还有吗?绝大多数App的网络通信是基于HTTP协议的,所以你需要深入了解它。《图解TCP/IP》——App开发无非网络和界面,TCP/IP作为网络的基础协议,其重要性不需多说。《EffectiveJava中文版(第2版)》——会Java只能让你写出普通的AndroidApp,而这本书将告诉你如何用Java写出高效的App。如果你说你用H5、JS、Kotlin或者以后用Swift开发Android,那就当我没推荐。《EfficientAndroidThreading》——Android中极为重要的概念之一,想一想每个界面的主线程、工作线程及线程通信吧。《ProAndroidAppsPerformanceOptimization》——这本书教你从哪些方面并且怎样进行Android性能优化。《Android开发艺术探索》——为数不多的国内作者写的不错的书,对Android知识点结合源码进行较为深入的分析。《App研发录》——也是国内作者写的,我也看到某人在博文里批此书内容空洞,但我认为是一本好书,喜欢作者提纲挈领,概括总结的风格,而不是拘泥于细节和代码。《构建安全的AndroidApp》——你的App被反编译过吗或者你反编译过别人的App吗?在这个年代,App安全越来越得到重视,所以它也是你需要的。《深入理解Android内核思想》——分上下册两本,从源代码角度分析了Android系统的设计和架构,了解了Android底层设计思想和逻辑,对于应用层的开发会更加游刃有余。Android官方开发文档及Android源码——原谅我不得不把它列进来,甚至它比上述所有书籍都重要,它是一座宝库,希望大家千万要重视并好好利用,同时还可以练习英语哦,一举两得。书不在多,而在于精。其他的不错的书也可能有遗漏,希望读者能找到适合自己的学习方法。
二、Android Framework如何学习
与其说如何学习不如说如何调试。单纯的阅读源码我想过几天就会忘了,不如多打点log和断点,哪里不懂打哪里。差不多后找些国内rom涉及framework层的优化实例或者功能试着自己去一步步实现。
三、如何更好的学习android开发
谢谢邀请!
作为一名IT行业的从业者,同时也是一名教育工作者,我来回答一下这个问题。
首先,Android开发在学习难度上并不算大,如果具备一定的计算机基础知识,完全可以通过自学来掌握基本的Android开发知识。
从整体的Android开发流程上来看,Android开发涉及到三块技术,第一块是Android客户端开发;第二块是Android服务端开发;第三块是前端开发,主要是进行Android端的管理,这三块开发也涉及到不同的知识结构,在开发团队中往往也需要有多个开发角色进行协调开发。对于初学者来说,要想更好的学习Android开发,同时未来想具有更强的岗位竞争力,那么这三块技术都应该有一定的掌握。
目前Android客户端开发可以采用Java或者是kotlin,由于目前Java的应用范围比较广泛,同时后端开发也经常采用Java开发,所以建议选择学习Java语言。在学习规划上,可以按照以下的学习步骤:
第一:Java基础开发部分。Java基础开发部分涉及到三大块内容,其一是Java的面向对象基本编程语法,重点在于对各种“抽象”的理解,这部分也是学习的难点之一。具体内容包括类、接口、对象、封装、继承、多态、集合、多线程等内容。
第二:JavaWeb开发。JavaWeb开发涉及到前端开发(Html、CSS、JavaScript)、数据库开发(Sql、JDBC)和框架开发(SpringBoot、SpringCloud)三大块内容,这部分内容相对比较多,需要完成大量的实验。
第三:Android开发。Android开发涉及到具体的Android开发细节,这部分内容相对还是比较简单的,涉及到Activity、Fragment、Service、ContentProvider等内容。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!