Декларация активности в AndroidManifest.XML

У меня есть ошибка выполнения в моем приложении котировки акций. У меня есть приложение, где вы вводите свой код акции (как на фондовом рынке) и перечислите его двумя кнопками. Одна кнопка для отображения цитаты, а другая для просмотра дополнительной информации из интернета. Веб-функция в порядке, но приложение падает, когда я нажимаю кнопку цитаты.

LogCat спрашивает меня, объявил ли я свою деятельность в моем AndroidManifest.XML. Я все еще новичок в разработке Android, поэтому это лучшее, что я могу проанализировать проблема. Я не уверен, где искать эти ошибки.

просто используйте "mstf" в качестве кода запаса, если вам нужно проверить исправление.

вы можете найти мое приложение здесь:https://github.com/xamroc/StockQuote/tree/bug-quote

Я также был бы признателен за любые советы по отладке инструментов или методов для Android.

5 ответов


у вас есть два действия в вашем пакете, но объявили только одно в манифесте.

объявить другой класс Activity:

добавьте это в манифест:

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

вставить <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>


источник: http://developer.android.com/guide/components/activities.html

вы должны объявить свою деятельность в файле манифеста, чтобы она быть доступным для системы. Чтобы объявить о своей деятельности, откройте файл манифеста и добавьте <activity> элемент как дочерний <application> элемент. Например:

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

есть несколько других атрибутов, которые вы можете включить в этот элемент, чтобы определить такие свойства, как метка для действия, значок для действия или тема для стиля пользовательского интерфейса действия.

атрибут android:name является единственным обязательным атрибутом-он указывает имя класса активности. После публикации приложения вы не следует менять это имя, потому что если вы это сделаете, вы можете сломать некоторые функциональные возможности, такие как ярлыки приложений.


Ваша активность означает, что вы должны объявить каждый класс в манифесте android, чтобы он распознал их как активность.Поэтому после окончания основной деятельности вы можете сделать следующее:

<activity
 android:name=".YourClassNAME"

/>


вы должны объявить действие в XML манифеста, определив launchMode для singleTask или singleInstance.пример:

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

enter image description here