Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该将基本活动添加到清单文件吗?_Java_Android_Android Manifest - Fatal编程技术网

Java 我应该将基本活动添加到清单文件吗?

Java 我应该将基本活动添加到清单文件吗?,java,android,android-manifest,Java,Android,Android Manifest,我正在制作一个应用程序,其中我正在使用一些我从中继承东西的基本活动。我试着运行这个应用程序,但没有将这些活动添加到清单文件中,而且效果很好。但是我应该添加它们还是不添加它们?我是否只需要添加用户可见的活动?声明一个活动(活动子类),该活动实现了应用程序可视用户界面的一部分。所有活动都必须由清单文件中的元素表示。系统不会看到任何未声明的内容,也不会运行这些内容 这是android开发者页面上的活动标签描述。希望这有助于如果清单文件中没有元素,则无法在应用程序中打开(显示)活动(或其子类型) 如果你

我正在制作一个应用程序,其中我正在使用一些我从中继承东西的基本活动。我试着运行这个应用程序,但没有将这些活动添加到清单文件中,而且效果很好。但是我应该添加它们还是不添加它们?我是否只需要添加用户可见的活动?

声明一个活动(活动子类),该活动实现了应用程序可视用户界面的一部分。所有活动都必须由清单文件中的元素表示。系统不会看到任何未声明的内容,也不会运行这些内容

这是android开发者页面上的活动标签描述。希望这有助于

如果清单文件中没有
元素,则无法在应用程序中打开(显示)活动(或其子类型)

如果你想开始这样的活动

Intent i = new Intent(this, Any_Activity.class);
startActivity(i);
您将收到一个错误,应用程序意外停止。请再试一次


由于manifest.xml文件中没有定义“Any_Activity”类的
标记,因此,只要您不尝试启动AndroidManifest文件中未定义的某些活动,就没有问题

因此,答案是否定的,您不必仅仅为了某种抽象而添加存在的活动


另一方面,为什么您希望某些类具有应用程序生命周期功能(以及其他活动内容)?这似乎是一个糟糕的设计,我真的建议您检查代码。

查看您的代码会非常有帮助


正如其他人所提到的,从清单中省略从未直接启动的活动是可以的(在某些情况下这是有意义的),但这也可能是不好的做法。这些是助手类吗?他们到底在扩展活动吗?

1-无论如何,我都会将其包含在清单中。我想不会痛的

2-我有一个问题要问任何想回答的人。 我可以要这样的吗

    <activity android:name="com.hourglass.applications.CreateAlarm">
        <intent-filter>
            <action android:name="com.hourglass.applications.CreateAlarm" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>


我不知道活动和动作是否可以同名。

我所做的是提取基类中的一些常见功能,如我所述。否则你会怎么做?我并不是说它一定是错的,我只是再看一眼:)根据设计,它可能是正确的/最好的,但如果你让一个几乎共享所有功能的新的/编辑活动,然后你为它们继承的那两个活动创建一个基础活动,那么它的设计又有什么错呢。我不明白我怎么能不这样做。再说一次,如果你知道你在做什么,这可能是一件好事。由于这些活动从未启动(显示给用户),因此无需在清单中注册它们