Android 中的详细信息活动模式是否也是处理用户输入的解决方案?



所以我正在阅读一本名为Head First Android Development的Android开发书,其中作者提出了细节活动的模式。例如,当您想要向用户展示一组比萨饼时,您可以创建一个显示所有可用比萨饼的 RecyclerView,当用户单击一个时,您将启动 a details 活动,使用传递特定披萨 ID 的意图显示特定披萨的所有详细信息。

这感觉真的很优雅,但是如果我希望用户有一个比萨饼列表并能够为他们自己插入新的比萨饼,然后以相同的RecyclerView呈现,我现在的想法是我应该启动另一个细节活动从用户那里获取输入,然后将用户输入的所有细节(成分)再次使用意图传递给演示活动。这个解决方案工作正常,但感觉太草率了。您能否建议另一种不需要使用意图传递大量数据的解决方案?

我应该告诉你几件事。

传递一些字符串(成分)并不是真正的"大量数据"。

即使您通过 Intents 将数据发送到其他活动,它也不会存储在任何地方,并且只能暂时可用。一旦您的活动被破坏,您就会丢失这些数据。

更好的方法是启动您的详细信息活动,请求在披萨列表中添加新条目,将其存储在持久存储中并完成详细信息活动,而不是再次启动演示活动。

Android 会保留大量活动,因此当详细活动完成后,您的演示活动将恢复。读取活动的生命周期并查看将调用的所有方法。

将调用的方法之一是onResume通过从持久存储中获取最新数据来刷新recyclerView的位置。

最新更新