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时调用。该活动仍在栈中,而不是启动新的活动。

最新文章

  1. Windows下ELK环境搭建(单机多节点集群部署)
  2. Java-transient
  3. 谈谈 Repository、IUnitOfWork 和 IDbContext 的实践
  4. Android百度地图开发(四)线路搜索
  5. css动画结束后 js无法修改translated值 .
  6. java.lang.InstantiationError: sun.net.ftp.FtpClient
  7. Delphi实现WebService带身份认证的数据传输
  8. Android代码混淆
  9. ES6常用知识点小结
  10. Dotspatial 要素重叠部分去除
  11. 菜鸟学IT之python词云初体验
  12. 构建SSH服务
  13. [C++]Linux之计算内存利用率与辨析
  14. 关于Windows 8 合约
  15. Android逆向——smali复杂类解析
  16. iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图
  17. hadoop学习;Streaming,aggregate;combiner
  18. 369C Valera and Elections
  19. 二进制描述子 BRIEF(ORB), BRISK, FREAK
  20. Ubantu安装Odoo10学习日志

热门文章

  1. ios 测试工程是否内存泄漏
  2. php 创建文件
  3. php 即时输出
  4. DataTable和DataSet有什么区别
  5. 初试LIBSVM
  6. 《Think in UML》读后感
  7. Linux查找文件中的字符串命令
  8. http?https?相对协议?
  9. Windows中安装jdk,出现javac不是内部或外部命令 也不是可运行的程序
  10. 【转】虚拟机下安装小红帽Linux9.0图解