曾无好事来相访,赖尔高文一起予。这篇文章主要讲述安卓开发 Activity入门相关的知识,希望能为你提供帮助。
生命周期
Activity包含5种状态,涉及7种方法
1. 启动状态
2. 运行状态 ***
即使内存不足,Android先销毁栈底的Activity,来确保当前Activity正常运行
3. 暂停状态
(可见,无法获取焦点
4. 停止状态
(完全不可见
5. 销毁状态
![安卓开发 Activity入门](http://img.readke.com/220510/164HA142-0.jpg)
文章图片
OnCreat 创建时调用,初始化设置
OnStart Activity即将可见时调用
OnResume 获取焦点开始与用户交互时调用
OnPause 在当前Activity被其他Activity覆盖或锁屏时调用
OnStop 在Activity对用户不可见时调用
【安卓开发 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, 1); // 接收方回传数据 Intent intent= new Intent(); intent.putExtra("data", "Hello"); setResult(1, intent);
// 请求方 因为 接收方Activity结束后 会调用回传函数 @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityReslt(requestCode, resultCode, data); if(requestCode == 1) { if(resultCode == 1) { 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", 173); 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);
推荐阅读
- Androidtouch事件分发
- 十大数据可视化工具详细图解
- Tableau教程入门介绍
- TensorFlow中的人工神经网络介绍和用法图解
- 机器学习和深度学习基本内容详细图解
- TensorFlow Playground详细解释和使用示例图解
- TensorFlow中的多层感知器介绍和用法示例
- Mac下Android Studio添加忽略文件的方法
- 力软敏捷开发框架-轻量化app一键快速开发