Android-应用程序基础及原理概要
一 Android程序的基本特性
1 apk是Android应用程序的安装格式,dex是Android二进制执行文件格式
2 Android是基于liunx的多用户操作系统,每个应用程序都是使用不同的用户
3 默认情况下,一个程序一个userid,系统设定的,不需要手动去设定,这样的程序,用户有权限进行所有的操作
4 每一个进程都有自己的吸泥机实例,所以内个程序相对独立
5 默认情况下,应用程序都有自己的linux进程,系统会决定何时关闭它,当资源不够的时候,系统根据优先级自动关闭某些进程
6 可以给两个程序共享一个userid,让彼此相互通信
7 程序可以请求访问系统资源,比如通讯录,短信等,但是需要在安装程序的时候授权
二 移动终端开发的局限性
更低的处理器
有限的内存
有限的存储空间
小屏幕的低分辨率
VGA:640x480
HVGA:480x320
QVGA:320x240
WVGA:800x480
数据传输的高成本
数据传输的低速度和高延迟
不稳定的数据连接
有限的电量
三 开发移动终端需要思考的问题
性能:快和灵敏
响应能力:拒绝ANR,I/O操作(File, sql, network)和复杂的运算(比如游戏的移动运算)最好用异步模式
无缝交互:与第三方程序的交互和前后台的切换
安全:对操作权限的考虑
详细可以参考官网的文档
四 Android七大组件
1 Activity :活动
Activity是Android应用程序的一个界面,可以通过这个界面与用户交互
一个应用程序通常包含多个Activity
Activity通过布局管理器添加各种View
通过setContentView(int) 方法可以将视图呈现出来
需要在配置文件manifest.xml文件内注册
2 Service :服务
Service运行在后台,负责处理一些用户看不到,并且会有持续时间的事情
Service不生成UI,不可见
所有用户实现的Service必须继承系统的Service类,并在配置文件manifest.xml文件内注册
3 Content Provide :多个程序间的数据共享
数据在Android当中是程序私有的
Content Provide提供了多个程序间数据交互的机制
Content Provide暴露出来一些标准的API来对数据进行操作
不需要再配置文件内注册
4 Broadcast Receiver :广播接收
Broadcast Receicver负责对外部事件做出响应
Broadcast Receicver不生成UI,不可见
所有用户实现的Broadcast Receiver必须继承系统的Broadcast Receiver类,并在配置文件manifest.xml文件内注册
应用程序可以通过Context.sendBroadcast()将自己的intent广播出去,其他程序通过自身的Broadcast Receiver获取后进行时间处理
需要在配置文件manifest.xml文件内注册
5 Intent:前面四大组件中的三个都需要Intent(除了Content Provide)对象(参数对象),用于三大组件的通信和参数传递动态传递
6 Launcher&widget:launcher是系统启动时优先加载的程序,就是主界面和应用程序列表,但是它也是activity
widget就是小插件,就是长按系统界面弹出来要安装的小插件,例如天气,电量控制
7 Notification:提醒,就是下拉栏里面的通知,例如未接来电,QQ消息等等