Android开发之入口Activity

原文:Android开发之入口Activity

Android开发之入口Activity

Adnroid App是如何确定入口Activity的?

难道就因为class的类名叫MainActivity,布局文件叫activity_main.xml?

如果这样认为,就大错特错了。

之所以能够确定入口Activity,是因为在应用的清单文件中有所配置,系统会根据应用的清单文件(AndroidManifest.xml)来确立.

如何确立,标志是什么?

我们来看一下清单文件,便一目了然:

对了,系统能够确立就是因为红线标注的意图过滤器intent-filter

系统会在清单文件中访问所有的intent-filter,直到发现如下代码:

 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />

根据其所在activity的name,找到需要启动的activity的实体类。

那我们能否定义两个入口Activity呢?

答案是肯定的。我们不妨来试验一下,再次新建一个Activity,命名为SecondActivity,并在清单文件中注册该activity,同样将其意图过滤器设置为主activity

如图所示:

另外,我们还会发现一个有趣的现象:

是不是发现,启动一个应用生成了两个图标,是的,每个入口activity都会相应的生成一个图标,与之对应。

当我们点击Test图标的时候,会进入MainActivity,但我们点击SecondActivity图标的时候会进入SecondActivity,也就是说一个应用有两个入口,这样明显是不好的,我们应当严格规定,只能有一个入口activity,莫要奇葩行事!!!

时间: 2024-10-12 13:17:47

Android开发之入口Activity的相关文章

android开发完全退出activity

我们退出Activity可以调用:finish(),system(0),但是这些都只是单单退出单个Activity 也有人会说,直接把进程杀死,这些做法都不是很可取,其实我们翻看api可以发现,Activity 都是放入stack中管理,我们只要把stack清空了,不就完全退出了嘛.要对Activity的stack 管理,就需要了解launchMode的四种状态,这里就不多说了,自己看看api. 我们就利用android:launchMode="singleTop",当该Activit

第四章 Android开发三大基石—Activity、Service和Handler(1)

第四章 Android开发三大基石-Activity.Service和Handler 学习Android开发,首先就不得不学习Activity和Service这两个组件.Activity是有界面的程序,几乎承载着用户对应用程序的所有操作.而Service是没有界面的程序,它是所谓的服务,也叫后台程序.掌握好它们,是我们学习Android开发必不可少的环节.Handler是Android开发中最常用的消息机制,几乎所有应用程序都会使用Handler传递消息.可以说,想要学习Android应用开发,

Android开发四大组件--Activity详解

Android开发四大组件--Activity详解 - Android开发教程 Android开发的四大组件在开发中应用中是必不可少的,下面就来详解下四大组件之一Activity,总结自网络.Activty的生命周期的也就是它所在进程的生命周期. 一个Activity的启动顺序: onCreate()——>onStart()——>onResume() 当另一个Activity启动时: 第一个Activity onPause()——>第二个Activity onCreate()——>

Android开发中在一个Activity中关闭另一个Activity

Android开发中在一个Activity中关闭另一个Activity 比如有ActivityA, ActivityB,在ActivityB中关闭ActivityA 解决方案: 1. 在 ActivityA 里面设置一个静态的变量instance,初始化为this在 ActivityB 里面, ActivityA.instance.finish(); 2. 也可以通过ActivityManager ActivityManager manager = (ActivityManager)getSys

第四章 Android开发三大基石—Activity、Service和Handler(6)

4.3 Android线程间的通信-消息机制 在Android程序运行中,线程之间或者线程内部进行信息交互时经常会使用到消息,如果我们熟悉这些基础的东西及其内部原理,将会使我们的Android开发变的更加容易,从而更好地架构系统.下面,就让我们来看看Android中的消息机制到底是怎样一回事吧. 4.3.1消息的传递-Handler的使用 在Android中,线程之间进行信息交互时经常会使用消息,那么,"消息"是在什么时候使用呢?它的工作原理又是怎么样的呢? 在解释这些之前,我们先来看

Android开发常见的Activity中内存泄漏及解决办法

上一篇文章楼主提到由Context引发的内存泄漏,在这一篇文章里,我们来谈谈Android开发中常见的Activity内存泄漏及解决办法.本文将会以"为什么""怎么解决"的方式来介绍这几种内存泄漏. 在开篇之前,先来了解一下什么是内存泄漏. 什么是内存泄漏? 内存泄漏是当程序不再使用到的内存时,释放内存失败而产生了无用的内存消耗.内存泄漏并不是指物理上的内存消失,这里的内存泄漏是值由程序分配的内存但是由于程序逻辑错误而导致程序失去了对该内存的控制,使得内存浪费. 怎

第四章 Android开发三大基石—Activity、Service和Handler(2)

4.1.3Activity的创建 在 Android 中创建一个 Activity 是很简单的事情,编写一个继承自 android.app.Activity的类,并在 AndroidManifest.xml文件中声明即可.下面,我们来看一个例子,我们创建一个MyActivity类继承自Activity,代码如下: public class MyActivity extends Activity {     @Override     public void onCreate(Bundle sav

android 开发积累-activity的launch mode

合抱之木,生於毫末:九層之台,起於累土:千里之行,始於足下.<老子> 今天在社区看到有朋友问"如何在半年内成为顶级架构师",有网友道"关灯睡觉,不用半年的...",的确,做梦还来的快一些.作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行.成大事者,须从小事做起:万事起于忽微,量变引起质变. 我们今天要讲的是Activity的四种launchMode. launchMode在多个Activity跳转的过程中扮演着重要的角色,

10天学通Android开发(2-1)-核心组件Activity

Activity.Service.Broadcast Receiver.Content Provide为Android四大核心组件,Activity是与用户交互的窗口,有三种状态:运行.暂停.停止 七个方法:    protected void onCreate(Bundle savedInstanceState);      protected void onStart();      protected void onRestart();      protected void onResu