Объявление активности в 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>
'