安卓学习记录-Android-day16
2016-01-17 23:54
232 查看
一、安卓应用程序基础及原理
1. 掌上设备局限性的需求
更低的处理器
有限的内存
有限的存储能力
小屏幕和低分辨率
数据传输的高成本
数据传输的低速度和高延迟
不稳定的数据连接
有限的电量
ANR:无响应
1. 点击事件和按键事件5秒无响应
2. 接收到消息后10秒无响应
处理原则:IO操作(File,sal,Network)和复杂的运算,最好用异步。
无缝的:与第三方程序的交互,前后台的切换。
二、应用程序的基本特征
.apk安装格式,.dex是安卓二进制执行文件格式。
安卓操作系统是基于linux多用户操作系统
每个程序都使用不同的用户。
默认情况下,一个程序一个userid,系统设定的,不需要手动设定,针对这样的程序,用户有权限进行所有操作。
每一个进程都有自己的虚拟机实例,每个程序相对独立。
默认情况下,应用程序都有自己的Linux进程,系统会决定何时关闭它,当资源不够的时候。
例外,可以两个程序共享一个USERID,彼此之间共享资源。
应用程序可以请求访问系统资源,比如通讯录、短信。但需要安装时候授权。
三、安卓程序七大件
四大组件:
Activity:一个界面,通过这个界面交互。
Activity通过布局管理添加各种View组件。
通过setContentView(int)将视图呈现出来。
Service:运行在后台,处理用户看不到,并有持续时间,下载、播放音乐。
不生成UI,是不可见
所有的用户实现Service继承系统Service类,并在配置文件中注册。
Content Provider:数据在安卓是程序私有的
提供了多个程序间数据交互机制
暴露出来一些标准的API来对数据进行操作
Broadcast Receiver:不生成UI继承BroadcastReceiver类,进行注册
可通过Context.sendBroadcast()将自己的intent广播出去,其他程序通过自身的Receivers截获后进行时间处理。
重要对象:四大组件三个都需要Intent支持
1. 传递Intent启动一个Activity,startAcitity,startActivityForResult
2. 传递Intent启动一个Service,bindService
3. 通过Intent添加一个广播,sendBroadcast();
SensOrderedBroadcast()
sendStickyBroadcast()
4. 执行一个查询,ContentResolver的query()查询
Launcher&Widget
Notification提醒
1. 掌上设备局限性的需求
更低的处理器
有限的内存
有限的存储能力
小屏幕和低分辨率
数据传输的高成本
数据传输的低速度和高延迟
不稳定的数据连接
有限的电量
ANR:无响应
1. 点击事件和按键事件5秒无响应
2. 接收到消息后10秒无响应
处理原则:IO操作(File,sal,Network)和复杂的运算,最好用异步。
无缝的:与第三方程序的交互,前后台的切换。
二、应用程序的基本特征
.apk安装格式,.dex是安卓二进制执行文件格式。
安卓操作系统是基于linux多用户操作系统
每个程序都使用不同的用户。
默认情况下,一个程序一个userid,系统设定的,不需要手动设定,针对这样的程序,用户有权限进行所有操作。
每一个进程都有自己的虚拟机实例,每个程序相对独立。
默认情况下,应用程序都有自己的Linux进程,系统会决定何时关闭它,当资源不够的时候。
例外,可以两个程序共享一个USERID,彼此之间共享资源。
应用程序可以请求访问系统资源,比如通讯录、短信。但需要安装时候授权。
三、安卓程序七大件
四大组件:
Activity:一个界面,通过这个界面交互。
Activity通过布局管理添加各种View组件。
通过setContentView(int)将视图呈现出来。
Service:运行在后台,处理用户看不到,并有持续时间,下载、播放音乐。
不生成UI,是不可见
所有的用户实现Service继承系统Service类,并在配置文件中注册。
Content Provider:数据在安卓是程序私有的
提供了多个程序间数据交互机制
暴露出来一些标准的API来对数据进行操作
Broadcast Receiver:不生成UI继承BroadcastReceiver类,进行注册
可通过Context.sendBroadcast()将自己的intent广播出去,其他程序通过自身的Receivers截获后进行时间处理。
重要对象:四大组件三个都需要Intent支持
1. 传递Intent启动一个Activity,startAcitity,startActivityForResult
2. 传递Intent启动一个Service,bindService
3. 通过Intent添加一个广播,sendBroadcast();
SensOrderedBroadcast()
sendStickyBroadcast()
4. 执行一个查询,ContentResolver的query()查询
Launcher&Widget
Notification提醒
相关文章推荐
- 安卓学习记录-Android-day15
- android代码测试界面 ( ActivityInstrumentationTestCase2 )
- Android Studio快捷键
- Android Fragment切换 和 数据懒加载的分离处理
- 8位bmp图片格式详细说明文档
- Android 动画学习
- Android Studio 常用插件
- 【Android】Android Camera实时数据采集及通过MediaCodec硬编码编码数据的流程
- Android 之 高德地图学习 三 覆盖物
- Android编码规范
- Android 开发常用功能整理(待续)
- Android 过度绘制简单的分析
- android的IP拨号器
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
- Genymotion爱不释手,真机已弃用
- 【非日常】Android事件体系
- android多图片上传
- Android 之 高德地图学习 二 定位
- Android百度地图应用开发的前期准备
- 用adt-bundle-windows 搭建Android开发环境