【问题标题】:Adding a Class to AndroidManifest向 AndroidManifest 添加一个类
【发布时间】:2014-08-24 19:22:31
【问题描述】:

我创建了一个我希望能够在另一个 Activity 中使用的对象,并试图将它添加到一个意图中。我正在使用这个https://stackoverflow.com/a/7827593

但是,当我运行程序时,我收到错误“android.content.ActivityNotFoundException:无法找到显式活动类 {com.deryck.helper/com.deryck.helper.SoupLog};您是否在您的AndroidManifest.xml?”

我是 android 编程新手,所以我不知道该怎么做。我曾假设只有 Activites 需要在 Manifest 中。如果我确实需要添加它,我该怎么做或者我应该怎么做才能传递这个对象。我这样做完全错了吗?

我的应用程序是几个页面,用于收集用户记录的不同信息,例如时间和温度。最后,该信息用于显示何时需要采取其他步骤和其他结果。

我用

创建 Intent

Intent i = new Intent(MainActivity.this, SoupLog.class); i.putExtra("soupObj", soup); startActivity(i);

我的对象是这个

package com.deryck.helper;


import java.io.Serializable; 
import java.util.Calendar;

    public class SoupLog implements Serializable{
    private int lotNumber;
    private String soupType;
    private Calendar ProductionDate;
    private Calendar timeStart;
    private Calendar timeLethal;
    private Calendar lethalTemp;
    private String lethalMonInitials;
    private String lethalDOInitials;
    private Calendar packageStartTime;
    private int firstTemp;
    private int midTemp;
    private int nextLastTemp;
    private int lastTemp;
    private Calendar packDoneTime;
    private String lastMonInitials;
    private String lastDOInitials;

    public SoupLog(){
        Calendar calendar =  Calendar.getInstance();
        ProductionDate = calendar;
    }

    public SoupLog(int lotNumber, String soupType, Calendar calendar ){
        this.lotNumber = lotNumber;
        this.soupType = soupType;
        ProductionDate = calendar;

    }

    public int getLotNumber(){
        return lotNumber;
    }
    public void setlotNumber(int lotNumber){
        this.lotNumber= lotNumber;
    }

    public String getSoupType(){
        return soupType;
    }
    public void setSoupType(String soupType){
        this.soupType= soupType;
    }

    public void setProductionDate(int productionYear, int productionMonth, int ProductionDay){
        ProductionDate.set(productionYear, productionMonth, ProductionDay);
    }
    public Calendar getProductionDate(){
        return ProductionDate;
    }
    public void setStartTime(Calendar timeStart){
        this.timeStart = timeStart;
    }
    public Calendar getStartTime(){
        return timeStart;
    }
    public void setLethalTime(Calendar timeLethal ){
        this.timeLethal = timeLethal;
    }
    public Calendar getlethalTime(){
        return timeLethal;
    }

    public Calendar getLethalTemp() {
        return lethalTemp;
    }

    public void setLethalTemp(Calendar lethalTemp) {
        this.lethalTemp = lethalTemp;
    }

    public String getLethalMonInitials() {
        return lethalMonInitials;
    }

    public void setLethalMonInitials(String lethalMonInitials) {
        this.lethalMonInitials = lethalMonInitials;
    }

    public String getLethalDOInitials() {
        return lethalDOInitials;
    }

    public void setLethalDOInitials(String lethalDOInitials) {
        this.lethalDOInitials = lethalDOInitials;
    }

    public Calendar getPackageStartTime() {
        return packageStartTime;
    }

    public void setPackageStartTime(Calendar packageStartTime) {
        this.packageStartTime = packageStartTime;
    }

    public int getFirstTemp() {
        return firstTemp;
    }

    public void setFirstTemp(int firstTemp) {
        this.firstTemp = firstTemp;
    }

    public int getMidTemp() {
        return midTemp;
    }

    public void setMidTemp(int midTemp) {
        this.midTemp = midTemp;
    }

    public int getNextLastTemp() {
        return nextLastTemp;
    }

    public void setNextLastTemp(int nextLastTemp) {
        this.nextLastTemp = nextLastTemp;
    }

    public int getLastTemp() {
        return lastTemp;
    }

    public void setLastTemp(int lastTemp) {
        this.lastTemp = lastTemp;
    }

    public Calendar getPackDoneTime() {
        return packDoneTime;
    }

    public void setPackDoneTime(Calendar packDoneTime) {
        this.packDoneTime = packDoneTime;
    }

    public String getLastMonInitials() {
        return lastMonInitials;
    }

    public void setLastMonInitials(String lastMonInitials) {
        this.lastMonInitials = lastMonInitials;
    }

    public String getLastDOInitials() {
        return lastDOInitials;
    }

    public void setLastDOInitials(String lastDOInitials) {
        this.lastDOInitials = lastDOInitials;
    }
    //TODO find other times of interest
    public void get2hour(){
        //TODO  return timePackDone+2 hours
    }

}

我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.deryck.helper"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="21" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".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="Last">
        <intent-filter></intent-filter>
    </activity>
    <activity android:name="Lethality">
        <intent-filter>
        </intent-filter>
    </activity>
    <activity android:name="Middle">
        <intent-filter></intent-filter>
    </activity>
    <activity android:name="Packaging">
        <intent-filter></intent-filter>
    </activity>
    <activity android:name="Results">
        <intent-filter></intent-filter>
    </activity>
</application>

【问题讨论】:

  • 发布你的清单代码,你试图在其中声明你的类。

标签: android class object android-intent android-manifest


【解决方案1】:

您需要向我们展示失败的代码以及您的 AndroidManifest.xml。

从您目前所写的内容来看,我可以看到您正在尝试使用活动“SoupLog”,而没有在 AndroidManifest.xml 中定义它。但是,是的,你是对的,只有活动需要在清单中。

【讨论】:

  • 谢谢,我真的不知道什么代码是有用的以及展示它的最佳方式。老实说,我确信它远非最好的。这就是问题所在 Intent i = new Intent(MainActivity.this, SoupLog.class); i.putExtra("soupObj", 汤); startActivity(i);
猜你喜欢
  • 2011-04-19
  • 1970-01-01
  • 2011-12-03
  • 2012-02-02
  • 2020-05-11
  • 1970-01-01
  • 2016-05-16
  • 1970-01-01
  • 2021-04-22
相关资源
最近更新 更多