从类创建对象。保存对象。从第三个类调用该对象

时间:2017-04-26 08:53:59

标签: java android

对于这个项目,我使用的是Android Studio。 我尝试了很多东西。

目标: 我想创建一个要求用户输入数据的应用程序。需要保存数据,然后在另一个屏幕上调用数据作为用户可以看到的日志历史记录。

我做了什么: 我有三个类:“InputScreen”“Logs”“LogHistoryScreen”

我尝试在InputScreen上创建Logs对象,它完全正常,例如:Logs log1 = new Logs();但我不知道如何从LogHistoryScreen调用InputScreen中的对象log1。谁有任何建议?

提前致谢。

2 个答案:

答案 0 :(得分:2)

在InputScreen类中创建日志列表:

List<Log> logs = new ArrayList();
logs.add(log1);
// same for next logs.

然后在InputScreen中创建一个方法,该方法将返回日志列表。像这样:

public List<Log> getAllLogs() {
  return logs;
}

从LogHistoryScreen中调用此方法,如:

InputScreen inputScreen = new InputScreen();
List<Log> logs = inputScreen.getAllLogs();

答案 1 :(得分:0)

您可以在此处使用各种选项。我会在这里提一些。

1)通过意图。

从InputScreen打开LogHistoryScreen时,将Object作为参数传递。

请按照以下代码执行此操作。

Intent intent = new Intent(this, LogHistoryScreen.class);
intent.putExtra("Key", yourObject);
startActivity(intent);

在LogHistoryScreen活动的onCreate()中接收对象

Log log = (Log)getIntent().getSerializableExtra("Key");

Log.class必须实现Serializable。

public class Log implements Serializable
{
}

2)将对象存储在数据库中并从其他活动中检索它。如果您需要数据在应用会话中保持不变,这将特别有用。

我认为第一个选项会对你有所帮助。