安卓编程-安卓编程入门教程视频
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。最早是为数码相机开发的系统。后来,支持手机的Android操作系统由Andy Rubin开发。2005年8月由Google 收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android是增长最快的操作系统,因其在3大操作系统中支持设备种类最丰富、数量最多,所以它也有着庞大的用户群,是发展最快的科技产品。
1. 为什么选择Java开发Android
学习Android开发,对每个新手都是一个很大的挑战,就好像在异国他乡学会生存一样。即使会说当地的语言,一开始也绝不会有在家的感觉,因为你不能完全理解周围人理解的东西。原有的知识储备在新环境下可能完全派不上用场。
Android有自己的语言文化——Java语言。那为什么选择Java呢?Java是一个跨平台语言,它不像C++那样需要重新进行编译。Java的运行效率虽然不佳,但是它的语法相对简单,其中的相对特性也能让一般程序员开发出比较稳定的程序。因为Java程序是运行在虚拟机上,这就为权限控制,崩溃隔离等问题打下了一个良好的基础,就算一个程序崩溃了,往往也只是应用闪退,不容易造成系统的整个崩溃。Java的使用人群范围较广,用户基数庞大。虽然C++的使用人群也不少,不过相对来说少一些。使用Java的开发者更容易转为Android开发者,这在一开始Android生态系统未能建立时,尤为重要。但仅掌握Java远远不够,还需要学习很多新的理论和技术知识来理清头绪,从而指引你穿越陌生的领域。
2. 图灵Android参考图书
以上图书均有图灵社区电子版。更多图灵 Android 相关图书请查阅书单:
—图灵Android书单
以下为大家重点推荐美亚 Android编程第一书Android Programming: The Big Nerd Ranch Guide, Third Edition 中文版——《Android编程权威指南(第3版)》。
小贴士
Big Nerd Ranch是美国一家培训机构,他们同时也成立了自己的出版公司,他家的技术图书目前统称为 Big Nerd Ranch Guides 系列,这个系列整体上相当给力,国内各家出版社也是各种争抢版权。
这个系列,图灵已出版2本,另外一本是《Swift编程权威指南》安卓编程,这篇文章之后为大家推荐,非常给力,也是美国亚马逊Swift学习第一书。图灵这边还有一本Front-End Web Development: The Big Nerd Ranch Guide (Big NerdRanch Guides)(中文版《Web开发权威指南》),正在编辑中,估计9月份跟大家见面。
他家这个系列的书还涵盖iOS、OS X、OC主题,国内已经由其他出版社引进,喜欢这个系列的可以自行去网店搜索。
3. Android编程权威指南(第3版)
作者:Bill Phillips,Chris Stewart,Kristin Marsicano
译者:王明发
定价:129.00元 /电子书:59.99元
本书主要以Android训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android编程权威指南。全书共36章,详细介绍了8个Android应用的开发过程。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得宝贵的开发经验。
本书已经升级到了第3版,并为大家介绍了一些新工具:constraintlayout(包括其编辑器)和数据绑定(data binding)。新增的几个章节,内容涉及单元测试、辅助功能(accessibility)、MVVM架构和应用本地化。书的末尾还介绍了Android的新运行时权限系统。此外,我们还进一步扩充了挑战练习和深入学习部分的内容,并修订了全书的一些不够完善的部分。
Bill Phillips
Big Nerd Ranch资深讲师安卓编程,与人合作开发了广受好评的Android训练营培训课程,并为之编写教材。
Chris Stewart
Big Nerd Ranch的Android团队主管、Android训练营资深讲师。
Kristin Marsicano
Big Nerd Ranch资深讲师、Android开发者。
王明发
毕业于华东理工大学。软件开发及项目管理者,拥有近十年的软件开发及项目管理经验;除了翻译本书前两版之外,另译有《写给大家看的项目管理书(第3版)》。
—亚马逊购买本书 —
4. 阅读之前需要掌握哪些Java知识
使用本书,你需要熟悉Java语言,包括类、对象、接口、监听器、包、内部类、匿名内部类、泛型类等基本概念。如果对这些概念感到陌生,那么你很可能在翻到第二页时就已经无法再读下去了。对此,建议先放下本书,找本Java入门书看一看。市面上有很多优秀的Java入门书,你可以基于自己的编程经验及学习风格去挑选。如果你熟悉面向对象编程,但Java知识忘得差不多了,那么阅读本书应该不会有太大的问题。对于接口、匿名内部类等重要的Java语言点,我们会提供必要的简短回顾。建议在学习过程中手边备上一本Java参考书,方便查阅。
5. Android版本主要针对当前广泛使用的各个系统版本(Android 4.4 至 Android 7.1)。虽然更老的系统版本仍有人在用,但对于大多数开发者来说,为这部分人开发应用就是个赔本的买卖。如果应用确实需要支持 Android 4.4 之前的系统版本,请参考本书第2版(Android 4.1及以上版本)和第1版(Android 2.3及以上版本)的相关内容。
Google还会不断地发布新版本的Android系统。请放心,Android支持向后兼容,即便有了新系统,本书所授知识也不会过时。而且,通过forums.bignerdranch.com论坛,我们也会不断跟踪Android开发新动向,及时为你提供开发指导和支持。
6. 内容概览
本书会教会你开发8个Android应用。有些应用很简单,一章即可讲完;有些则相对复杂。最复杂的一个应用跨越了11章。通过这些精心编排的应用,你能学到很多重要的理论知识和开发技巧,并获得最直接的开发经验。
7. 练习题?有
大部分章末都配有练习题。可借此机会学以致用,查阅官方文档,锻炼独立解决问题的能力。强烈建议你完成这些挑战练习。在练习过程中,尝试另辟蹊径,探索自己独特的学习之路。这有助于巩固所学知识,增强未来开发应用的信心。若遇到一时难以解决的问题,请访问论坛求助。
8.
图书目录
第1章Android开发初体验1
1.1Android 开发基础2
1.2创建Android项目2
1.3Android Studio使用导航6
1.4用户界面设计6
1.5从布局XML到视图对象13
1.6组件的实际应用16
1.7创建提示消息19
1.8使用模拟器运行应用21
1.9深入学习:Android编译过程23
1.10关于挑战练习25
1.11挑战练习:定制toast消息25
第2章Android与MVC设计模式26
2.1创建新类26
2.2Android与MVC设计模式29
2.3更新视图层31
2.4更新控制器层33
2.5在物理设备上运行应用37
2.6添加图标资源38
2.7挑战练习:为TextView添加监听器42
2.8挑战练习:添加后退按钮42
2.9挑战练习:从按钮到图标按钮42
第3章activity的生命周期45
3.1日志跟踪理解activity生命周期46
3.2设备旋转与activity生命周期52
3.3保存数据以应对设备旋转56
3.4再探activity生命周期58
3.5深入学习:activity内存清理现状59
3.6深入学习:日志记录的级别与方法60
3.7挑战练习:禁止一题多答61
3.8挑战练习:评分61
第4章Android应用的调试62
4.1异常与栈跟踪63
4.2 Android特有的调试工具70
4.3挑战练习:探索布局检查器72
4.4挑战练习:探索内存分配跟踪72
第5章第二个activity74
5.1创建第二个activity 75
5.2启动activity 81
5.3activity间的数据传递83
5.4activity的使用与管理91
5.5挑战练习:堵住漏洞93
第6章Android SDK版本与兼容94
6.1Android SDK版本94
6.2Android编程与兼容性问题95
6.3使用Android开发者文档100
6.4挑战练习:报告编译版本101
6.5挑战练习:限制作弊次数102
第7章UI fragment与fragment管理器103
7.1UI 设计的灵活性需求104
7.2引入fragment104
7.3着手开发CriminalIntent 105
7.4托管UI fragment 112
7.5创建UI fragment 115
7.6向FragmentManager添加UI fragment 122
7.7采用fragment的应用架构126
7.8深入学习:fragment与支持库127
7.9深入学习:为什么优先使用支持库版fragment 128
第8章使用RecyclerView显示列表129
8.1升级CriminalIntent应用的模型层130
8.2使用抽象activity托管fragment 132
8.3 RecyclerView、ViewHolder和Adapter 137
8.4绑定列表项145
8.5响应点击147
8.6深入学习:ListView和GridView 148
8.7深入学习:单例148
8.8挑战练习:RecyclerViewViewType 149
第9章使用布局与组件创建用户界面150
9.1使用图形布局工具151
9.2引入ConstraintLayout 151
9.3深入学习布局属性163
9.4图形布局工具使用小结167
9.5挑战练习:日期格式化167
第10章使用fragment argument168
10.1从fragment中启动activity168
10.2 fragment argument 172
10.3刷新显示列表项174
10.4通过fragment获取返回结果176
10.5深入学习:为何要用fragment argument 177
10.6挑战练习:实现高效的RecyclerView刷新178
10.7挑战练习:优化CrimeLab的表现178
第11章使用ViewPager179
11.1创建CrimePagerActivity 180
11.2 FragmentStatePagerAdapter与FragmentPagerAdapter184
11.3深入学习:ViewPager的工作原理186
11.4深入学习:以代码的方式创建视图187
11.5挑战练习:恢复CrimeFragment的边距187
11.6挑战练习:添加Jump to First按钮和Jump to Last按钮188
第12章对话框189
12.1创建DialogFragment190
12.2 fragment 间的数据传递196
12.3挑战练习:更多对话框205
12.4挑战练习:实现响应式DialogFragment 205
第13章工具栏207
13.1 AppCompat207
13.2工具栏菜单209
13.3实现层级式导航218
13.4可选菜单项219
13.5深入学习:工具栏与操作栏224
13.6挑战练习:删除crime记录224
13.7挑战练习:复数字符串资源224
13.8挑战练习:用于RecyclerView的空视图225
第14章SQLite数据库226
14.1定义schema 226
14.2创建初始数据库227
14.3修改CrimeLab232
14.4写入数据库233
14.5读取数据库235
14.6深入学习:数据库高级主题介绍241
14.7深入学习:应用上下文241
14.8挑战练习:删除crime记录242
第15章隐式intent243
15.1添加按钮组件244
15.2添加嫌疑人信息至模型层244
15.3使用格式化字符串246
15.4使用隐式intent 248
15.5挑战练习:ShareCompat 256
15.6挑战练习:又一个隐式intent 256
第16章使用intent拍照258
16.1布置照片258
16.2文件存储260