Android应用程序介绍
一、概述
一般Android应用程序包括以下四个部分:
1.Activity
2.Broadcast Intent Receiver
3.Service
4.Content Provider
二、主要内容
1.Activity介绍:
Activity一般代表手机屏幕的一屏,相当于浏览器的一个页面。当打开一个屏幕时,之前的那一个屏幕会被置为暂停状态,并且压入历史堆栈中,用户可以通过回退操作返回到以前打开过的屏幕。开发时需要选择性的移除没有必要保留的屏幕,因为打开后的屏幕会保存在堆栈中
Android的生命周期:即“产生、运行、销毁”
Intent(意图)和Intent Filter介绍:
一个Intent就是一次对将要执行的操作的抽象描述,通过Intent可以在多个Activity之间进行跳转,Intent两个最重要的部分是动作(action)和动作对应的数据(data),典型的动作类型(catagory)有,MAIN、view、pick、edit等,而动作对应的数据则以URI的形式表示;例如有两个activity分别为A和B,要从A跳转到B可以这样写:
Intent intent = new Intent(A.this, B.class);
startActivity(intent);
与Intent有关联的有个类叫做Intent Filters,如果Intent是一个请求,一个Intent Filters描述改组件所能相应Activity请求的能力。
2.Broadcast Intent Receiver介绍:
可以使用BroadcastReceiver来让应用对外一个外部的事件作出响应。BroadcastReceiver通过NotificationManager来通知用户这些事情发生了,BroadcastReceiver注册的有两种方式:一种是可以在AndroidManifest.xml中注册,另一种可以在运行时的代码中使用Context.registerReceiver()进行注册。用户还可以通过Context.sendBroadcast()将他们自己的intent broadcasts广播给其他的应用程序。
3.Service介绍:
Service是一种程序,它可以运行很长的时间,相当于后台的一个服务,通过startService(Intent service)可以启动一个Service,通过Context.bindService()可以绑定一个Service。
4.Content Provider介绍:
数据在android当中是私有的,这些数据包括文件数据和数据库数据以及其他类型的一些数据。两个程序之间数据的交互是通过Content Provider来实现,一个Content Provider实现了一组标准的接口,能够让其他应用保存或读取此Content Provider的各种数据类型。所以一个程序可以通过实现以个Content Provider的抽象接口将自己的数据暴露在外面,实现常见的接口有:
Query(URI,String[],String,String[],String):通过关键字查询;
Insert(Uri,ContentValues):将一组数据插入到指定的地方 ;
Update(Uri,ContentValues,String,String[]):更新数据;
Delete(Uri, String, Stringp[]) :删除数据;
Android应用程序介绍相关推荐
- Android应用程序组件Content Provider简要介绍和学习计划
在Android系统中,Content Provider作为应用程序四大组件之一,它起到在应用程序之间共享数据的作用,同时,它还是标准的数据访问接口.前面的一系列文章已经分析过Android应用程序的 ...
- Android应用程序开发——安卓应用开发介绍
这是网易公开课 密西西比河谷州立大学:Android应用程序开发 的笔记. 视频地址:http://v.163.com/special/opencourse/developingandroidappl ...
- Android应用程序消息处理机制(Looper、Handler)分析(2)
我们再回到NativeMessageQueue的构造函数中,看看JNI层的Looper对象的创建过程,即看看它的构造函数是如何实现的,这个Looper类实现在frameworks/base/libs/ ...
- 电子界卡组构建2019_2018–2019年构建现代Android应用程序的路线图
电子界卡组构建2019 Kriptofolio应用程序系列-简介 (Kriptofolio app series - Introduction) Welcome to this series of b ...
- 在 Android 应用程序中使用 SQLite 数据库以及怎么用
part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...
- Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
转自:http://www.cnblogs.com/salam/archive/2010/11/30/1892143.html 我们在开发程序是经常会需要软件全屏显示.自定义标题(使用按钮等控件)和其 ...
- Android Fragment 基本介绍
Android Fragment 基本介绍 Android Fragment 基本介绍 Fragment Android是在Android 3.0 (API level 11)开始引入Fragment ...
- Android应用程序组件Content Provider的启动过程源代码分析(6)
Step 17. ActivityThread.installProvider 这个函数定义在frameworks/base/core/java/android/app/Act ...
- Android应用程序获得root权限
我在博文<Android程序的安全系统>中提到两种让root权限的办法.最近在网上发现很多朋友转载那篇文章,但是对那篇文章中提到的第一种方法怎样实现,不是很明白.本文将会以一个例子实现来演 ...
最新文章
- 如何关闭Visual Assist?
- BZOJ 3597 SCOI2014 方伯伯送椰子 网络流分析+SPFA
- Python 调用Java
- 手风琴特效这么飒,能用 JavaScript 实现吗?
- 一篇文学会商用可编辑问卷表单制作【iVX 十二】
- C++ 学习之旅(12)——static用法小结
- 前端学习(1920)vue之电商管理系统电商系统之角色列表路由的切换
- 太原市中考计算机考试系统,太原中考报名系统
- #ifndef #define #endif 和#pragma once的区别
- UI初学者必备知识|最好的Sketch App 素材资源都在一流设计导航
- OpenShift 4 - DevSecOps Workshop (11) - 通过Trigger启动Pipeline运行
- Ubuntu18.04 下联想电脑 无法连接WIFI问题解决
- Windows XP SP3细节官方详解
- ❤️程序员国企太安逸想辞职,又嫌私企大厂压力大996我该如何选择?(高级全栈自动化之路)
- 软件开发设计文档模版
- Unity 不使用BMFont创建Font字体
- 米思齐Mixly图形化编程---RFID智能门禁
- groupdel: cannot remove the primary group of user 'lxh1'的解决办法
- 51单片机和LCD1602实现简单的密码锁
- 一文带你了解什么是云计算网络运维工程师,以及2023年的就业前景
热门文章
- 七年级上计算机教学记录,七年级信息技术上册教学反思
- Python读取dta数据(自己学习专用)
- UIApp教程(全网最详细的教程来啦)
- OCR技术在爱奇艺的应用实践及演进
- 苹果ios15系统兼容哪些机型
- 酷安9.5高分神器,好东西藏不住!封杀所有APP的启动页开屏广告!
- 国产操作系统-中标麒麟
- 最好用的.NET敏捷开发框架-RDIFramework.NET V3.6版全新发布 100%源码授权
- 如何黑掉一个宇宙?一文带你详解Meterpreter后渗透模块攻击(文末赠送免费资源哦~)
- Pandas数据分析详细教程