Android开发,从入门到精通(网易云课堂)
讲师:石倩倩,孙玉昌,育知小小雨
章节1Android简介
课时1初识Android18:29
- 什么是Android?
a. Android是一个Linux内核为基础的半开源的移动设备操作系统。如:手机,电脑,眼镜,电视等智能家居
b. 是由Google所领导的osa手机开发联盟维护,研发,改造Android系统
- Android的发展历史
a.竞争对手操作系统:Microsoft(C#,C++,不开源),NOKIA(诺基亚,塞班系统),IOS(不开源),BlackBerry(黑莓,中国认证,针对移动电子终端,都有全键盘功能,商务人群,java开发语言)
- Android系统架构
一种软件层级的架构,此架构指的是有多个层次,而每层次由多个软件模型或软件库组成,
运行时环境和系统库是一层
a. Linux内核层:
Android是在Linux内核(全部是由C语言编写的)的基础上构建的,很多在linux中支持的在Android中未支持,Android很多东西进行了改进,这层有很多基础东西,比如安全管理,内存管理,进程管理,网络协议管理,驱动程序管理,电源管理等,Android的Linux内核也是全部由C语言编写,泉补水一些跟底层管理相关的
b. 本地库和Android运行是环境层
避免Android程序直接调用Linux内核,把Android的框架层和linux内核层分开,独立于内核
LIBRARIES:本地库,应用程序框架的基础,连接框架层和内核层,
Surface Manager:执行多个应用程序时,负责管理程序之间的显示和存取操作的互动,一般里面也包含一些绘图的合成,
Media Framework:多媒体库,包括音视频,录制拍摄等
SQLite:小型关系型数据库的一个引擎,主要跟数据存储相关,
OpenGL:跟绘图相关的绘图类,ES是向量字和点阵字的显示
WebKit:一套网页浏览器的软件引擎,我们手机中的浏览器底层就是基于webkit做的,
SGL:跟图形渲染相关,
SSL:通信相关
libc:为了调用一些C库的函数的库
Android runtime:Android运行时环境层,
Android应用程序是采用java语言编写,所以Android需要一个java运行时环境,包括核心库和dalvik虚拟机
Dalvik Virtual Machine:Android特有的虚拟机
Core Libraries:提供了java语言API中的大多数功能,同时也包含了Android的一些API,如lite,OS,media等
Android程序和gtome??程序不同?
(1) 每个Android程序都会有一个专门的进程,并且不是多个程序在同一个虚拟机中,而是每个Android程序都有一个虚拟机的实例,并在该实例中执行;
(2) dalvik是基于寄存器的虚拟机,而不是传统的基于栈的,如java的虚拟机就是基于栈;
(3) Android在程序中执行的并不是编译或字节码,java是首先编译,编译成字节码,然后执行。Android是通过转义工具DX,把java的字节码转换成dex的中间码执行,
c. 应用程序框架层(application framework)
Android开发的基础,很多核心程序都是在这层实现其核心功能,这层简化了组件的重用,因为已经进行包装,开发人员可以直接使用其提供的组件进行开发,也可进行个性化的拓展,
activity manager:活动管理器,管理各个应用程序的生命周期,还有常见的导航,回退等
Windows manager:窗口管理器,管理活动窗口,
content providers:内容提供器,在不同的程序之间共享数据
view system:视图系统,构建应用程序的基本组件,
notification manager:通知管理,在状态栏中看到的通知信息
package manager:包管理器,应用程序中的包
telephone manager:电话管理,移动设备中跟通信相关的
resource manager:资源管理,提供应用程序的非代码的,比如字符串,图片,颜色文件,布局文件这些东西,
location manager:位置管理,
GTalk service:
d. 应用程序(applications)
是Android设备真正跟用户交互的这一层,比如Google开发的电话,浏览器,联系人,home等,此层java为主要开发语言,
总的来说,看Android的架构,各中开源软件和主流编程语言都派上用场,从下向上构建了移动操作系统。最底层使用C语言,包括C++,JAVA都用上,
课程可答题,练习题,界面右下角—答题—安卓图标进入—输入视频验证码,验证码在本集视频中查找
e.
4.
课时2Android开发环境搭建11:23
- Android的开发环境搭建
主流开发工具:Eclipse,Android studio,主要介绍Eclipse环境搭建,后续介绍studio
JDK(Java Development Kit)
java开发工具集,
Eclipse
Android SDK(Software Development Kit)
ADT(Android Development Toolkit)
一个插件,当我们在Eclipse上安装这个插件,就可以开发Android工程
环境搭建的主要步骤:
安装JDK(需要1.7+)
后续可能使用studio,要求1.7及以上版本
安装Eclipse
安装Android SDK
安装Eclipse插件ADT
重启Eclipse,配置Android SDK路径
- 详细步骤见视频,此处选择一次性打包下载,打开就可以用,只要安装jdk就可以了
一次性打包地址:http://developer.android.com/sdk/index.html
- 见自制的安装文档 -----https://blog.csdn.net/qq_33356398/article/details/102368659
章节2基本使用
课时3LinearLayout基本使用(一)21:04
-
View视图层级结构
a. 所有UI对象都是使用view和viewgroup对象建立的
-
为什么需要使用布局
-
什么是LinearLayout?
-
LinearLayout的基本使用
-
补充
a. 编程时智能提示不出来,记得按alt+/
b.
课时4LinearLayout基本使用(二)12:25
课时5layout_weight属性的使用20:06
课时6RelativeLayout的使用26:15
章节3使用
课时7TextView、EditText的使用31:10
课时8Button的使用28:26
课时9ImageView的使用20:16
课时10RadioButton的使用20:33
课时11CheckBox的使用30:31
课时12Toast的使用13:04
章节4Spinner
课时13Spinner的使用28:23
课时14AutoCompleteTextView16:18
章节5Style和Theme
课时15Style和Theme的使用29:13
章节6Activity
课时16初识Activity25:47
课时17Activity的生命周期(一)25:23
课时18Activity的生命周期(二)12:36
课时19Activity传值(一)32:01
课时20Activity传值(二)41:37
章节7Intent
课时21Task、Back Stack22:21
课时22Activity的启动模式36:24
课时23Intent的属性(一)29:56
课时24Intent的属性(二)14:52
课时25隐式启动31:47
章节8线程
课时26UI线程模型介绍17:59
课时27AsyncTask的基本使用30:11
课时28AsyncTask显示进度24:06
课时29AsyncTask的取消25:52
章节9ListView
课时30ListView的基本使用27:57
课时31ListView的常用方法25:20
课时32SimpleAdaper的使用18:54
课时33BaseAdapter的基本使用23:55
课时34ListView的优化25:36
章节10GridView
课时35GridView的使用(一)08:50
课时36GridView的使用(二)22:01
章节11OptionsMenu
课时37OptionsMenu的使用21:17
课时38ContextMene的使用11:10
课时39PopupMenu11:04
课时40PopupWindow24:23
课时41AlertDialog14:39
课时42CustomDialog17:23
课时43第11讲_07_ListDialog15:35
章节12存储
课时44SharedPreference29:24
课时45内部存储23:25
课时46ExternalStorage24:18
章节13SQLite
课时47SQLite使用19:51
课时48添加及查询数据16:25
课时49修改及删除07:49
课时50CursorAdapter17:55
章节14CallLog
课时51CallLog31:27
课时52Sms查询18:29
课时53自定义内容提供者33:10
章节15Loader
课时54AsyncTaskLoader34:40
课时55CursorLoader10:19
章节16FrameAnimation
课时56FrameAnimation的使用14:04
课时57补间动画的用法35:12
课时58属性动画的用法23:40
章节17Fragment
课时59静态Fragment的创建20:54
课时60Fragment生命周期简介20:47
课时61Fragment传值(一)16:12
课时62Fragment传值(二)13:38
课时63动态创建Fragment14:55
章节18ViewPager
课时64ViewPager基本用法23:21
课时65ViewPager的界面切换10:22
课时66ViewPager结合Fragment使用18:41
课时67ViewPager添加导航栏
章节19Handler
课时68Handler基本用法及原理26:08
课时69LooperThread