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,一经查实,立即删除!

相关文章

elasticsearch中cluster和transport知识

elasticsearch cluster 概述 elasticsearch节点间通信的基础transport转载于:https://www.cnblogs.com/wzj4858/p/8126033.html

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起&…

oracle symonym_ORACLE SYNONYM详解

以下内容整理自Oracle 官方文档一 概念A synonym is an alias for any table, view,materialized view, sequence, procedure, function, package, type, Java classschema object, user-defined object type, or another synonym. Because a synonymis simply an alias, it re…

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

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

Scikit-Learn机器学习入门

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

hdu1542 Atlantis(扫描线+线段树+离散)矩形相交面积

题目链接&#xff1a;点击打开链接 题目描写叙述&#xff1a;给定一些矩形&#xff0c;求这些矩形的总面积。假设有重叠。仅仅算一次 解题思路&#xff1a;扫描线线段树离散&#xff08;代码从上往下扫描&#xff09; 代码&#xff1a; #include<cstdio> #include <al…

浏览器滚动条 --- 自定义“衣裳”

由于种种原因&#xff0c;浏览器的默认滚动条“衣裳”实在是 (ˉ▽&#xffe3;&#xff5e;)~~&#xff0c;为了“美”&#xff0c;本人结合万维网各大神给的经验和自己的实践&#xff0c;做了此篇总结。若有错误&#xff0c;请在评论里给出&#xff0c;我会及时更改。 我在电…

电脑调分辨率黑屏了怎么办_调显示器分辨率黑屏怎么办

调显示器分辨率黑屏怎么办调显示器分辨率黑屏解决方法&#xff1a;1&#xff0c;开机&#xff0c;当快要进入系统选项时&#xff0c;立即按f8键进入“高级模式”&#xff0c;因为系统选项界面显示的时间非常短&#xff0c;可以提早按f8键&#xff0c;否则错过时机就得重来。2&a…

什么是JNDI,SPI,CCI,LDAP和JCA?

JNDI代表Java命名和目录接口 。 它是用于提供对目录服务&#xff08;即带有对象的服务映射名称&#xff08;字符串&#xff09;&#xff0c;对远程对象或简单数据的引用&#xff09;的访问的API。 这就是所谓的 约束力 。 绑定集称为上下文 。 应用程序使用JNDI接口访问资源。…

android studio gradle 学习,学习Android Studio里的Gradle

一直听说Gradle很强大&#xff0c;只是偶尔用Android Studio创建Demo的时候看到他一次&#xff0c;今天抽个时间完整记录一下。1.gradle位置Android Studio项目创建好之后&#xff0c;默认有3个gradle文件&#xff0c;分别位于&#xff1a;/settings.gradle/build.gradle/app/b…

接口耗时打印并统计

1.可以利用Tomcat的access-log日志&#xff0c;让其打印出http请求的每次耗时。可以在 config/server.xml里Host标签下配置tomcat访问日志格式 <Valve className"org.apache.catalina.valves.AccessLogValve" directory"logs" prefix&quo…

js内存

js在定义变量时完成了内存的分配 js具有自动垃圾回收机制&#xff0c;垃圾回收器会每隔固定的一段时间就执行一次释放操作&#xff0c;即找出那些不再继续使用的值&#xff0c;释放其占用的内存 js中最常用的是通过标记清除的算法来找到哪些对象是不再继续使用的&#xff0c;因…

halcon 图像差分_Halcon编程-基于纹理的mara检测

表面瑕疵检测是机器视觉领域非常重要的一个应用。机器视觉是集光学、机电和计算机三个领域的一门不算新的技术。但目前表面瑕疵检测在学界主要是计算机专业或者控制专业瞄准图像处理方向在做&#xff0c;而视觉光学系统这一块主要是光学工程专业在做。很少有研究者把这三块都结…

Apache Camel入门

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

css 写打印样式问题

&#xff08;1&#xff09;背景颜色打印不出来问题解决方法 background样式要加上 !important&#xff1b;color样式要加上 !important&#xff1b;-webkit-print-color-adjust: exact;然后记得浏览器打印设置里面要在“打印背景图形”前面打勾。 -webkit-print-color-adjust:…

android studio smssdk,SMSSDK for Android 配置

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

linux后台不挂断运行 nohup命令

//后台常在 退出终端仍然运行 nohup python pyredis.py & nohup输出重定向到my.log nohup command > my.log 2>&1 &转载于:https://www.cnblogs.com/plxm/p/8136833.html

Ubuntu 16.04安装微信

微信没有出Linux的版本&#xff0c;但是可以通过以下方式解决&#xff1a; 1、使用网页版&#xff0c;除了没有公众号之后&#xff0c;一切都没问题&#xff0c;包括传文件等。 网页登录地址&#xff1a;https://wx.qq.com/ 2、使用第三方版本&#xff0c;只不过这个是桌面应用…

navision系统和sap区别_SAP那些事-实战篇-89-浅谈金税接口方案

以前金税接口这块一直是销售顾问在做&#xff0c;虽然和财务相关&#xff0c;也没有怎么关注。这次项目把金税接口分到了财务模块&#xff0c;结果遇到了一些问题&#xff0c;趁此机会把这块总结一下方案&#xff0c;供各位看官参考。方案1&#xff1a; 文本方案&#xff0c;这…