android移动应用基础教程源代码,Android移动应用基础教程 【程序活动单元Activity】...

本章目录

一、Activity的生命周期

1、生命周期状态

2 、生命周期方法

3、横竖屏切换时的生命周期

二、Activity的创建配置和关闭

1、Activity的创建

2、配置Activity

3、开启和关闭Activity

三、Intent与IntentFilter

1、Intent介绍

1.1 意图的概念

1.2 显式意图

1.3 隐式意图

2、IntentFilter

2.1 过滤器

2.2 action属性

2.3 data属性

2.4 category属性

四、Activity之间的跳转

1、数据传递

2、数据回传

五、Activity的任务栈和启动模式

1、Android中的任务栈

2 、Activity的启动模式

2.1 standard模式

2.2 singleTask模式

2.3 singlestance模式

六、使用Fragment

1、Fragment简介

2、Fragment的生命周期

3、创建Fragment

4、在Activity中添加Fragment

5、创建Fragment

七、本章总结

一、Activity的生命周期

1、生命周期状态

c19009f11f45c49395696ca915165068.png

2 、生命周期方法

57c8af1546bee205d04e6b465498be07.png

0638789149a39f71887020a27fd559de.png

3、横竖屏切换时的生命周期

cd971b365c5a39a6faaaed0736dff8e1.png

d8f98cc60e27d07d25d358c734a85635.png

二、Activity的创建配置和关闭

1、Activity的创建

d5af4d6c86c180c27eac43ac02c5b20a.png

855da4fa9c98a0a1bc988304e42eced1.png

2、配置Activity

db540cbfc49af083a3576d65939d0f14.png

cdb27ff011d9f6f81873399b261aceb9.png

3、开启和关闭Activity

f781aa3318bdaf03ef1b2b53b5615ca0.png

三、Intent与IntentFilter

1、Intent介绍

1.1 意图的概念

1e9ca2cf395048abff9139547e31c7d9.png

045add96faab11ae7daeca75359d7682.png

1.2 显式意图

b31f1a8c3a7c58a46b126e23bee7ad99.png

1.3 隐式意图

98bfe96831fbabd7f2a00bb19e72c4aa.png

2、IntentFilter

2.1 过滤器

ffeebdfe2731c3b39336f81406d95c43.png

2.2 action属性

5c346c521cb17d426f07792bae24c188.png

2.3 data属性

9b811f84d6328244c4d121d029e8227d.png

2.4 category属性

aeb7cc06de22210713cfa88f07140d11.png

四、Activity之间的跳转

1、数据传递

d0f66acfb6e1eadfca60f847e09a87fa.png

2294e64420c0cfedf40b9f4400c85b45.png

073ec64821b69cde121bb060187bd678.png

2、数据回传

0005e3fc067c28ab73214ccab5c63731.png

Intent intent = new Intent(MainActivity.this,SecondActivity.class);

startActivityForResult(intent,1);

//使用startActivityForResult方法开启SecondActivity,第1个参数是Intent对象,第2个参数是请求码,用于标识请求的来源。

Intent intent = new Intent();

intent.putExtra("data","Hello MainActivity");

setResult(2,intent);//在SecondActivity 中添加返回数据。

finish();

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {// SecondActivity被销毁之后在MainActivity中回调onActivityResult()方法。

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == 1&&resultCode == 2){

String acquiredData= data.getStringExtra("data"); //获取回传的数据

Toast.makeText(MainActivity.this,acquiredData,Toast.LENGTH_SHORT).show();

}

}

五、Activity的任务栈和启动模式

1、Android中的任务栈

0e12c816275b265985655db7d58c83d1.png

2 、Activity的启动模式

2.1 standard模式

a6f4a113540e33aca91713f5682642b0.png

2.2 singleTask模式

69e003aebb7020217590c27d219b1929.png

2.3 singlestance模式

2eb863688f1df71b4e577dd8524699c4.png

六、使用Fragment

1、Fragment简介

