生命周期

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入门的更多相关文章

  1. 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别

    Activity.finish()Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Act ...

  2. 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别(转)

    Activity.finish()Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Act ...

  3. 安卓开发 UI入门

    布局的类型 线性布局 LinearLayout ***  垂直显示 vertical 水平显示 horizontal 文本适应 wrap_content 填充父窗体 match_parent 权重 l ...

  4. 安卓开发入门之activity

    安卓开发主要用到的是java语言,对于一个activity,自己写的程序可以继承至Activity,该Activity先会运行一个叫 onCreat()的类,可以在其中申明一些初始化的函数等,这个函数 ...

  5. 安卓开发笔记——深入Activity

    在上一篇文章<安卓开发笔记——重识Activity >中,我们了解了Activity生命周期的执行顺序和一些基本的数据保存操作,但如果只知道这些是对于我们的开发需求来说是远远不够的,今天我 ...

  6. Kotlin 语言高级安卓开发入门

    过去一年,使用 Kotlin 来为安卓开发的人越来越多.即使那些现在还没有使用这个语言的开发者,也会对这个语言的精髓产生共鸣,它给现在 Java 开发增加了简单并且强大的范式.Jake Wharton ...

  7. 学习安卓开发[2] - 在Activity中托管Fragment

    目录 在上一篇学习安卓开发[1]-程序结构.Activity生命周期及页面通信中,学习了Activity的一些基础应用,基于这些知识,可以构建一些简单的APP了,但这还远远不够,本节会学习如何使用Ac ...

  8. 安卓开发(3)—1— Activity

    安卓开发(3)-1- Activity 3.1 Activity是什么: 在前面安卓概述中有提到,Activity是Android开发中的四大组件,所有在app里可以看到的东西都是Activity里面 ...

  9. .Net程序员快速学习安卓开发-布局和点击事件的写法

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 本系列课程 致力于老手程序员可以快速入门学习安卓开发.系统全面的从一个.Net程序员的角度一步步学习总结安 ...

随机推荐

  1. Java泛型初探

    概述 泛型就是参数化类型,一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参,其实你回味一下这里.形参参数化的是变量的值,而如果你想参数化变量的类型,那就用到泛型了.同样的, 定义的时 ...

  2. CentOS工作内容(七)禁用IPV6

    CentOS工作内容(七)禁用IPV6 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+e 移动到当前行的开头(e end) ctrl+u ...

  3. host文件常用地址

    #+UPDATE_TIME 2016-02-16 19:52:05 UTC+8#+MESSAGE#################################################### ...

  4. 在ios上时间无法parse返回 "Invalid Date"

    百度搜索:" ios 上面 new date" 关键字 BUG 描述直接上原码 var psrseDate = Date.parse("2010-03-15 10:30: ...

  5. Selenium定位元素-Xpath的使用方法

    工具 Xpath的练习建议下载火狐浏览器,下载插件Firebug.Firepath. 由于最新版火狐不支持Firebug等扩展工具了,所以需要下载49版以下的版本安装https://ftp.mozil ...

  6. [py][mx]django自定义认证类-实现邮箱作为用户名登录

    创建自定义验证用户名密码类CustomBackend users/views.py from django.contrib.auth import authenticate, login from d ...

  7. soapUI-DataSink

    1.1.1  DataSink 1.1.1.1 概述 – DataSink Option Description   Properties DataSink属性表   Toolbar DataSink ...

  8. Log4net 乱码问题解决

    在将log4net输出到UdpAppender会出现乱码问题,当然,丢到第三方日志分析工具glaylog下,也出现中文乱码. <?xml version="1.0"?> ...

  9. cordova+Android Studio 1.0+ionic+win7(转)

    转自http://blog.csdn.net/fuyunww/article/details/42216125 目录(?)[-] 在项目目录下执行 a创建工程 b添加平台支持 c添加插件在Androi ...

  10. PAT乙级 1024. 科学计数法 (20)(未通过全部测试,得分18)

    1024. 科学计数法 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 HOU, Qiming 科学计数法是科学家用来表示很 ...