AndroidManifest.xml中的活动声明
我的股票报价应用程序有一个运行时错误。 我有一个应用程序,你input你的股票(如在股市)的代码,并将列出它与两个button。 一个button可显示报价,另一个button可查看来自networking的更多信息。 networkingfunction很好,但是当我点击报价button时,应用程序崩溃。
LogCat询问我是否在AndroidManifest.xml中声明了我的活动。 我对Android开发仍然陌生,所以这是我可以分析问题的最好的方法。 我不知道在哪里寻找这些错误。
如果您需要testing修正,只需使用“mstf”作为股票代码即可。
你可以在这里find我的应用程序: https : //github.com/xamroc/StockQuote/tree/bug-quote
我也希望有关Androiddebugging工具或技术的任何提示。
你的包中有两个活动,但只声明一个清单。
声明另一个Activity类:
添加到你的清单:
<activity android:name="com.example.stockquote.StockInfoActivity" android:label="@string/app_name" />
在您的AndroidManifest.xml中插入<activity android:name=".StockInfoActivity" ></activity>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.stockquote" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.stockquote.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.stockquote.StockInfoActivity" > </activity> </application>
资料来源: http : //developer.android.com/guide/components/activities.html
您必须在清单文件中声明您的活动,以便系统可以访问它。 为了声明你的活动,打开你的清单文件并添加一个
<activity>
元素作为<application>
元素的子元素。 例如:<manifest ... > <application ... > <activity android:name=".ExampleActivity" /> ... </application ... > ... </manifest >
还可以在此元素中包含其他几个属性,以定义属性(如活动标签,活动图标或调整活动UI的主题)。
android:name属性是唯一必需的属性 – 它指定活动的类名称。 一旦你发布你的应用程序,你不应该改变这个名字,因为如果你这样做,你可能会破坏一些function,比如应用程序快捷方式。
您的活动意味着您必须在Android清单中声明您的每个类,以便将其识别为Activity。因此,在Activity主结束后,您可以执行以下操作:
<activity android:name=".YourClassNAME"
/>
您应该通过将launchMode定义为singleTask或singleInstance.example来声明清单xml中的活动:
<activity android:name="com.example.h.myapplication.MainActivity" android:launchMode="singleTask" >