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要被应用程序加载. 
    我们可以对比下eclipse中console端输出的日志来看下.初始,我把    这一行在原先的xml文件中注释掉了.可以看到控制台会报错"No Launcher activity found!",实际上此时在虚拟设备上的应用程序列表中找不到"lifecycle_test"这个app,而且也没法运行,根本加载不起来.后面把注释去掉,还原到最初始的状态,然后在启动应用,可以看到"No Launcher activity found!"这部分报错信息没有了,而且虚拟设备的屏幕上,可以看到"lifecycle_test"这个app已经成功运行了.

更多相关文章

  1. Android ListView滑动加载
  2. Android应用程序中的多个Activity的显示创建和调用
  3. Android获取 应用程序大小,数据大小,缓存大小
  4. Android中WebView如何加载JavaScript脚本
  5. Android 异步任务加载图片代码
  6. Android应用程序键盘(Keyboard)消息处理机制分析(26)
  7. android 设备开发 让应用程序出现在模拟器启动列表中
  8. Android应用程序键盘(Keyboard)消息处理机制分析(22)
  9. android 加载模式

随机推荐

  1. Android仿微信底部菜单
  2. Android(安卓)运行错误:The connection to
  3. Android(安卓)HOME键的屏蔽. 同事小伟 提
  4. Android(安卓)Notification通知栏的使用,
  5. android gstreamer
  6. TableLayout的相关属性
  7. 移动端页面宽度自适应
  8. android如何让webview里的资源访问本地缓
  9. android点滴3
  10. iOS和Android对比系列(一):生命周期