Android入门基础培训

上传人:好** 文档编号:119055907 上传时间:2020-01-04 格式:PPTX 页数:55 大小:1.81MB
返回 下载 相关 举报
Android入门基础培训_第1页
第1页 / 共55页
Android入门基础培训_第2页
第2页 / 共55页
Android入门基础培训_第3页
第3页 / 共55页
Android入门基础培训_第4页
第4页 / 共55页
Android入门基础培训_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《Android入门基础培训》由会员分享,可在线阅读,更多相关《Android入门基础培训(55页珍藏版)》请在金锄头文库上搜索。

1、Android开发知识点 Android开发环境的搭建(androidstudio+ gradle +jdk1.8) Android框架 Android 四大组件: Activity、Service、Content Provider、BroadcastReceiver UI及基本布局 数据存储:SharedPreferences、文件、SQLite数据库、网络 Android网络通信 volley,xutils ,fjFrameforandroid,hessian,okhttp等 其它:NDK,adb、Hierarchy View、DDMS、draw9patch 一、Android 框架 1.

2、 Aplications(应用层) 应用是用Java语言编写的云新在虚拟机上的程序。 2. Application Framework(应用框架层) 这一层是编写Google发布的核心应用时所使用的API框架,开发人员可以 使用这些框架来开发自己的应用。 View System:可以用来构建应用程序,它包括列表、网格、文本框、按钮以及 可嵌入的Web浏览器。 Content Providers:它可以让一个应用访问另一个应用的数据,或共享它们自己 的数据。 Resource Manager:提供非代码资源的访问,如本地字符串、图形和布局文 件。 Notification Manager:应用可

3、以在状态栏中显示自定义的提示信息。 Activity Manager:用来管理应用程序生命周期并提供常用的导航退回功能。 Window Manager:管理所有的窗口程序。 Package Manager:Android系统内的程序管理。 3. Libraries、Android Runtime(系统运行库层) 当使用Android应用框架时,Android系统会通过一些C/C+库赖支持我们使用的 各个组件,使其能更好地为我们服务。 Bionic系统C库:C语言标准库,系统最底层的的库,C库通过Linux系统来调用。 多媒体库(MediaFramework):Android系统多媒体库,基于P

4、ackerVideo OpenCORE,该库支持多种常见格式的音频、视频的回放和录制,以及图片,比如 MPEG4、MP3、AAC、AMR、JPG、PNG等。 SGL:2D图形引擎库。 SSL:位于TCP/IP协议与各种应用层协议之间,为数据通信提供支持。 OpenGL ES 1.0:3D效果的支持。 SQLite:关系数据库。 Webkit:Web浏览器引擎。 FreeType:位图(bitmap)及矢量(vector)。 在Android操作系统中,每个Java程序都运行在Dalvik虚拟机上,其只能执行.dex的 可执行文件,当Java程序通过编译后,最后还需要通过SDK中的dx工具转为成

5、.dex格式才 能正常在虚拟机上执行,Java虚拟机运行的是Java字节码,而Dalvik虚拟机运行的则是其 专有的文件格式dex(Dalvik Exceutable)的文件。 Dalvik虚拟机有几个主要特征:专有的dex文件格式、dex的优化,dex文件的结构是 紧凑的、基于寄存器、一个应用,一个虚拟机实例,一个进程。每一个Android应用度运 行在一个Dalvik虚拟机实例中,每一个虚拟机实例都是一个独立的进程空间 4. Linux Kernel(Linux内核层) 显示驱动(Display Driver):基于Linux的帧缓冲(Frame Buffer)驱动。 键盘驱动(KeyBo

6、ard Driver):作为输入设备的键盘驱动。 Flash内存驱动(Flase Memory Driver):基于MTD的Flash驱动程序。 照相机驱动(Camera Driver):常用的基于Linux的v412(Video for Linux )的驱动。 音频驱动(Audio Driver):常用的基于ALSA的高级Linux声音体系驱 动。 蓝牙驱动(Bluetooth Driver):基于IEEE 802.15.1标准的无线传输技术。 WiFi驱动:基于IEEE 802.11标准的驱动程序。 Binder IPC驱动:Android的一个特殊的驱动程序,具有单独的设备节点, 提供进

7、程间通信的功能。 Power Management(电源管理):比如电池电量等。 多媒体编程调用关系 二、Android 四大组件 1. Activity Activity是Android程序的表示层,程序的每一个显示屏幕就是一个Activity。 1、Running 位于屏幕最前端时,此时处于可见状态,和用户可交互的状态。 2、Paused 当Acitivy被另一个透明的或者非全屏的Activity覆盖时的状态叫 Paused状态, 虽然可见但不可交互。 3、Stop 当Activity被另外一个Activity覆盖、界面不可见时处于Stop状 态。 4、Killed Activity被系统

