2019独角兽企业重金招聘Python工程师标准>>>

Android应用程序的四大组件总结

在一个android的应用程序中,必须包含以下四个组件:1.Activity 2.Service 服务 3.Conetent Provider 内容提供者 4.Broacast Intent Receiver 广播输出接收

在android应用程序中有一个AndroidManifest.xml文件,以上的四个组件必须要此文件中进行定义和描述,而AndroidManifest.xml是又系统自动生成的,每当一个组件创建后,其会自动声明这个组件。

Activity

Activity是android应用程序中使用最多的一个组件,一个Activity就是应用程序的一个页面,也是一个屏幕的显示。在Activity中,可以创建view或继承view的类,并可以未view进行事件的监听。例如可以将Button添加进去,并未Button添加单击事件的监听。我感觉,Activity就相当于网站程序的一个页面,是显示信息和交互的地方。而Activity之间是可以相互跳转的,但是和网页的跳转有些不同,它是带有返回值的跳转。例如,Activity1跳转到Activity2,会带着参数,而当Activity2关闭后,也会带返回值跳转回Activity。

Activiy是被存储在盏堆当中的,当Activity启动后,它就在盏顶,而通过Activity1跳转到Activity2,Activity2就在盏顶。当Activity2关闭后,就会回到Activity。

在Activity中,Intent控制着Activity之间的跳转。Intent的在API中的定义是这样的,一个Intent就是对一个要执行的操作的抽象描述。Intent是又动作(action)和动作对应的数据(date)组成的。例如要查看一个联系人,就要建立一个动作未VIEW的Intent和表示这个人的URI。

我们常常在AndroidManifest.xml中会看到IntentFilters的标签。其实IntentFilters是描述一个Activity可以相应哪些Intent的操作。

Broadcast Intent Receiver

利用BroadcastReceiver可以让应用相应一个外部事件。例如,当闹钟响起的时候,可以利用BroadcastReceiver对此进行处理。还有当下载完一个应用的时候,可以用BroadastReceiver进行响应。BroadcastReceiver对于用户来说是透明的,它不是一个UI,而BroadcastReceiver可以利用NotificationManager来通知用户。BroadcastReceiver可以在AndroidMnifest.xml注册,也可以利用代码中的Content.registerReceiver()来进行注册。一旦应用程序注册了BroadcastReceiver,即使没有启动应用,当条件适当的时候,也会自动启动。

Service

Service翻译过来就是服务的意识,其实它的作用就是让应用程序在后台继续运行,提供相应的服务。例如当你打开一个音乐程序的时候,然后打开浏览器,然后,音乐程序没有停止播放音乐,而是继续播放,这就是Service的功能。可以同过startService(Intent service)来启动一个Service,绑定Service可以通过bindService()。

Content Provider

在Android系统中,数据在其中是私有的,数据包括数据文件,数据库文件。而应用是利用Content Provider中提供的抽象接口来访问其它应用的数据,这样做的好处是其它的应用程序并不知道数据是利用文件还是数据库进行存储,以及不会直接暴露出数据,从而保证了数据的安全。下面列举一下Content Provider的常用接口:

1.query(Uri,String,String[],String);通过关键字查询数据

2.Insert(Uri,Content values);将一组数据插入到指定的地方

3.Update(Uri,Content values,String,String)更新数据

4.Delete(Uri,String,String[]);删除指定的数据

转载于:https://my.oschina.net/bonelwh/blog/160761

Android学习——基础组件相关推荐

  1. 01.Android之基础组件问题

    2019独角兽企业重金招聘Python工程师标准>>> 目录介绍 1.0.0.1 说下Activity的生命周期?屏幕旋转时生命周期?异常条件会调用什么方法? 1.0.0.2 后台的 ...

  2. 01.Android之基础组件问题 1

    目录介绍 1.0.0.1 说下Activity的生命周期?屏幕旋转时生命周期?异常条件会调用什么方法? 1.0.0.2 后台的Activity被系统回收怎么办?说一下onSaveInstanceSta ...

  3. Flutter(四)——基础组件

    本文目录 前言 基础组件 Text 常用属性使用 Icon Image Button FlutterLogo 前言 你如果做过Android开发,那一定熟悉里面各种官方提供的布局,比如LinearLa ...

  4. Android开发基础学习总结

    最近一直在学习安卓开发,主要从安卓的基础组件,布局,Activity学起,也是边学习边整理笔记,希望可以给需要帮助的人解决能解决掉的问题,以后也会慢慢更新的. 一.Android布局 1.Androi ...

  5. Android学习笔记:Android基础知识点(不断更新中)

    1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...

  6. 整日碎片化学习“凡不凡”,android编程基础班

    我猜我们的答案是一样的:不能.这也是为什么传统的木质积木无法风靡的关键原因--很难搭建出有稳固的.有创造性的东西,不耐玩. 那为什么乐高积木就能够搭建出种类繁多.形式各异的"建筑物" ...

  7. Android零基础入门第62节:搜索框组件SearchView

    一.SearchView概述 SearchView是搜索框组件,它可以让用户在文本框内输入文字,并允许通过监听器监控用户输入,当用户输入完成后提交搜索时,也可通过监听器执行实际的搜索. SearchV ...

  8. 的Android组件、工具、框架大全(转) android 学习 android 例子 android 开源项目

    2015最流行的Android组件.工具.框架大全(转) 转自:2015最流行的Android组件.工具.框架大全 Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Andro ...

  9. Android基础知识巩固系列 Android之四大组件——ContentProvider(内容提供者)

    因为最近要面试,于是打算整理整理一下Android的基础知识,由于之前本人已经学习过大概的Android基础知识,这里主要讲这四大组件.五大存储.六大布局.网络请求等这些内容,其他一些等有时间再整理, ...

最新文章

  1. 坑爹的微软官方文档:SQL无人值守安装
  2. docker初体验:docker部署nginx负载均衡集群
  3. 人脸识别中的人脸监测、定位校准和对比等技术
  4. Python基础知识(第八天)
  5. 给单片机焼写程序需要什么东西_单片机怎么烧写程序
  6. SAP Spartacus B2B table的配置信息从哪里来?
  7. 修改mongodb最大查询数_WebFlux系列(十二)MongoDB应用,新增、修改、查询、删除
  8. java虚拟机可以处理_Java虚拟机对类加载的处理机制
  9. QQ连连看 逆向分析外挂制作报告【脱壳ASPPack】【模拟点击】【内联HOOK】
  10. Spring Ioc之初始化
  11. BFS解决连同块问题
  12. python相关函数_Python 函数相关概念
  13. 使用VBA在WORD中插入漂亮的代码
  14. ARM GIC(七)gicv3架构-power控制
  15. maven出现错误 大难题-------
  16. 湖南工程学院CSDN高校俱乐部简介
  17. 自然语言中corpora.Dictionary的理解
  18. 代码: 0x80131500:应用商店打不开
  19. 为什么 ERP 系统的用户体验不好?
  20. default.asp html,ASP.NET Core 设置默认起始页(如default.html)

热门文章

  1. 豪掷十亿拿下CUBA运营权,阿里体育未来也许并不轻松
  2. Maven学习教程(六)
  3. [ExtJS5学习笔记]第十一节 Extjs5MVVM模式下系统登录实例
  4. Open-E DSS V7 应用系列之六 构建软件iSCSI
  5. 无数优秀投资人的选择——GMQ Group
  6. 大公司为什么还在采用过时的技术
  7. 关于react中setState的深入理解
  8. rsync+inotify实现数据的实时备份
  9. js用.和[]获取属性的区别
  10. java内存模型 年轻代/年老代 持久区