Android基本组件简介

本文主要对安卓几大组件进行简单介绍,对于每个组件的详细使用会在后面文章中更新。


1.Activity

      Activity是Android中最常用的组件,一个activity对应一个界面。activity显示的每个内容都是有View对象构建的,这些View对象一般是在res/layout下的XML文件中声明,一般我们通过ID属性来唯一标识某个View对象,然后在程序中可通过findViewByID(R.id.xxx)来引用这个对象。

      一般启动Activity有3种方法:

(1)在onCreate()方法中调用setContentView()方法来指定将要启动res/layout目录下的哪个布局文件,如setContentView(R.layout.main)。

(2)调用startActivity(),用于启动一个新的Activity。

(3)startActivityforResult(),用于启动一个Activity,并在该Activity结束时返回信息给调用者。

一般返回Activity也有三种方法:

(1)一般用finish(),关闭Activity

(2)用setResult()方法,可以返回数据给上一级Activity

(3)当使用startActivityforResult()启动Activity时,则需要调用finishActivity()来关闭其父Activity。


2.Service

Service没有界面,会在后台一直运行。我们可以用它来播放背景音乐、从网上获取数据、执行运算等,并将结果提供给Activity来展示给用户。

启动Service一般有两种方法:

(1)使用stratService()方法启动Service,可通过stopService()方法结束Service;

(2)使用bindService()方法启动,可调用unbindService()方法结束。


3.BroadcastReceiver

BroadcastReceiver是用来接收广播信息,并做出相应处理。使用BroadcastReceiver一般有如下几个步骤:

(1)注册BroadcastReceiver,可以在AndroidManifest中静态注册(<receiver></receiver>标签中声明,并通过<Intent-filter>标签过滤条件);也可以在Java代码中动态注册:先创建IntentFilter对象设置Intent过滤条件,再通过Context.registerReceiver()方法注册监听,通过Context.unregisterReceiver()方法来取消监听。

(2)将信息封装到Intent对象中

(3)调用Context.sendBroadcast()或Context.sendStickyBroadcast()或者Context.sentOrderedBroadcast()将Intent对象广播出去(前两个方法会随机执行所有符合条件的接收者的方法,第三个方法会按照IntentFilter的优先级执行)

(4)所有注册了的BroadcastReceiver会检查IntentFilter是否与广播出来的Intent相同,如果相同则调用onReceive()方法执行相应代码。


4.Intent

Intent是不同组件之间通信的媒介,由6个部分组成:组建名称、Action、Data、Category、Extra、Flag;后续将仔细介绍Intent。


5.ContentProvider

ContentProvider是android提供的一种标准的数据共享机制,用来管理和共享应用程序的数据存储。

对于ContentProvider而言,最重要的就是数据模型Data Model和URI。

(1)数据模型:ContentProvider为所有需要共享的数据创建一个数据表,每条记录都有一个“_ID”字段用来标识数据

(2)URI(Uniform Resource Identifier,通用资源标识符):每个ContentProvider会对外提供一个公开的URI来标识自己的数据集。URI主要分为三个部分:scheme、authority(又包括host和port)和path,格式为 “scheme://host:port/path”。在安卓中URI都以“content://”开头。


6.Notification

用来提示用户,一般在Service或BroadcastReceiver中用来获得用户注意。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值