android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明

android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如android提供的发短信或者打电话的Activity.

Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phonenumber); 
startActivity(call);

Intent sms = new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:"+phonenumber); 
startActivity(sms); 
从这点上看,android应用程序实际上是由多个Activity按照一定的次序拼装起来的,只不过拼装的过程中,后台传递了一些数据,使得各个Activity之间能比较好的衔接起来. 
扯了这么多,其实我的意思还是想说,android应用程序中,并没有像c++和java这样有main函数来作为应用程序的入口.android应用程序提供的是入口Activity,而非入口函数. 
在eclipse中创建一个android应用程序的时候,默认会创建一个Activity.这个Activity实际上就是入口Activity了.从哪里定义它是Activity呢?AndroidManifest.xml文件中定义了整个android应用所包含的Activity.默认生成的Activity的定义为:

action节点中的android.intent.action.MAIN表明它所在的Activity是整个应用程序的入口点.而category中的android.intent.category.LAUNCHER意思是把这个Activityg归属到加载器类,即把这个Activity标注为自动会加载和启动的Activity,这样程序启动时候就先加载这个Activity了.参考手册上是这么说的----"the LAUNCHER category says that this entry point should be listed in the application launcher."意思和我理解的有出入.不过意思都是说这个Activity要被应用程序加载.

activity主要生命周期的方法说明:
       onCreate(Bundle savedInstanceState):创建activity时调用。设置在该方法中,还以Bundle的形式提供对以前储存的任何状态的访问!
  onStart():activity变为在屏幕上对用户可见时调用。
  onResume():activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用的)。
       onPause():activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的,也是保护现场,压栈吧!
  onStop():activity被停止并转为不可见阶段及后续的生命周期事件时调用。
  onRestart():重新启动activity时调用。该活动仍在栈中,而不是启动新的活动。
时间: 2024-10-13 08:36:17

android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明的相关文章

iOS程序执行顺序 AppDelegate及 UIViewController 的生命周期

iOS程序的启动执行顺序 AppDelegate 及 UIViewController 的生命周期 iOS应用程序的状态切换很重要,而UIViewControler对于iOS这种MVC模式来说尤为重要,基本都要继承自他. 一.iOS程序的启动执行顺序 1 程序的入口 进入main函数, 设置AppDelegate称为函数的代理 2  程序完成加载 -[AppDelegate application:didFinishLaunchingWithOptions:] 3 创建window窗口 4 程序

android看不见main函数怎么办?程序异常了,可以不提示“xxx软件停止运行”吗?

今天遇到了这个问题,分享一下解决方案. android没有main 函数,自然也就不存在main里面添加异常处理来实现全局异常捕获的方案.那android程序有全局异常补货的解决方案吗? 答案是有的: 那就是你得继承android工程里面的application,如: public class ReaderApplication extends Application implements Thread.UncaughtExceptionHandler{......} 并实现线程异常补货接口:T

android看不见main函数怎么办?程序异常了,能够不提示“xxx软件停止执行”吗?

今天遇到了这个问题,分享一下解决方式. android没有main 函数,自然也就不存在main里面加入异常处理来实现全局异常捕获的方案.那android程序有全局异常补货的解决方式吗? 答案是有的: 那就是你得继承androidproject里面的application,如: public class ReaderApplication extends Application implements Thread.UncaughtExceptionHandler{......} 并实现线程异常补

mfc程序执行入口

一 MFC程序执行过程剖析 1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用程序的窗口函数.而在MFC程序当中我们不在能找到类似WinMain这样的程序入口,取而代之的是一系列派生类的声明和定义以及一个冲CWinApp类派生而来的类的全局对象.CWinApp类被称之为应用程序对象,在一个MFC程序当中只允许有一个应用程序对象.由于CWinApp的派生对象是全局的,因此这个对

android学习四(Activity的生命周期)

要学好活动(Activity),就必须要了解android中Activity的声明周期,灵活的使用生命周期,可以开发出更好的程序,在android中是使用任务来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈.栈的特性是后进先出,在默认的情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置.而每当我们按下Back键或调用finish方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置.系统总是会显示处于栈顶的活动给用户

Android开发艺术探索——第一章:Activity的生命周期和启动模式

Android开发艺术探索--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activity搬上来了,也确实,和Activity打交道的次数基本上是最多的,而且他的内容和知识点也是很多的,非常值得我们优先把他掌握,Activity中文翻译过来就是"活动"的意思,但是主席觉得这样翻译有些生硬,直接翻译成"界面"可能更好,的确,Activity主要也是用于UI效

【Android】11.1 Activity的生命周期和管理

分类:C#.Android.VS2015: 创建日期:2016-02-21 一.基本概念 1.必须理解这些方法,否则你编的程序根本就没法在实际项目中使用 当然,如果仅仅是为了玩玩,或者仅仅是作为例子为了专注于介绍某个知识点而有意忽略其他的实现细节,那就另当别论了. Android应用程序可自动创建.暂停.恢复.销毁Activity,下图是典型的Activity生命周期(虽然不同资料画的图不一样,但殊途同归,目的都是为了帮助理解): 要创建一个自定义的Activity,必须创建一个父类为Activ

跟着Google学Android —— 3.1 管好Activity的生命周期

当我们在app的不同页面间穿梭翱翔的时候,app中的Activity也在他们各自的生命周期中转换着不同的状态.当用户执行进入或者是离开某个Activity的操作时,Android系统会调用一系列生命周期的回调函数进行处理,而我们也可以重写这些回调函数,让Activity在不同的状态下执行我们想要的操作. 生命周期回调方法 下图展示了一个Activity的生命周期以及回调方法.这张图看起来就像是一个梯形金字塔,每一步都对应着Activity的一种生命状态. 在这些状态中,只有如下三种状态是静态的,

4、Android Activity的生命周期 Activity的生命周期

1.完整生命周期 上图是Android Activity的生命周期图,其中Resumed.Paused.Stopped状态是静态的,这三个状态下的Activity存在时间较长. (1)Resumed:在此状态时,用户可以与Activity进行交互,Activity在最前端 (2)Paused:在此状态时,Activity被另外一个Activity遮盖,此Activity不可接受用户输入信息.另外一个Activity来到最前面,半透明的,但并不会覆盖整个屏幕. (3)Stopped:在此状态时,A