b03085dfe62d6b430211958f4ca2cc78.png

2、Fragment的生命周期

421edda7c7b1b8ef401e4764b06bd51d.png

a9c4b161d8abd6df660509033bfccf15.png

3、创建Fragment

30d675561c17e2a626005ffb69d33c44.png

4、在Activity中添加Fragment

dd4bdbbfe679a9ee649ab703de78aeea.png

653acfe6ff02f67a99d49e749faeee9f.png

5、创建Fragment

NewsListFragment fragment = new NewsListFragment();//实例化Fragment对象

FragmentManager fm = getFragmentManager();//获取FragmentManager实例

FragmentTransaction beginTransaction = fm.beginTransaction();//开启事务

beginTransaction.replace(R.id.ll,fragment); //添加Fragment

beginTransaction.commit();//提交事务

七、本章总结

本章主要介绍了Activity的相关知识,包括了Activity的生命周期,如何创建、开启和关闭单个Activity、Intent和IntentFilter、Activity之间的跳转与数据传递和Activity的启动模式以及Fragment的使用。在Android程序中用到最多的就是Activity以及Activity之间数据的传递,因此要求读者必须掌握这部分内容。

人生,不是一成不变的,生活,不是固定不变的。得意时不要炫耀,失意时不要气馁,给别人一点真诚,给自己一份信心。做人重要的是学会宽容,不要刻意地笑话别人,或许今天你是欢乐的,明天就会是失落的,人生多变,包容不变。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中使用subplot在一张画布上显示多张图

subplot(arg1, arg2, arg3) arg1: 在垂直方向同时画几张图arg2: 在水平方向同时画几张图arg3: 当前命令修改的是第几张图 t np.arange(0,5,0.1) y1 np.sin(2*np.pi*t) y2 np.sin(2*np.pi*t) plt.subplot(211) plt.plot(t,y1,b-.) plt.subplot(212) plt.plot(t,y2,r--) plt.s…

Java 8:从PermGen到元空间

您可能已经知道,现在可以下载JDK 8 Early Access 。 这使Java开发人员可以尝试Java 8的一些新语言和运行时功能。这些功能之一是完全删除自Oracle自JDK 7发行以来就宣布的Permanent Generation(PermGen)空间。例如,自JDK 7起&…

浏览器缓存问题原理以及解决方案

浏览器缓存问题: 简单来说,浏览器缓存就是把一个已经请求过的Web资源(如html页面,图片,js,数据等)拷贝一份副本储存在浏览器中。缓存会根据进来的请求保存输出内容的副本。当下一个请求来到的时…

Scikit-Learn机器学习入门

现在最常用的数据分析的编程语言为R和Python。每种语言都有自己的特点,Python因为Scikit-Learn库赢得了优势。Scikit-Learn有完整的文档,并实现很多机器学习算法,而每种算法使用的接口几乎相同,可以非常快的测试其它学习算法。 Pa…

Apache Camel入门

在先前的博文中,我们了解了企业集成模式(EIP)。 现在,在这篇文章中,我们将研究实现这些模式的Apache Camel框架。 关于骆驼: Apache Camel是一个开放源代码项目,已有将近5年的历史,…

android studio smssdk,SMSSDK for Android 配置

1.集成之前先要申请Mob的appkey与appsecret2.在Mob官网下载最新SDK,解压后会看到以下目录结构:SMSSDK下存放的是短信SDK的全部内容。3.在android studio中加入SMS的第三方库AS版本的SMSSDK目录下包含以下内容:MobCommons.jar:Mob …

JavaScript总结(3)

