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,位 ...
随机推荐
- Spark集成Kafka实时流计算Java案例
package com.test; import java.util.*; import org.apache.spark.SparkConf; import org.apache.spark.Tas ...
- jQuery学习总结05-事件
1.事件的发生 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 【记录】git error:bad signature 解决方法
今天提交git 的时候出现 bad signature 错误,意思是git下的index文件损坏了,需要重新生成下 error: bad signature fatal: index file cor ...
- 【改】DOS文件格式转UNIX文件格式
windows中的文本文件的换行符是"\r\n",而linux中是"\n",dos格式文件传输到unix系统时,会在每行的结尾多一个^M,当然也有可能看不到,但 ...
- Linux忘记root密码解决方案
忘记Linux root密码时,只需重启Linux系统,然后引导进入Linux的单用户模式(init 1),由于单用户模式不需要输入登陆密码,因此,可直接登陆系统,修改root密码即可解决问题.需要说 ...
- 网络安全意识有多重要?SamSam勒索软件敲诈了近600万美元
近年来,对于网络犯罪分子来说,勒索软件已成为数百万美元的黑市业务,SamSam就是一个很好的例子. 中国信息安全新研究显示,自2015年12月以来,SamSam勒索软件从受害者手中敲诈了近600万美元 ...
- Beats:如何创建一个定制的Elastic Beat
Beats作为Elastic Stack家族中重要的部分.它可以和方便地让我们把我们的数据发送到Elasticsearch或Logstash之中.如果我们想要生成自己的Beat,请使用GitHub的b ...
- LeetCode--041--缺失的第一个整数(java)
给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11 ...
- MJ瀑布流学习笔记
1. 如果系统自带的布局的话,是这样: //系统自带的UICollectionViewFlowLayout 而不是UICollectionViewLayout UICollectionViewFlow ...
- xss盲打
什么是xss盲打? 简单来说,盲打就是在一切可能的地方尽可能多的提交xss语句,然后看哪一条会被执行,就能获取管理员的cooike.趁着没过期赶紧用了,这样就能直接管理员进后台.然后再上传一句话,大马 ...