- 1
- 0
- 约5.27千字
- 约 28页
- 2017-12-31 发布于河南
- 举报
第2讲 Android程序设计基础
Android程序设计基础 2.1 基本组件介绍 Android应用程序由组件组成,组件是可以被调用的基本功能模块。Android系统利用组件实现程序内部或程序间的模块调用,以解决代码复用的问题,这是Android系统非常重要的特性。在程序设计时,在AndroidManifest.xml中声明可共享的组件,声明后其他应用程序可以直接调用这些共享组件。Android系统有4个重要的组件,分别是Activity(活动)、Service(服务)、BroadcastReceiver(广播接收器)和ContentProvider(内容提供者)。 Activity组件 一个Android应用程序是由若干个任务组成,每一个任务被称为Activity。 Activity类是所有应用程序的基石,是Android中最常用的组件,是应用程序的表示层。Activity一般通过View来实现应用程序的用户界面,相当与一个屏幕,用户与程序的交互是通过该类实现的。Android应用程序可以包含一个或多个Activity。一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动。 Service组件: 该组件一般用于没有用户界面,但需要长时间在后台运行的应用。这些不需要用户交互的任务可以被封装成服务,实际上,Service是一个具有较长的生命周期但是并没有用户界面的程序。例如在播放MP3音乐时,使用Service播放MP3音乐,可以在关闭播放器界面的情况下长时间播放MP3音乐等。 Service一般由Activity启动,但是并不依赖于Activity,即当Activity的生命周期结束时,Service仍然会继续运行,直到自己的生命周期结束为止。 Service的两种启动方式。 startService方式 bindService 方式 BroadcastReceiver组件 为用户接收广播通知的组件,当系统或某个应用程序发送广播时,可以使用BroadcastReceiver组件来接收广播信息并做相应处理。 BroadcastReceiver的使用过程如下: 1、将需要广播的消息封装到Intent中。 2、再通过三种发送方法中的一种将Intent广播出去。(Content.sendBroadcast(),sendOrderedBroadcast()、sendStickyBroadcastReceiver) 3、通过IntentFilter对象来过滤所发送的实体Intent。 4、实现一个重写了onReceive方法的BroadcastReceiver。 注册BroadcastReceiver对象的两种方式: 在AndroidManifest.xml中声明,将注册的信息放在receiver/receiver标签中,并通过intent-filter标签来设置过滤条件。 在Java代码中设置。要先创建IntentFilter对象,并为IntentFilter对象设置Intent的过滤条件,并通过Content.registerReceiver方法来注册监听,然后通过Content. unregisterReceiver方法来取消监听。 ContentProvider组件 是用来实现应用程序之间数据共享的组件。当需要进行数据共享时,一般利用ContentProvider为需要共享的数据定义一个URI,然后其他应用程序通过Content获得ContentResolver并将数据的URI传入即可。 ContentProvider包含数据模型和URI。 数据模型:共享数据创建的一个数据表。 URI:对外公开的访问标识。 4大组件的注册 4大基本组件都需要注册才能使用, Activity、service和ContentProvider都需要在AndroidManifest文件中进行配置,而BroadcastReceiver既可以在AndroidManifest文件中进行配置(静态注册)也可以通过代码动态创建并以调用Context.registerReceiver()的方式注册至系统。 注意:在静态注册的BroadcastReceiver会随系统的启动而一直处于活跃状态,只要接收到感兴趣的广播就会触发(即使程序未运行) 在AndroidManifest文件中进行注册格式如下: activity元素的name 属性指定了实现了这个activity 的Activity 的子类。icon 和label 属性指向了包含展示给用户的此activity 的图标和标签的资源文件。 service 元素用于声明服务 receiver 元素用于声明广播接收器 provider 元
您可能关注的文档
最近下载
- 煤矿安全监督检查制度.doc VIP
- 重医大小儿感染病学课件04猩红热.ppt VIP
- 2025年河南对口升学建筑类基础课高考试卷及答案.docx VIP
- RCIE C8511 锐捷认证互联网专家-路由交换理论考试题库(含答案).docx VIP
- 八年级下册名著《钢铁是怎样炼成的》阅读任务单(答案版)共5页.docx VIP
- 公务员(省考)真题含答案详解(A卷).docx VIP
- 2025年国家电网招聘考试题库试题附参考答案详解【完整版】.docx VIP
- (完整版)见索即付保函统一规则(URDG758) .pdf VIP
- [全]学生硬笔作品纸-古诗词书法比赛用A4纸打印模板.docx VIP
- 2025年陕西省中考数学真题试卷含答案.pdf VIP
原创力文档

文档评论(0)