第3章 获取用户的输入 <script>10 intAprompt("请输入第一个数字","");11 intBprompt("请输入第二个数字",27);默认是2712 document.write("你输入的第一个数字是"intA);13 document.write("<…

android listview 开发,android开发之ListView实现

今天又初步学习了一下ListView控件,看看效果如下:LisViewActivity.java源码:package com.jinhoward.UI_listview;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.os.Bundl…

Less 的用法

1. node.js node.js是一个前端的框架 自带一个包管理工具npm node.js 的安装 官网:http://nodejs.cn/ 在命令行检验是否安装成功 切换到项目目录,初始化了一个package.json文件 安装与卸载jQuery包(例子) 安装 卸载 安装淘宝…

浅谈springboot整合ganymed-ssh2远程访问linux

环境介绍 技术栈 springbootmybatis-plusmysqlganymed-ssh2 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 1.8 Spring Boot 2.7.13 mybatis-plus 3.5.3.2 SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户…

android pick file,LFilePicker---文件选择利器,各种样式有它就够了

LFilePicker在 Android 开发中如果需要选择某个文件,可以直接调取系统的文件管理器进行选择,但是无法保证各个厂商的手机界面一致,而且解析Uri 还比较繁琐,如果还需要多选呢?需要文件类型过滤呢?老板说界面…

在JVM之下–类加载器

在许多开发人员中,类加载器是Java语言的底层,并且经常被忽略。 在ZeroTurnaround上 ,我们的开发人员必须生活,呼吸,饮食,喝酒,并且几乎与类加载器保持亲密关系,才能生产JRebel技术&a…

matplotlib绘制饼状图

源自http://blog.csdn.net/skyli114/article/details/77508430?ticketST-41707-PzNbUDGt6R5KYl3TkWDg-passport.csdn.net pyplot使用plt.pie()来绘制饼图 1 import matplotlib.pyplot as plt 2 labels frogs, hogs, dogs, logs 3 sizes 15, 20, 45, 10 # [15,20,45,10…

自适应宽度元素单行文本省略用法探究

单行文本省略是现代网页设计中非常常用的技术,几乎每个站点都会用到。单行文本省略适用于显示摘要信息的场景,如列表标题、文章摘要等。在响应式开发中,自适应宽度元素单行文本省略容易失效不起作用,对网页开发这造成困扰。因此&a…

P3390 【模板】矩阵快速幂

题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n1行,每行n个数,第i1行第j个数表示矩阵第i行第j列的元素 输出格式: 输出A^k 共n行,每行n个数&…

c#精彩编程200例百度云_永安市教育局被授予“人工智能编程教育试验区”

11月28日,“第二届人工智能与机器人教育大会青少年人工智能与编程教育主题论坛”在厦门召开。永安市教育局被中国教育发展战略学会人工智能与机器人教育专委会授予“人工智能编程教育试验区”牌匾,巴溪湾小学、西门小学、三中、一中附属学校、实验小学等…

Spring Data JPA和分页

让我们从支持分页的经典JPA方法开始。 考虑一个简单的域类–一个具有名字,姓氏的“成员”。 为了支持在成员列表上进行分页,JPA方法是支持一种查找器,该查找器将获取第一个结果(firstResult)的偏移量和要检索的结果&am…

Windows环境下安装、卸载Apache

安装Apache 服务 打开 Apcahe的目录 ,打开bin目录, 如:E:\wamp\Apache24\bin ,打开目录,Shift键 鼠标右键 , 点击 在此处打开命令窗口或者W快捷键直接到此处, 也可以Window键r,输入…

css清浮动

我们在平常做项目的时候,float这个css属性经常会用到。元素浮动会让元素脱离文档流,从而不能撑开父级的内容。今天我将展示常见的清除浮动的方法。 什么是浮动 浮动元素脱离文档流并且向左或者向右移动,直到浮动元素的边缘碰到父级框或者另…

DirectX11 学习笔记7 - 支持自由移动的摄像机

如今将又一次制定一个camera摄像机。能够自由移动。比方前进 后退,上游 下潜。 各个方向渲染之类的。 首先设置按键。 这个时候须要在 XWindow.h 里面 bool XWindow::frame() {//推断是否按下ESC键if(x_input->isKeyDown(VK_ESCAPE))return false;//假设A,S,D,W,…