组件一:Activity

基础知识

1 android四大组件

  Activity(活动)

  Service(服务)

  BroadcastReceiver(广播接收器):应用间的广播消息

  ContentProvider(内容提供器):实现应用之间共享数据

2 逻辑与视图分离:活动与界面的编写分开,在布局文件中编写界面,然后在活动中引入进来

3 为什么使用log而不使用System.out:打印日志不可控制、打印时间无法确定、不能添加过滤器、日志没有级别区分。

4 布局文件的两种使用方式:使用Graphical Layout的可视化编辑,使用xml文件方式编辑

5 intent:可以用于在活动、服务、广播之间穿梭,一般可用于启动活动、启动服务、发送广播

显式intent:在intent的构造函数中指明要启动的activity

隐式intent:不在intent中指明Activity,而是指明要匹配的activity的action、category,然后在注册表里对想要启动的那个activity的action、category进行说明。只有<action><category>同时能够匹配得上Intent中指定的action和category时,这个活动才能够启动。

intent传递数据:putExtra()

6 activity的生命周期

运行状态:可见、前台运行,可以与用户交互

暂停状态:可见,不处于返回栈栈顶。

停止状态:完全不可见

销毁状态:


onRestart():用于返回上一个活动

如果活动A启动活动B,在活动B运行期间,活动A被系统收回。则在返回活动A的过程中系统并不调用onRestart,而是使用onCreate重新创建。在这个过程中,可以使用onSaveInstanceState()来保存数据。

7 android的启动模式

(1) standard:默认模式:每当启动一个活动,它就会在返回栈中入栈,并处于栈顶,而且不会去检查该活动是否已经有实例存在于返回栈中了。

(2) singleTop:如果检测到想要启动的活动已经处于返回栈中且是栈顶,则直接使用,不再创建新的活动实例。但是如果想要启动的活动不是栈顶,则会创建新的实例。

(3) singleTask:如果检测到想要启动的活动已经处于返回栈中,但不是栈顶,则把其上的所有活动出栈,直接使用该活动实例。不再创建活动实例。

(4) singleIntance:在该模式下,系统会启动一个新的返回栈来管理这个活动。之所以这样做,是因为有些活动如果想在多个程序间共享,但是每个程序自己的返回栈自己使用,想要共享的话只能是另外使用一个返回栈,在这个范湖栈里的东西可以供给所有的程序一起使用。

8  如何知晓当前处于哪一个活动

写一个新的活动如baseActivity继承Activity。在这个活动的onCreate函数里打印出当前类名,然后让该类称为项目中所有活动类的父类。这样子在运行的时候就会打印出当前所处的活动的名字。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Activity 一、四种形态 运行状态: 当 Activity 处于栈的顶层,可见,并可与用户进行交互 onRe...
    任教主来也阅读 1,723评论 1 10
  • 本篇博客是笔者看过《Android开发艺术探索》才写的,有些是借鉴了此本书的内容,当有些内容进行了精进。 Acti...
    ClAndEllen阅读 3,462评论 1 27
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 《像武汉人一样生活》 作者:陈 序 到武汉大概是晚上10点,下车后大姑让我们去进站口等...
    陈序原创阅读 316评论 0 1
  • 2.2 每日写 今天几个初中同学聚在一起互相聊聊天,每年过年的时候都会这样。 02年毕业时居然没有拍毕业照,以至于...
    HHzhao阅读 71评论 0 0