Java 在多个活动之间传递变量

Java 在多个活动之间传递变量,java,android,Java,Android,我正在编写日历。我创建了几个活动: Mainactivity(默认值),其中有一个数据选择器和以下代码: 有时间选择器的活动 activity_titolo,其中用户必须输入事件的标题 最后,我想创建一个活动,它接收所有变量并根据用户设置的日期创建通知 如何将第一个活动的所有数据传递到最后一个活动并创建此通知 projectlink您是否考虑过使用bundle在意图中传递数据,下面是您必须做的事情 创建一个可包裹类 public class calender implements Parce

我正在编写日历。我创建了几个活动:

  • Mainactivity(默认值),其中有一个数据选择器和以下代码:
  • 有时间选择器的活动
  • activity_titolo,其中用户必须输入事件的标题
  • 最后,我想创建一个活动,它接收所有变量并根据用户设置的日期创建通知
  • 如何将第一个活动的所有数据传递到最后一个活动并创建此通知


    projectlink

    您是否考虑过使用bundle在意图中传递数据,下面是您必须做的事情

  • 创建一个可包裹类

    public class calender implements 
    Parcelable 
    {
    private String date;
    private String time;
    
    protected calender(Parcel in) {
    date = in.readString();
    time = in.readString();
    }
    
    public static final Creator<calender> 
    CREATOR 
    = new Creator<calender>() {
    @Override
    public calender createFromParcel(Parcel 
    in) {
        return new calender(in);
    }
    
    @Override
    public calender[] newArray(int size) {
        return new calender[size];
    }
    };
    
    public String getDate() {
    return date;
    }
    
    public void setDate(String date) {
    this.date = date;
    }
    
    public String getTime() {
      return time;
    }
    
    public void setTime(String time) {
    this.time = time;
    }
    
    @Override
    public int describeContents() {
    return 0;
    }
    
    @Override
    public void writeToParcel(Parcel dest, int 
    flags) {
    dest.writeString(date);
    dest.writeString(time);
    }
    }
    
  • 将其添加到bundle对象并将该对象添加到 创建最终活动的意图

  • 从新服务器接收bundles对象 活动 下面是一个Parcelable类的示例

    public class calender implements 
    Parcelable 
    {
    private String date;
    private String time;
    
    protected calender(Parcel in) {
    date = in.readString();
    time = in.readString();
    }
    
    public static final Creator<calender> 
    CREATOR 
    = new Creator<calender>() {
    @Override
    public calender createFromParcel(Parcel 
    in) {
        return new calender(in);
    }
    
    @Override
    public calender[] newArray(int size) {
        return new calender[size];
    }
    };
    
    public String getDate() {
    return date;
    }
    
    public void setDate(String date) {
    this.date = date;
    }
    
    public String getTime() {
      return time;
    }
    
    public void setTime(String time) {
    this.time = time;
    }
    
    @Override
    public int describeContents() {
    return 0;
    }
    
    @Override
    public void writeToParcel(Parcel dest, int 
    flags) {
    dest.writeString(date);
    dest.writeString(time);
    }
    }
    
    最后,您将在onCreate方法中接收到意图数据

    if (getIntent().getBundleExtra("calenderData")!=null)
        {
            calender calender =getIntent().getBundleExtra("calenderData").getParcelable("data");
           //do something with the calender variable
        }
        
    
    是关于类包的文档吗