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,位 ...
随机推荐
- AOS Clustering on one Server
原文链接:http://www.cnblogs.com/JackyXu1981/articles/1287910.html AOS Clustering on one Server AOS Clust ...
- python之流程控制升级
python之流程控制:if elif else while for 一.流程控制之if: 1.1为什要有if判断:让计算机能像人一样代替人类工作,那么计算机应该有对于事务的读错,真假,是否可行的 ...
- C#.Net 调用Java的Web Service
首先,得有一个web service地址:http://www.baiduc.om/XXServices?wsdl 然后在.net 项目中添加Web引用,并把地址给它输进去 第三.编码: using ...
- linux --memcached的安装与配置
转载:http://blog.sina.com.cn/s/blog_4829b9400101piil.html 1.准备安装包:libevent-2.0.21-stable.tar.gz 和memca ...
- paste 合并文件
1.命令功能 paste 用于合并文件的列,把每个文件以列对列的方式,一列列地加以合并. 2.语法格式 paste option file 参数选项 参数 参数说明 -d 指定间隔符合并文件(默 ...
- luogu3350 [ZJOI2016]旅行者
链接 P3350 [ZJOI2016]旅行者 题目大意:给出网格图,求两点之间最短路,多组询问. \(n*m\leq10^5\ \ q\leq 10^5\) 考虑\(CDQ\)分治. 首先把询问离线, ...
- LeetCode--052--N皇后II(java)
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回 n 皇后不同的解决方案的数量. 示例: 输入 ...
- 如何分析及处理 Flink 反压?
反压(backpressure)是实时计算应用开发中,特别是流式计算中,十分常见的问题.反压意味着数据管道中某个节点成为瓶颈,处理速率跟不上上游发送数据的速率,而需要对上游进行限速.由于实时计算应用通 ...
- window10 安装 docker
0.打开Hyper-V. 安装成功后,查看“任务管理器”: 1.下载安装程序. 2.一路"next"安装.安装成功后,桌面会出现图标: 3.双击该图标,成功运行后,右小角出现: 右 ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 D Merchandise (斜率优化)
Description: The elderly aunts always like to look for bargains and preferential merchandise. Now th ...