android开发常见异常解析:java.lang.RuntimeException: Unable to instantiate activity ComponentInfo

在Android程序的开发过程中,如果你是新手的话,往往会由于小疏忽导致一些程序运行时的异常,java.lang.RuntimeException: Unable to instantiate activity ComponentInfo

就是一类,这种异常容易让你抓破头皮也百思不得其解,本文我们来探讨一下这个异常的产生。


首先,通过Eclipse 创建一个Androind工程命名为MyLayoutSample:




点击Next , 在要求生成Activity 对话框出现时反选Create Activity, 我们需要自己生成Activity, 最后点击Finish



接下来,添加一个Activity 的类文件,命名为 LayoutSampleActivity, 配置如下:




在新建的Activity 中,我们需要重载 onCreate函数:




由于是新生成的Activiy, 我们需要在AndroidManifest.xml文件中告诉系统,程序运行时启动我们刚创建的Activity,:



完成这一步后,运行程序到模拟器上,我们会发现如下错误:



即异常 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo 出现了。


这个问题出现的原因之一在于, 当android程序运行时,系统会解析AndroidManifest.xml,并从中找到要启动的Activity, 如果xml中指明的Activity没有标明它处于哪个Package下的话,系统自动到默认Package下查找,由于我们在创建Activity时,没有设置它属于哪个包:

 

因此在默认Package下系统找不到要加载的Activity,因此引发异常,该问题的解决方法之一是在activity的java文件中为其指定package(黑色线):



再次运行程序,异常就消失了。

你可能感兴趣的:(android开发常见异常解析:java.lang.RuntimeException: Unable to instantiate activity ComponentInfo)