安卓学习记录-Android-day16

本文介绍了安卓应用程序的基础知识,包括掌上设备的技术限制、应用程序的基本特征、安装格式等。此外,还详细阐述了四大组件(Activity、Service、ContentProvider、BroadcastReceiver)的功能与使用方式。

 

一、安卓应用程序基础及原理

1.      掌上设备局限性的需求

更低的处理器

有限的内存

有限的存储能力

小屏幕和低分辨率

数据传输的高成本

数据传输的低速度和高延迟

不稳定的数据连接

有限的电量

ANR:无响应

1.      点击事件和按键事件5秒无响应

2.      接收到消息后10秒无响应

处理原则:IO操作(FilesalNetwork)和复杂的运算,最好用异步。

        无缝的:与第三方程序的交互,前后台的切换。

二、应用程序的基本特征

.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提醒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员吾非同

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值