Объявление активности в AndroidManifest.xml

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

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

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

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

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

Ответ 1

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

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

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

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

Ответ 2

Вставьте этот <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>

Ответ 3

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

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

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

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

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

Ответ 4

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

<activity
 android:name=".YourClassNAME"

/" >

Ответ 5

вы должны объявить действие в манифесте xml, указав startMode на singleTask или singleInstance.example:

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

введите описание изображения здесь

Ответ 6

поэтому, когда вы создаете новый класс, вы должны создать действие в файле "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>

'