AndroidManifest.xml中的活动声明

时间:2013-10-01 17:30:21

标签: android android-manifest

我的股票报价申请表上有运行时错误。我有一个应用程序,您输入您的股票(如股票市场)代码,并将列出两个按钮。一个按钮显示报价,另一个按钮用于查看网络上的更多信息。网页功能很好,但是当我点击引号按钮时应用程序崩溃了。

LogCat问我是否在我的AndroidManifest.xml中宣布了我的活动。我还是Android开发的新手,所以这是我能分析问题的最好方法。我不知道在哪里寻找这些错误。

如果您需要测试修复,只需使用'mstf'作为股票代码。

您可以在此处找到我的应用:https://github.com/xamroc/StockQuote/tree/bug-quote

我也很感激有关Android调试工具或技术的任何提示。

6 个答案:

答案 0 :(得分:27)

您的包中有两个活动,但只在清单中声明了一个。

声明另一个Activity类:

将此添加到您的清单:

<activity
     android:name="com.example.stockquote.StockInfoActivity"
     android:label="@string/app_name" />

答案 1 :(得分:17)

将此<activity android:name=".StockInfoActivity" ></activity>插入AndroidManifest.xml

<?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>

答案 2 :(得分:1)

来源: http://developer.android.com/guide/components/activities.html

  

您必须在清单文件中声明您的活动才能使用   可以访问系统。要宣布您的活动,请打开您的活动   清单文件并添加<activity>元素作为子文件   <application>元素。例如:

<manifest ... >
  <application ... >
      <activity android:name=".ExampleActivity" />
      ...
  </application ... >
  ...
</manifest >
     

您可以在此包含其他几个属性   element,用于定义属性,例如活动的标签,a   活动的图标,或用于为活动的UI设置样式的主题。

     

android:name属性是它指定的唯一必需属性   活动的类名。一旦您发布了应用程序,就可以了   不应该更改此名称,因为如果你这样做,你可能会破坏一些   功能,例如应用程序快捷方式。

答案 3 :(得分:1)

您的活动意味着您必须在Android清单中声明您的每个类,以便将它们识别为活动。在活动主体结束后,您可以执行以下操作:

<activity
 android:name=".YourClassNAME"

/&GT;

答案 4 :(得分:1)

您应该通过将launchMode定义为singleTask或singleInstance.example来声明manifest xml中的活动:

<activity android:name="com.example.h.myapplication.MainActivity" 
          android:launchMode="singleTask" >

enter image description here

答案 5 :(得分:0)

因此,无论何时创建新类,都必须在应用程序标记内的“ AndroidManifest.xml”文件中创建一个活动,如下所示:

`

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".mainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".loginActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

`