《疯狂的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.
《疯狂的android讲义第3版》读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- css预处理的引入与问题
css的预处理越来越流行.sass,less,stylus这几个都使用方便. 我想使用他的原因,暂时最主要是为了@import的功能.现在的问题:因为产品太多,是个页面,有10个css.而这10个cs ...
- cocos2d-x使用ant批量打包
当项目需要在多渠道上线时,要打很多的渠道包,少则几十个,多种几百个.它们的区别一般只是渠道id或部分配置信息不同,这些信息均可写在配置文件中. 例如常见的渠道id不同,一般定义在AndroidMani ...
- Android(java)学习笔记100:android开发中修改字体
首先如果android内部自带的字体不是我们需要的字体,那我们就需要字体文件导入到android开发工程中,下午我们详细讲述: 1.我们首先分析知道,我想要TextView控件中文字的字体是:华文楷体 ...
- FindBugs缺陷库
1.possible null pointer dereference 解释:某字段可能为空 修复:对应字段使用前判空 2.normal confidence 解释:私有成员变量没有初始化 修复:初始 ...
- Android客户端token简介和简单应用
一.什么是Token Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数 ...
- oracle--clob
最近,收到这样的异常邮件: Error updating database. Cause: java.sql.SQLException: ORA-01461: can bind a LONG val ...
- MSP430常见问题之FLASH存储类
Q1:用IAR Embedded Workbench for MSP430 通过JTAG往MSP430上写程序.为了知道片内程序的版本,必须读出Flash 中内容.什么工具软件可以通过JTAG口实现这 ...
- 7 个基本的 JS 函数【译】
本文由 伯乐在线 - 刘健超-J.c 翻译,进林 校稿.未经许可,禁止转载!英文出处:davidwalsh.name.欢迎加入翻译组. 我记得早期的 JavaScript ,要完成任何事情几乎都绕不开 ...
- 从零单排Linux – 1 – 简单命令
从零单排Linux – 1 – 简单命令 Posted in: Linux 从零单排Linux – 1 一.Linux的简单命令: 1.忘记root密码: 读秒时按任意键进入 – e – ↓选择第二个 ...
- 在SQL 2012中使用和Oracle 一样的序列
使用过Oracle的都知道,Oracle中的自增是靠序列来完成的,在一定程度上蛮方便的.现在SQL 2012中也有序列了.来看看怎么做的吧! SQL Server 现在将序列当成一个对象来实现,创建一 ...