我如何将所有活动的数据传递给最终活动?

问题描述:

我有四个活动,名为activity1,activity2,activity3,activity4和finalactivity。我建立了在不同活动中接收人的信息的CV Builder。我如何将所有活动的数据传递给最终活动?

现在我想将activity1的数据发送到activity2,我为此目的使用了intent,但现在我不明白我是如何将两个活动(1和2)的数据发送到activity3的,等等。最后我想把所有四项活动的数据发送到finalactivity,有什么帮助?

+0

SharedPreferences可用于存储数据 – 2014-11-21 06:01:33

+0

请解释您通过提供数据实际上想要做什么? – Dhananjay 2014-11-21 06:02:42

+0

我想要显示上一次活动中四项活动中获得的数据。就像我在第一次活动中获得个人信息,第二次活动中的教育信息,第三次活动中的体验以及第四次活动​​中的项目详情现在我想在最终活动中显示此信息,所有信息都在一项活动中显示。 – selflearner2014 2014-11-21 06:10:38

您可以将Activity1和Activity2的数据添加到一个包中,并将其发送到Activity3(因为您已经拥有Activity2中的Activity1的数据),并继续执行此操作直到活动4.这很明显。 是否有任何特定的问题阻止你这样做?

或者,您可以使用shared preferences来存储来自每个活动的数据,然后在Activity4中检索它们。

只记得删除sharedpreferences数据一旦你在Actiuvity4

您可以按照不同的方法:

共享偏好

你可以简单地在SharedPreferences添加所有值并在最终活动中使用它

2. DataModel类

创建一个保存所有数据的bean类。在类对象设置的值,并在最后的活动使用

类:

public class ResumeData { 
     String name; 

     public String getName() { 
      return name; 
     } 

     public void setName(String name) { 
      this.name = name; 
     } 

    } 

以一个静态的对象,并用它来设置和获取值:

公共静态ResumeData resumeData ;

resumeData = new ResumeData(); 
// Set 
resumeData.setName("name"); 
// Get 
resumeData.getName() 

发送收集数据,以便最终活动

你可以在活性2活动1的数据。只需发送Activity1的数据和捆绑到下一个活动。

希望它能帮助你

我认为你最好的选择是使用Application类。

为CV数据创建一个POJO类。并在Application类中保留一个对象。在所有活动的提交点击中更新该类中的数据。因此,您可以在上次活动中使用更新后的简历数据。

例:

public class CVData{ 
    //your String, int, getter, setter, etc. 
} 

应用类:

public class TestApplication extends Application { 

    //Object declaration 
    public CVData cvData; 

    public TestApplication() { 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public void onCreate() { 
     // TODO Auto-generated method stub 
     super.onCreate(); 
    } 

    //setter getter for object 
} 

现在,在您的活动:

//after setContentView 
TestApplication testAppObj = (TestApplication) getApplication(); 
myCVObj.setName("abc"); 
myCVObj.setEducation("engg"); 
testAppObj.setSomeObj(myCVObj); 

//retrieve and update in other activities as: 
someCVObj = testAppObj.getterMethodOfObj(); 
someCVObj.setGoal("learn"); 
testAppObj.setSomeObj(someCVObj); 

所以,你会用得到的最后一项活动更新的对象:

CVData updatedCVObj = testAppObj.getterMethodOfObj(); 

您必须在清单文件注册您的应用程序类,就像您注册活动:

<application 
     android:name="com.pkg.test.TestApplication " /> 

希望这有助于。

+0

这可能是一个很好的解决方案 – GvSharma 2014-11-21 06:24:32