《疯狂的android讲义第3版》读书笔记

第一章、开始启程,你的第一行android代码

1.android系统架构:

  1)linux内核层:为底层硬件提供驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wifi驱动、电源管理等

  2)系统运行库层:用C/C++实现的各种底层库,如:OpenGL/ES库提供了3D绘图的支持,Webkit提供了浏览器内裤的支持,Dalvik虚拟机(Java的虚拟机)

  2.5)android运行时:由android核心库集和ART组成,ART是虚拟机。

  3)应用框架层:提供各种API

  4)应用层:手机上的各种应用,你开发的程序

2.四大组件:活动(Activity)、服务(Svedrvice)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)

3.其它系统提供的:系统控件、SQLite数据库、地理位置定位、强大的多媒体、传感器(利用android和移动设备实现不止于手机的用途)

4.可以使用命令来启动AVD和emulator

5.可以使用monitor进行调试,android studio 已集成(P18)

6.android debug bridge(ADB)是个强大的工具,可以实现模拟器和电脑之间的互相传输(文件传输、安装APK)

7.使用mksdcard命令可以管理虚拟SD卡

8.android 基本组件介绍:

  1).activity和view:控制显示

  2).service:后端逻辑

  3).broadcastReceiver:类似监听器,接受别的组件发来的消息。有2种实现方法

  4).contentProvider:提供给别的程序交换数据,对应的是别的程序通过contentResolver来访问数据

  5).intent:activity、service、broadcastReceiver之间的通信载体,分显示和隐式2种

9.android发布需要签名,可以通过IDE生成调试签名

第二章、android应用的界面编程

1.view类的XML属性、相关方法及说明,P41

2.可以自定义view容器,重写方法

3.布局管理器:

  1)线性布局:linearLayout,不会换行

  2)表格布局:tableLayout,继承linearLayout

  3)针布局:frameLaygout,类似图层,但不可改变图层上下顺序

  4)相对布局:realativeLayout,位置由相邻组件决定

  5)网络布局:gridLayout,自定义网络的格数

  6)绝对布局:absoluteLayout,自定义X,Y坐标,不推荐使用,因为各个设备分辨率不同

4.TextView及其子类

  1)textView:不可编辑,其它view的父类

  2)editText:可编辑,inputType属性,可以设定表单输入类型

  3)button:按钮,onClick事件

  4)9Path图片,可缩放的背景图片,SDK有专门的工具可以生成

  5)radioButton和checkButton:单选和多选框,继承button按钮

  6)toggleButtoen和Switch:开关按钮和开关,继承button按钮

  7)analogClock和textClock:时钟组件,继承自textView

  8)chronometer:计时器组件,继承自textView

5.imageView及其组件:imageView ,imageButton,zoomButton,quickContactBadge (后面开始略写)

6.Adapter View及其子类:列表视图、

7.progressBar及其子类:进度条、拖动条

8.viewAnimator及其子类:切换时表现动画效果

9.其它组件:toast提示框、日历视图(calendarView)、日期时间选择器(datePicker、timePicker)、数值选择器、搜索框(searchView)、选项卡(tabHost)、滚动视图(scrollView)、通知栏(notification)

10.对话框:alerDialog(普通对话框)、进度对话框(progressDialog)、datePickerDialog(日期选择对话框)、时间选择对话框(timePickerDialog)

11.菜单:菜单可以通过menu按钮触发(android 3.0之后不要求配备menu按钮),也可以通过自定义触发

12.活动条:actionBar(android 3.0之后出现),位于屏幕顶部

第三章、android的事件处理

1.android两套事件处理机制:基于回调和基于监听的事件处理(事件源、事件监听器、注册监听器)

2.实现事件监听器的几种方法:

  1)内部类形式。可以复用组件和监听器类

  2)外部类形式。可以解耦,设置公用组件

  3)activity本身作为监听器类。比较方便,但是不优雅

  4)匿名内部类。一次使用最方便,推荐

3.可以使用组件标签类似onclick的方法,实现事件监听绑定

4.回调和监听器实现事件处理的区别:监听模式,当事件源发生事件时,交给监听器处理;而回调模式,当事件源发生事件时,还是由事件源负责处理的(重写方法)

5.事件传播的顺序:android系统最先触发的事组件上绑定的时间监听器,然后才触发组件提供的事件回调方法,最后传播到该组件所在的activity

6.系统设置的更改也可以作为事件监听

7.不要在UI线程中执行耗时的操作,否则会导致ANR异常

8.关于使用线程更新UI的方法(android规定只允许UI线程更新UI组件,所以当其它线程要更新时只能使用如下方法):

  1)使用hanlder实现线程之间的通信

  2)使用Activity.runOnUiThread(Runnable)、View.post(Runnable)、View.postDelayed(Runnable,long)方法

  3)使用异步任务(AsyncTask)实现异步处理

第四章、深入理解Activity与Fragment

1.activity相当于JAVA的servlet的作用

2.使用bundle在activity之间交换数据

3.startActivityForResult,启动activity让用输入信息,返回结果

4.activity的生命周期:运行状态、暂停状态、停止状态、销毁状态

5.activity的4种加载模式:standard(标准模式)、singleTop(栈顶单例模式)、singleTask(task单例模式)、singleInstance(全局单例模式)

6.fragment可以在activity中复用,fragment总是作为activity的组成部分

7.fragment和activity一样,也有类似的生命周期

第五章、使用intent和intentFilter进行通信

1.

原文地址:https://www.cnblogs.com/xujanus/p/5405574.html