zoukankan      html  css  js  c++  java
  • 第二个activity

    Android四大组件

    • Activity
    • BroadCastReceiver
    • Service
    • ContentProvider

    创建第二个Activity

    创建第2个Activity的过程

    • 1. 创建class类继承Activity
    • 2. 创建布局文件,作为Activity的显示内容
    • 3. 在清单文件中注册Activity

    清单文件的配置

    • 新创建的activity,必须在清单文件中做配置,否则系统找不到,在显示时会直接报错

      <activity android:name="com.itheima.createactivity.SecondActivity"></activity>
      
    • 只要有以下代码,那么就是入口activity,就会生成快捷图标

      <intent-filter>
              <action android:name="android.intent.action.MAIN" />
      
              <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
      
    • 如果Activity所在的包跟应用包名同名,那么包名可以省略不写 如android:name=“.SecondActivity”

    Activity的跳转

    隐式跳转

    • 一个Activity如果需要隐式跳转,那么在清单文件中必须添加以下子节点

      <intent-filter >
          <action android:name="com.itheima.sa"/>
          <category android:name="android.intent.category.DEFAULT"/>
      </intent-filter>
      
    • action节点的name是自己定义的,定义好之后,这个name的值就会成为这个activity动作,在隐式启动Activity时,意图中设置的action必须跟"com.itheima.sa"是完全匹配的
    • <data android:scheme="" android:mimeType=""/>隐式意图需要需要给传递对象的时候 需要带上该条语句 例如android:scheme=“tell” android:mimeType="" 表示传入参数的类型

    应用场景

    • 显示意图:启动同一个应用中的Activity
    • 隐式意图:启动不同应用中的Activity
    • 再启动效率上,隐式远远低于显式
    • 如果系统中有多个Activity与意图设置的Action匹配,那么在启动Activity时,会弹出一个对话框,里面包含所有匹配的Activity

    Activity任务栈

    • 应用运行过程中,内存中可能会打开多个Activity,那么所有打开的Activity都会被保存在Activity任务栈
    • 栈:后进先出,最先进栈,就会最后出栈

    Activity的启动模式

    • 标准模式:默认就是先进后出
    • singleTop:如果目标Activity不在栈顶,那么就会启动一个新的Activity,如果已经在栈顶了,那么就不会再启动了
    • singleTask:如果栈中没有该Activity,那么启动时就会创建一个该Activity,如果栈中已经有该Activity的实例存在了,那么在启动时,就会杀死在栈中处于该Activity上方的所有Activity全部杀死,那么此时该Activity就成为了栈顶Activity。
      • singleTask的作用:保证整个栈中只有一个该Activity的实例
    • singleInstance:设为此模式的Activity会有一个自己独立的任务栈,该Activity的实例只会创建一个,保存在独立的任务栈中
      • singleInstance的作用:保证整个系统的内存中只有一个该Activity的实例

  • 相关阅读:
    什么样的代码称得上是好代码?
    九年程序人生 总结分享
    Docker入门 第一课 --.Net Core 使用Docker全程记录
    阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅
    Visual studio 2015 Community 安装过程中遇到问题的终极解决
    Activiti6.0 spring5 工作流引擎 java SSM流程审批 项目框架
    java 进销存 库存管理 销售报表 商户管理 springmvc SSM crm 项目
    Leetcode名企之路
    24. 两两交换链表中的节点
    21. 合并两个有序链表
  • 原文地址:https://www.cnblogs.com/ideal-iover/p/5299319.html
Copyright © 2011-2022 走看看