activity知识点
一:activity的理解
1.活动:四大应用组件之一
2.作用:提供能让用户操作并与之交互的界面
3.组件的特点:
它的类必须实现特定接口或继承特定类
需要在配置文件中配置全类名
它的对象不是通过new来创建的,而是系统自动创建的
它的对象具有一定的声明周期,它的类中有对应得生命周期回调方法
4.那些地方用到反射技术:(android)
a.配置文本中配置全类名
b.布局文件定义标签
c.显示意图:Intent(Context context,Class c)
二:Intent的理解
1.意图:信使(activity,service,broadcastReceiver三个组件间通信的信使)
2.分类:
显式:操作当前应用自己的组件
隐式:操作其他应用自己的组件
三:Intent的使用
1.创建:
显式:Intent(Content content,Class activityClass)
隐式:Intent(String action) //与Activity的<intent-filter>的action匹配
2.携带数据
额外:PutExtra(String key,Xxx value) 内部用map容器保存
有特定前缀:setData(Uri data) //tel:123。smsto:123123
3.读取数据
额外:Xxx getXxxExtra(String key)
有特定前缀:Uri getData()
四:activity的使用 *****
1.定义
a.定义一个类 extends Activity,并重写声明周期方法
b.在功能清单文件中使用<activity>注册
2.启动
a.一般启动:startActivity(Intent intent)
b.带回调启动:startActivityForResult(Intent intent,int requestCode)
重写:onActivityResult(int requestCode,int resultCode ,Intent data)
3.结束
a.一般结束:finish()
b.带结果结束:setResult(int resultCode,Intent data)
五:activity生命周期
activity界面的四种状态:
运行状态:可以可操作
暂停状态:可见不可操作
停止状态:不可见,但对象存在
死亡状态:对象不存在
不存在 onCreate() 停止 onStart() 暂停 onResume() 运行
运行 onPause() 暂停 onStop() 停止 onDestory() 不存在
1.界面从"死亡"--》"运行"
创建对象 --》onCreate() --》onStart() --》onResume()
2.界面从"运行"--》"死亡"
onPause() --》onStop() --》onDestory()
3.界面从"运行"--》"停止"
onPause() --》onStop()
4.界面从"停止"--》"运行"
onRestart() --》onStart() --》onResume()
5.界面从"运行"--》"暂停"
onPause()
6.界面从"暂停"--》"运行"
onResume()
onCreate():加载布局和初始化工作
onResume():只有经历此方法,才能进入运行状态
onDestroy():在对象死亡之前,做一些收尾或清理的工作
六:Activity的TaskStack:
1.在android中,系统用TaskStack结构来存储管理启动的Activity对象
2.一个应用启动,系统就会为其创建一个对应得TaskStack来存储并管理该 应用的Activity对象
3.只有最上面的任务栈的栈顶的Activity才能显示在窗口中
七:Activity的launchMode(加载模式):
在android中,启动一个Activity有时创建一个新对象,有时需要复用已有 的对象,可以配置activity时通过launchMode属性指定。
launchMode属性值(4个)为:
standard:每次调用startActivity()方法就会产生一个新的实例
singleTop:若实例为栈顶时则不产生新的实例
singleTask:只有一个实例,默认在当前Task中
singleInstance:只有一个实例,创建时会新建一个栈,且此栈中不 能有其他对象
八:总结
1.实现一个简单功能的应用的步骤
a.外观:分析界面组成,定义布局文件
b.行为:编写Activity的实现
1).在onCreate()中加载布局文件:setContentView(layoutId)
2).调用findViewById得到需要操作的所有视图对象并保存为成员变量
3).给视图对象设置监听器(点击/长按),在回调方法实现响应逻辑
2.使用隐式意图启动系统应用的界面
如何找到对应得Action字符串:
添加ActivityManager的Log日志,利用系统应用源码找到对应的Activity的配置
3.权限:当调用一些系统比较重要的功能时需要声明
activity知识点的更多相关文章
- Activity知识点详解
Activity知识点详解 一.什么是Activity 官方解释: The Activity class is a crucial component of an Android app, and t ...
- Intent和Activity知识点总结
1.Intent的跳转传值2.Intent的隐式启动(用于不同应用中)与显示启动(同一应用中)3.Activity的生命周期 void onCreate()——Activity已经被创建完毕,创 ...
- android:activity知识点
一.活动流程 1.创建活动 public class firstActivity extends Activity{} 2.创建布局 新建first_layout.xml文件 3.注册活动 在andr ...
- 硅谷新闻2--禁止viewpager预加载
ContentFragment.java class MyOnPageChangeListener implements ViewPager.OnPageChangeListener { ..... ...
- [转]【eoeAndroid索引】史上最牛最全android开发知识汇总
一.开发环境搭建 (已完成) 负责人:kris 状态:已完成 所整理标签为:搭建 SDK JDK NDK Eclipse ADT 模拟器 AVD 调试器(DEBUG) DDMS 测试 日志 Logca ...
- 最全的android学习资料
一.开发环境搭建 (已完成) 负责人:kris 状态:已完成 所整理标签为:搭建 SDK JDK NDK Eclipse ADT 模拟器 AVD 调试器(DEBUG) DDMS 测试 日志 Logca ...
- 关于android初学者必须掌握的Activity的四大知识点
这几天一直都在捣鼓android的知识点,兴趣班的老师,讲课太过深奥,天(想到什么就见什么,后后面完全不想听),最后自己找资料总结了在Android学习中很重要的一个组件Activity,那就开始吧! ...
- activity生命周期知识点整理
activity生命周期知识点整理 Activity: 是一个应用组件,用户可与其提供的屏幕进行交互.窗口通常会充满屏幕,但也可以小于屏幕并浮动在其他窗口之上. 一个activity的什么周期: 启动 ...
- Activity相关知识点总结
一.Activity状态 Activity有三种状态:active/running.paused.stopped. 1.active/running状态,在当前屏幕时,即用户可见的Activity,位 ...
随机推荐
- 第一个progressive web application,发车!
progressive web application是谷歌推出的一种渐进式web应用,通过利用service-worker等来达到类似于原生应用,而且在chrome浏览器还可以添加到主页,完全就和一 ...
- CA认证机制的简明解释
公钥机制面临的问题: 假冒身份发布公钥! 可以用CA来认证公钥的身份.CA有点像公安局,公钥就像身份证.公安局可以向任何合法用户颁发身份证以证明其合法身份.第三方只要识别身份证的真伪就能判断身份证持有 ...
- SICP 习题解 第二章
计算机程序的构造和解释习题解答 Structure and Interpretation os Computer Programs Exercises Answer 第二章 构造数据抽象 练习2.17 ...
- git上传文件夹的问题
使用git上传文件夹一定要注意,文件夹里面至少有一个文件,因为git不能管理空文件夹 所以上传就会不成功
- Typescript + TSLint + webpack 搭建 Typescript 的开发环境
(1)初始化项目 新建一个文件夹“client-side”,作为项目根目录,进入这个文件夹: 我们先使用 npm 初始化这个项目: 这时我们看到了在根目录下已经创建了一个 package.json 文 ...
- CSS3 ::before和::after伪元素的实际应用
实例 1.清除浮动 通常我们清除清除浮动的方式就是在浮动元素后面添加一个空的Div标签,然后在设置它的清除浮动要是,使用after伪元素,我们就不需要添加无意义的div标签在html中了,下面的例子就 ...
- $2019$各种$WC$没去记
\(2019\)各种\(WC\)没去记 太弱了去不了啊. 至少我联赛没退役是吧...(退役感++ 不过这个分数线还是有点让人自闭啊,划线人绝对有毒,有人关照一下空巢老人\(mona\)喵? 这里大概是 ...
- phpStorm 配置PHP_CodeSniffer自动检查代码
环境 ubuntu18.4 phpstorm php7.2 最正确安装方法 sudo apt-get install php-codesniffer 一.composer安装PHP_CodeSniff ...
- PyTorch 手动提取 Layers
Model NeuralNet( (l0): Linear(in_features=6, out_features=256, bias=True) (relu): ReLU() (bn0): Batc ...
- Vue项目安装CubeUI
CubeUi GitHub地址:https://github.com/didi/cube-ui install vue add cube-ui 项目中 会多出cube ui 的配置文件来