一周时间,把第一行代码的前13章大概看了一遍,现在看书养成了急于求成的习惯吧,虽然每个代码都自己实现了一遍,但是很囫囵吞枣。正好手机拿去修了,小结一下这本书。看的电子书。先把章节目录理一理。
第一章:启程 第一章主要是一个概述,包括android版本历史的介绍,android四大组件,android开发环境的搭建,这里用的eclipse+虚拟机,个人觉得还是用真机靠谱,AS和虚拟机都卡的要死
第二章:活动 四大组件之一
2-1 什么是活动 活动可以说就是我们可以看得到操作的了的组件
2-2 活动的基本用法
2-3 Intent intent的翻译是意图,目的,控制组件间的跳转
2-4 活动的生命周期 onCreate--onDestroy onStart--onStop onResume--onPause onRestart这是贯穿在活动始终的7个函数
活动启动:onCreate onStart onResume
活动暂停:onPause
活动唤醒:onResume
活动终止:onPause onStop onDestroy
2-5 活动的启动模式 有点忘记了,四种启动模式Standard SingleTop SingleTask SingleInstance
安卓采用栈的方式来管理活动,
Standard模式就是每次启动一个活动,就创建这一活动的实例压入栈顶,不管栈内是否已经有这一活动的实例。(以浏览器举例,有点像F5刷新页面的意思)
SingleTop简单来说就是当某一活动的实例在栈顶时,再启动这一活动,直接调用栈顶实例,不创建新的实例。(F5不刷新页面)
SingleTask的启动模式则是当某一活动在栈内时,将在它上方的所有活动出栈,不创建新的实例。(无论从那个入口,都会回到上次访问的页面状态)
SingleInstance将会为当前活动创建一个单独的栈,主要是用来实现活动的共享,不同的程序可以访问同一个活动。(新开了一个浏览器窗口)
2-6 随时结束所有活动 这里是通过对Activity类的继承来实现的,创建ActivityControl类,将所有Activity添加到List管理,继承实现自己的Activity类,调用ActivityControl即可,感觉两个类可以合并到一起实现
第三章:UI设计 大头UI设计,很见功力的地方,不过书里只是介绍了简单的TextView、Button、EditView等等使用方法
3-3 四种布局方式 LinearLayout RelativeLayout FrameLayout TableLayout又是快忘记的内容
LinearLayout线性布局,最基本的布局方式,水平或者竖直排列各个VIEW
RelativeLayout相对布局,前两种布局方式基本和HTML里的布局类似,相对布局就是控件间和控件与父布局相对定位,上下左右就这么简单。。。。
FrameLayout帧布局,暂时还没用过,将所有控件在左上角布置,据说在碎片中会用到
TableLayout表格布局,让控件以表格的形式布局,也没具体用过
第四章:碎片(平板开发,略过了)
第五章:广播机制
第六章:数据持久化
第七章:内容提供器
第八章:手机多媒体
8-1 通知 通知的用法和传感器的用法一样创建NotificationManager,Notification的创建和设置,Notification的启动,另外可以通过PendingIntent点击通知触发事件,这个在另一篇随笔里详细讲了下
8-2 接收和发送短信 系统接收短信时会发送android.provider.Telephony.SMS_RECEIVED广播,所以可以通过广播接受器接受短信,另外短信的接受通过有序广播来实现,也就意味着我们可以拦截短信。发送短信的功能没有具体实现,后面补上,这个功能是不是可以用来发送验证码呢?
8-3 摄像头和相册 拍照和从相册取照片的功能在另个随笔里提及
8-4 播放视音频 音频播放较为简单,通过MediaPlayer类实现即可,视频的播放的话涉及的是一个VideoView类
第九章:服务
第十章:网络技术(部分略过)
第十一章:定位服务(部分略过)
第十二章:传感器 传感器这一章主要是各种Sensor,光学传感器、加速度传感器、地磁传感器等等,传感器的调用方法基本一致,基本就是
创建SensorManager,获取传感器服务getSystemService(context.SENSOR.SERVICE),创建相应的Sensor,设置Sensor监听器,里面演示的几个例子感觉难度更主要是具体应用的算法,包括安卓官方提供的记步算法,基础不行,只能借轮子
第十三章:高阶技巧
13-1 全局获取context的技巧 总体思路就是自定义一个Application类继承原有的Application,在这个类内实现获取context的方法,之后本身不具有context属性的组件就可以通过这个类来获取context
13-2 使用Intent传递对象 intent.putExtra方法,这里提到的两种方法,一种是让数据类实现序列化接口Serializable,一种是通过实现Parcelable接口,不过感觉前者更加简洁明了
13-3 定制自己的日志工具 这里的思路有点类似C中#define debug printf的方式,用自己类覆盖log,同时设置开关
13-4 调试android程序 单步调试,感觉现在单步调试效果不佳,可能是我理解不深吧,现在还是习惯打log,看bug,网上搜这样的思路
13-5 编写测试用例 浅尝辄止,没有入门的感觉,希望有更具体的例子
第十四章:实战开发(未完成)
第十五章:应用发布(未完成)
PS:四大组件,都需要在manifest里注册使用,而系统本身的服务或者功能很多都是需要权限的申请,这些都是需要注意的细节。
总体来说郭霖大神的《第一行代码》一书结构很合理,适合有一定JAVA基础的同学学习。但是也有一些问题吧,首先是以例子讲解,但是把例子的思想思路讲的太全太完整,没有引出思考,让我这样的小白很容易流于各种表面的功能;其次,每一章背后的打怪升级的故事,有点鸡肋的感觉,希望留一些问题,当然这些故事可能会带来些许成就感吧。
原文:http://www.cnblogs.com/xuehe/p/5068103.html