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的实例

第二个activity的更多相关文章

  1. 启动第二个Activity

    启动第二个Activity activity_main.xml文件: <? xml version="1.0" encoding="utf-8"?> ...

  2. 第二个Activity返回数据

    背景内容:FirstActivity先跳转到TwoActivity,再由TwoActivity返回,并还返回数据. 一般情况下Activity间跳转只需要调用 startActivity(Intent ...

  3. Android基础学习第二篇—Activity

    写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...

  4. 第二篇Activity:2、任务和返回堆栈(Tasks and Back Stack)之基本介绍

    参考:http://developer.android.com/guide/components/tasks-and-back-stack.html 在Android中,一个应用程序里面,通常包含了多 ...

  5. 启动第二个activity,然后返回数据给第一个数据

    第一个activity启动的代码: intent = new Intent(MainActivity.this, Main2Activity.class); startActivityForResul ...

  6. Android五天乐(第二天)Activity跳转与传输数据,Fragment

    1 Activity的生命周期 activity在生命周期内共同拥有执行.暂停,和停止三种状态.每次发生状态转换时,都有一个Activity方法将状态改变的消息通知给activity.activity ...

  7. Android开发之Activity的创建跳转及传值

    在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider).今天所介 ...

  8. Android开发学习—— activity

    activity生命周期 #Activity生命周期###void onCreate()* Activity已经被创建完毕###void onStart()* Activity已经显示在屏幕,但没有得 ...

  9. Activity生命周期

    在开始之前我们先了解一下什么是Activity: 直接翻译为:"活动",而在Android中更多的是代表手机的屏幕,是Android的四大组件之一,重要的组成单元,提供了与用户交互 ...

随机推荐

  1. Winform图片拖拽与缩放

    最近做项目的时候遇到上传施工平面布置图,查看,因为图片比较大,一般的显示器分辨率无法显示全,然后还需要放大看清楚图片里面的文字内容,所以需要用到图片的拖拽与缩放功能.这里整理下具体操作. 首先新建一个 ...

  2. 自己写的一个简单的jQuery提示插件

    代码: /** * 2014年11月13日 * 提示插件 */ (function ($) { $.fn.tips = function (text) { var divtipsstyle = &qu ...

  3. PHP 判断是否为 AJAX 请求

    先说前端使用 jQuery 时怎么区分: jQuery 发出 ajax 请求时,会在请求头部添加一个名为 X-Requested-With 的信息,信息内容为:XMLHttpRequest 在后端可以 ...

  4. CodeSnippet.info整体技术构架

    CodeSnippet.info整体架构 服务器端 Asp.NET MVC5 考察过MVC6,但是现在MVC6还不成熟,技术上不稳定,很多资料也比较少. 所以网站暂时使用MVC5.当然网站的大部分业务 ...

  5. MEF入门之不求甚解,但力求简单能讲明白(五)

    我们已经成功的达到了目标,大量减少了if else. 不过在园子里面的文章大多,用的是Import.ImportMany.So,修改主函数. using IPart; using System; us ...

  6. ROW_NUMBER、RANK()、DENSE_RANK()和OVER的使用

    /*以FoodPrice列排序并显示排序后的行号*/ SELECT ROW_NUMBER() OVER(ORDER BY FoodPrice DESC) AS RowId,* FROM dbo.Foo ...

  7. PDF解析帮助类

    public class ComPDFHepler { /// <summary> /// 正则获取字符串中两个字符串间的内容 /// </summary> /// <p ...

  8. Pydev Debugger not working with breakpoints

    I have a simple test module: print("fish")print("sticks")It runs pretty fast as ...

  9. Oracle数据库,查询语句、内置函数

    一.数据库的查询语句: 1.查询整个表: select * from 表名 例: 2.通过条件查询某一行数据: select * from 表名 where 字段名 例: 3.某一列数据去重查询: s ...

  10. PHP与MySQL的交互(mysqli)

    近期在学习PHP,这里总结一下PHP与MySQL的交互. 这里我们使用mysqli进行连接. mysqli扩展允许我们访问MySQL 4.1及以上版本提供的功能. 想深入了解mysqli的信息可以访问 ...