21

株価情報アプリケーションで実行時エラーが発生しました。株式 (株式市場のような) コードを入力すると、2 つのボタンで一覧表示されるアプリがあります。1 つのボタンで見積もりを表示し、もう 1 つのボタンで Web から詳細情報を表示します。Web 機能は問題ありませんが、見積もりボタンを押すとアプリがクラッシュします。

LogCat は、自分のアクティビティを .xml で宣言したかどうかを尋ねてきAndroidManifest.xmlます。私はまだAndroid開発に慣れていないので、これが問題を分析できる最高のものです。これらのエラーを探す場所がわかりません。

修正をテストする必要がある場合は、ストック コードとして「mstf」を使用してください。

ここで私のアプリを見つけることができます:https://github.com/xamroc/StockQuote/tree/bug-quote

また、Android のデバッグ ツールやテクニックに関するヒントをいただければ幸いです。

4

6 に答える 6

37

パッケージには 2 つのアクティビティがありますが、マニフェストでは 1 つしか宣言していません。

他の Activity クラスを宣言します。

これをマニフェストに追加します。

<activity
     android:name="com.example.stockquote.StockInfoActivity"
     android:label="@string/app_name" />
于 2013-10-01T17:37:13.577 に答える
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>

于 2013-10-01T17:36:52.187 に答える
1

ソース: http://developer.android.com/guide/components/activities.html

システムからアクセスできるようにするには、マニフェスト ファイルでアクティビティを宣言する必要があります。アクティビティを宣言するには、マニフェスト ファイルを開き、<activity>要素の子として要素を 追加し<application>ます。例えば:

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

アクティビティのラベル、アクティビティのアイコン、アクティビティの UI のスタイルを設定するテーマなどのプロパティを定義するために、この要素に含めることができるその他の属性がいくつかあります。

android:name 属性は唯一の必須属性であり、アクティビティのクラス名を指定します。アプリケーションを公開したら、この名前を変更しないでください。変更すると、アプリケーションのショートカットなどの一部の機能が壊れる可能性があるためです。

于 2015-11-27T21:05:50.947 に答える
1

あなたのアクティビティは、Androidマニフェストですべてのクラスを宣言して、それらをアクティビティとして認識する必要があることを意味します。したがって、アクティビティメインの終了後、次のことができます:

<activity
 android:name=".YourClassNAME"

/>

于 2016-06-16T03:49:20.987 に答える