曾无好事来相访,赖尔高文一起予。这篇文章主要讲述安卓开发 Activity入门相关的知识,希望能为你提供帮助。
生命周期
Activity包含5种状态,涉及7种方法
1. 启动状态
2. 运行状态 ***
即使内存不足,Android先销毁栈底的Activity,来确保当前Activity正常运行
3. 暂停状态
(可见,无法获取焦点
4. 停止状态
(完全不可见
5. 销毁状态
文章图片
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一键快速开发