安卓开发 Activity入门
生命周期
Activity包含5种状态,涉及7种方法
1. 启动状态
2. 运行状态 ***
即使内存不足,Android先销毁栈底的Activity,来确保当前Activity正常运行
3. 暂停状态 (可见,无法获取焦点
4. 停止状态 (完全不可见
5. 销毁状态

OnCreat 创建时调用,初始化设置
OnStart Activity即将可见时调用
OnResume 获取焦点开始与用户交互时调用
OnPause 在当前Activity被其他Activity覆盖或锁屏时调用
OnStop 在Activity对用户不可见时调用
OnDestroy
OnRestart
Activity的启动模式
standard模式
singleTop模式
singleTask模式
singleInstance模式
Activity 之间的跳转
Intent
显式意图
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
隐式意图
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
startActivity(intent);
category是一个默认值的话,可以省略不屑
在清单文件 AndroidManifest.xml 配置 <intent-filter> 如下所示
<intent-filter tools:ignore="AppLinkUrlError">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
</intent-filter>
数据传递
intent.putExtra("data", "draymonder");
数据回传
// 请求方
Intent intent = new Intent(this, MainActivity.class);
startActivityForResult(intent, ); // 接收方回传数据
Intent intent = new Intent();
intent.putExtra("data", "Hello");
setResult(, intent);
// 请求方 因为 接收方Activity结束后 会调用回传函数
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityReslt(requestCode, resultCode, data);
if(requestCode == ) {
if(resultCode == ) {
String str = data.getStringExtra("data");
System.out.println(str);
}
}
}
Bundle 传递信息
Intent intent = new Intent(this, Main2Activity.class);
Bundle bundle = new Bundle();
bundle.putString("data", "draymonder");
bundle.putInt("height", );
intent.putExtras(bundle);
startActivity(intent);
获取信息
Bundle bundle = this.getIntent().getExtras();
String str = bundle.getString("data");
int height = (Integer) bundle.get("height");
Log.i("Main2",str + " " + height);
安卓开发 Activity入门的更多相关文章
- 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别
Activity.finish()Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Act ...
- 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别(转)
Activity.finish()Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Act ...
- 安卓开发 UI入门
布局的类型 线性布局 LinearLayout *** 垂直显示 vertical 水平显示 horizontal 文本适应 wrap_content 填充父窗体 match_parent 权重 l ...
- 安卓开发入门之activity
安卓开发主要用到的是java语言,对于一个activity,自己写的程序可以继承至Activity,该Activity先会运行一个叫 onCreat()的类,可以在其中申明一些初始化的函数等,这个函数 ...
- 安卓开发笔记——深入Activity
在上一篇文章<安卓开发笔记——重识Activity >中,我们了解了Activity生命周期的执行顺序和一些基本的数据保存操作,但如果只知道这些是对于我们的开发需求来说是远远不够的,今天我 ...
- Kotlin 语言高级安卓开发入门
过去一年,使用 Kotlin 来为安卓开发的人越来越多.即使那些现在还没有使用这个语言的开发者,也会对这个语言的精髓产生共鸣,它给现在 Java 开发增加了简单并且强大的范式.Jake Wharton ...
- 学习安卓开发[2] - 在Activity中托管Fragment
目录 在上一篇学习安卓开发[1]-程序结构.Activity生命周期及页面通信中,学习了Activity的一些基础应用,基于这些知识,可以构建一些简单的APP了,但这还远远不够,本节会学习如何使用Ac ...
- 安卓开发(3)—1— Activity
安卓开发(3)-1- Activity 3.1 Activity是什么: 在前面安卓概述中有提到,Activity是Android开发中的四大组件,所有在app里可以看到的东西都是Activity里面 ...
- .Net程序员快速学习安卓开发-布局和点击事件的写法
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 本系列课程 致力于老手程序员可以快速入门学习安卓开发.系统全面的从一个.Net程序员的角度一步步学习总结安 ...
随机推荐
- 洛谷P3953 逛公园 [noip2017] 图论+dp
正解:图论(最短路)+dp(记忆化搜索) 解题报告: 这题真的是个好东西! 做了这题我才发现我的dij一直是错的...但是我以前用dij做的题居然都A了?什么玄学事件啊...我哭了TT 不过其实感觉还 ...
- 【python-opencv】18-图像梯度+图像边界
效果图: *一阶导数与Soble算子 *二阶导数与拉普拉斯算子 定义:把图片想象成连续函数,因为边缘部分的像素值是与旁边像素明显有区别的,所以对图片局部求极值,就可以得到整幅图片的边缘信息了. 不过图 ...
- mysql 数据操作 多表查询 目录
mysql 数据操作 多表查询 准备 多表连接查询介绍 mysql 数据操作 多表查询 多表连接查询 笛卡尔积 mysql 数据操作 多表查询 多表连接查询 内连接 mysql 数据操作 多表查询 多 ...
- 前端 HTML文档结构介绍
<!DOCTYPE HTML> <html> <head>...</head> <body>...</body> </ht ...
- nginx 11个处理阶段 && nginx lua 8个处理阶段
1. nginx 11 个处理阶段 nginx实际把请求处理流程划分为了11个阶段,这样划分的原因是将请求的执行逻辑细分,各阶段按照处理时机定义了清晰的执行语义,开发者可以很容易分辨自己需要开发的模块 ...
- Linux实验楼学习之三
查看用户 who am i or who mom likes who 命令其它常用参数 参数 说明 -a 打印能打印的全部 -d 打印死掉的进程 -m 同am i,mom likes -q 打印当前登 ...
- WebService之Axis2(1):用POJO实现0配置的WebService
Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物.Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持S ...
- [LeetCode] 225. Implement Stack using Queues_Easy tag: Design
Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. po ...
- 机器学习理论基础学习10--- 高斯混合模型GMM
一.什么是高斯混合模型? 高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布 ...
- C# 定时器 一个简单 并且可以直接运行的Demo
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...