8、杀死或者跟本没启动时就是Killed状态。 Android 是通过一种Activity 栈的方式来管理Activity 的,一个Activity在栈中 的位置决定它的状态。 2. BroadcastReceive 你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时 ,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可 以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager 来通知 用户。通知可以用很多种方式来吸引用户的注意力闪动背灯、震动、播放声音等。 一般来说是在状态栏上放一个持久的图标,用

9、户可以打开它并获取消息。 广播类型: 1)普通广播,通过Context.sendBroadcast(Intent myIntent)发送的 2)有序广播,通过Context.sendOrderedBroadcast(intent, receiverPermission)发送的,该 方法第2个参数决定该广播的级别,级别数值是在 -1000 到 1000 之间 , 值越大 , 发送的 优先级越高;广播接收者接收广播时的级别级别(可通过intentfilter中的priority进行设 置设为2147483647时优先级最高),同级别接收的先后是随机的, 再到级别低的收到广 播,高级别的或同级别先接

10、收到广播的可以通过abortBroadcast()方法截断广播使其他的 接收者无法收到该广播,还有其他构造函数 3)异步广播,通过Context.sendStickyBroadcast(Intent myIntent)发送的,还有 sendStickyOrderedBroadcast(intent, resultReceiver, scheduler, initialCode, initialData, initialExtras)方法,该方法具有有序广播的特性也有异步广播的特性;发送异步广播要: 权限, 接收并处理完Intent后,广播依然存在,直到你调用removeStickyBroadc

11、ast(intent)主动 把它去掉 注意:发送广播时的intent参数与Contex.startActivity()启动起来的Intent不同,前者可以 被多个订阅它的广播接收器调用,后者只能被一个(Activity或service)调用。 监听广播Intent步骤: 1) 写一个继承BroadCastReceiver的类,重写onReceive()方法,广播接收器仅在它执行这个 方法时处于活跃状态。当onReceive()返回后,它即为失活状态,注意:为了保证用户交互 过程的流畅,一些费时的操作要放到线程里,如类名SMSBroadcastReceiver 2) 注册该广播接收者,注册有两种

12、方法程序动态注册和AndroidManifest文件中进行静态 注册(可理解为系统中注册)如下: 静态注册,注册的广播,下面的priority表示接收广播的级别2147483647为最高 优先级 3. Service Service在后台运行,不与用户进行交互。在默认情况下,Service运行在应用程序进 程的主线程中,如果需要在Service中处理一些网络连接等耗时的操作,那么应该将这些 任务放在单独的线程中处理,避免阻塞用户界面. 创建Service 继承android.app.Service实现自己的服务 必须在AndroidManifest.xml注册service 启动service

13、 startService(i); 停止service stopService(i); startService service没有运行,则先调用onCreate方法然后调用onStart方法 service已经运行,则直接调用onStart方法 stopService 调用stopService停止Service 调用onDestory最终销毁service 绑定Service 调用Context.bindService(),客户端可以绑定到正在运行的Service上,如果此时 Service没有运行,系统会调用onCreate()方法来创建Service,但是并不会调用onStart()方

14、 法。 客户端成功绑定到Service之后,可以从onBind()方法中返回一个IBinder对象,并 使用IBinder对象来调用Service的方法。一旦客户端与Service绑定,就意味着客户端和 Service之间建立了一个连接,只要还有连接存在,那么系统会一直让Service运行下去。 使用bindService()启动的服务与调用者绑定,只要调用者关闭服务就终止,使用此方法启动 时,服务首次启动系统先调用服务的onCreate()-onBind(),如果服务已经启动再次调用不 会再触发这2个方法,调用者退出时系统会调用服务的onUnbind()-onDestory(),想主动 解除

15、绑定可使用Contex.unbindService(),系统依次调用onUnbind()-onDestory(); 4. Content Provider ContentProvider是一个特殊的存储数据的类型,它提供了一套标准的接口用来 获取以及操作数据,实现数据共享方法。 Android自身也提供了几个现成的ContentProvider: Contacts Browser CallLog Settings MediaStore 使用方法 通过ContentResolver来使用具体的某个ContentProvider。 ContentResolver cr = getContentResolver(); contentResolver提供的方法: query() insert() update() delete() Content Provider - URI组成 三、UI及基本布局 1. View及ViewGroup View是基类,ViewGroup是它的子类。 View和ViewGroup最重要的几个方法 View和ViewGroup最重要的几个方法: onMeasure(int widthMeasureSpec, int heightMeasureSpec):

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号