当前位置: 首页 > news >正文

记录:移动设备软件开发(activity组件)

目录

  • 前言
  • Android简介和发展
  • Android应用的基本组件介绍
    • Activity组件
      • Activity简介
      • Activity的状态和生命周期
  • 小结

前言

移动设备软件开发是指为智能手机、平板电脑等移动设备设计和开发应用程序的过程。移动设备软件开发涉及多种技术、平台和工具,例如Android、iOS、Windows Phone、Flutter、React Native等。移动设备软件开发的目的是为用户提供便捷、高效和有趣的移动体验,满足用户的各种需求和偏好。

这个系列的文章是对Android开发学习的一点记录(也许还有实验什么的),不管是作为分享还是稍微巩固一下可能都是有益的(误)

使用书籍:疯狂Android讲义
ide: Android Studio

Android简介和发展

Android是一种基于Linux内核的开源移动操作系统,主要用于智能手机和平板电脑。Android最初由安迪·鲁宾(Andy Rubin)等人开发,后来被谷歌收购。Android的第一个商用版本于2008年9月23日发布,目前已经发展到Android 12,是全球最流行的移动操作系统之一。Android的特点包括多任务处理、丰富的应用程序商店、多种用户界面、高度可定制性和跨平台兼容性等。

Android应用的基本组件介绍

Android应用是由四种基本组件构成的:活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。这些组件可以相互协作,也可以独立运行,具有不同的功能和生命周期。

活动(Activity)是用户与应用交互的界面,每个活动都对应一个屏幕。活动之间可以通过意图(Intent)来启动或传递数据。活动有自己的生命周期,包括创建、启动、运行、暂停、停止和销毁等状态。

服务(Service)是在后台执行长时间任务的组件,不需要用户交互。服务可以在应用的进程内或者在其他进程中运行,也可以通过意图来启动或绑定。服务有自己的生命周期,包括创建、启动、运行、绑定、解绑和销毁等状态。

广播接收器(Broadcast Receiver)是用来接收和响应系统或应用发出的广播消息的组件,例如电池低电、网络变化、短信到达等。广播接收器没有用户界面,也没有自己的生命周期,只在接收到广播时被激活,执行完逻辑后就销毁。

内容提供器(Content Provider)是用来管理和共享应用数据的组件,例如联系人、照片、音乐等。内容提供器通过统一的接口来提供数据,其他应用可以通过内容解析器(Content Resolver)来访问或修改数据。内容提供器有自己的权限机制,可以控制数据的访问范围和安全性。
在这里插入图片描述

Activity组件

Activity简介

Activity组件是四大组件之一,在应用中一个Activity可以用来表示一个界面, 中文意思也可以理解为“活动” ,即一个活动开始,代表Activity组件启动;活动结束,代表一个Activity的生命周期结束。

一个android应用必须通过Activity来运行和启动,和J2ME 的MIDlet 一样,在android中,Activity的生命周期统一交给系统管理。与MIDlet 不同的是安装在android 中的所有的Activity 都是平等的。

理解以下四个基本概念,将有助于我们更好的了解Activity:

• Application(APP)

• Activity

• Activity栈

• Task

每个Application均占有独立的内存空间。需要注意的是:Application之间虽然相互独立,但APP_1中的Activity与APP_2中的Activity之间可以进行通信(调用、访问等)。

Activity的状态和生命周期

1、Activity的状态:

(1)Resumed:Activity对象出于运行状态。一个新Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可以与用户交互的激活状态。

(2)Paused:另一个Activity位于前端,但是本Activity还可见。

    Paused状态常用于:当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。注:一个Activity出于paused状态时,系统并不会释放资源。释放资源你的操作要靠开发者来完成。

(3)Stopped:另一个Activity位于前端,完全遮挡本Activity。

(4)killed:Activity被系统杀死回收或者没有被启动时。
在这里插入图片描述
2、Activity的生命周期:
在这里插入图片描述
(我说怎么到处都是这张图,原来是从Android开发者文档拿的)
生命周期代码:

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;public class MainActivity extends Activity {private static final String TAG = "smyhvae";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Log.d(TAG, "onCreate");}@Overrideprotected void onStart() {super.onStart();Log.d(TAG, "onStart");}@Overrideprotected void onResume() {super.onResume();Log.d(TAG, "onResume");}@Overrideprotected void onPause() {super.onPause();Log.d(TAG, "onPause");}@Overrideprotected void onStop() {super.onStop();Log.d(TAG, "onStop");}@Overrideprotected void onDestroy() {super.onDestroy();Log.d(TAG, "onDestroy");}@Overrideprotected void onRestart() {super.onRestart();Log.d(TAG, "onRestart");}
}

小结

暂时就先到着吧(毕竟就讲到这,虽然可以提前写,但是我还是希望有条理一点)

以上。

http://www.lryc.cn/news/166429.html

相关文章:

  • Redis常用应用场景
  • grafana 监控无图解决
  • Linux--进程-消息队列
  • MySQL下载安装环境变量配置,常用命令
  • HSRP(热备份路由选择协议)的概念,原理与配置实验
  • 数据可视化大屏模板 | 保姆级使用教程
  • qml怎么显示网页
  • leetcode分类刷题:二叉树(一、简单的层序遍历)
  • STM32 CAN使用记录:FDCAN基础通讯
  • GB/T 11945-2019 蒸压灰砂实心砖和实心砌块检测
  • echarts静态饼图
  • Linux中的apt与yum
  • DQN算法概述及基于Pytorch的DQN迷宫实战代码
  • Pytorch学习整理笔记(一)
  • paddlespeech asr脚本demo
  • 算法分析与设计编程题 递归与分治策略
  • Java的XWPFTemplate工具类导出word.docx的使用
  • Science adv | 转录因子SPIC连接胚胎干细胞中的细胞代谢与表观调控
  • 机器学习实战-系列教程7:SVM分类实战2线性SVM(鸢尾花数据集/软间隔/线性SVM/非线性SVM/scikit-learn框架)项目实战、代码解读
  • DOM渲染与优化 - CSS、JS、DOM解析和渲染阻塞问题
  • 基于小程序的理发店预约系统
  • MD5 算法流程
  • TCP/IP协议详解
  • SSM SpringBoot vue快递柜管理系统
  • 期权交易保证金比例一般是多少?
  • 029:vue项目,勾选后今天不再弹窗提示
  • Unet语义分割-语义分割与实例分割概述-001
  • Linux常用命令字典篇
  • __declspec(novtable) 在C++
  • ChatGPT充值,银行卡被拒绝