这将是我在android工作室的第一个项目。我有一些java和C/C++的经验。不过,在程序开发方面,我仍然是一个完全的初学者。我从未开发过android应用程序。
这个应用程序将用于跟踪一个锻炼计划。用户将被要求为以下每一个输入他的1代表maxes :长凳,蹲下,死机。我希望应用程序使用这些输入的基础上的锻炼程序。这将涉及多个活动,共享和操作这些数据。
获取用户输入、保存它(意思是将其存储在某个地方并在应用程序终止时保持不变)并让多个活动访问它来显示的最佳方法是什么?该应用程序只要求用户输入一次。如果用户想要更改输入,可以在设置中完成。
发布于 2016-10-25 08:25:15
是的,意图是在活动之间传递信息的方式,但是您很快就会发现,它们并不是为了保存整个数据对象和保持某种持久性,尝试实现数据传递将成为您的噩梦。
看看一些持久性框架(让它是一些SQLite包装器,或者我个人喜欢realm.io,因为它们提供了非常酷的特性,比如实时的自动更新对象,它建立在它们的c++引擎之上,而且非常容易使用).一旦您将数据存储在某种数据层中,您只能通过意图传递对象的标识,并在接收活动中查询它们.
这样,您就可以在整个应用程序中保持模型的持久性,不会有困难将对象的更改传播回源活动,并丢失与Parcelable相关的信息( with是序列化对象以将其存储在意图中的一种方法)。
编码愉快!
发布于 2016-10-27 05:30:04
当您调用意图从一个活动跳转到另一个活动,那么您可以放置一些数据或值,您需要第二次活动或任何进一步的使用。您必须对所有活动调用执行同样的操作,最后,您可以在需要数据的地方使用它。
intentObject.putExtra("KEY", value);
Bundle bundle = getIntent().getExtras();
int value = bundle.getInt("KEY");
or
String value = bundle.getString("KEY");
or
DataObject dataObject = bundle.getString("KEY");您也可以使用Gson来放置数据对象和获取数据对象。
发布于 2016-10-25 08:12:29
通过使用意图来尝试这个
论第一次活动
Intent intent = new Intent(Activity_FROM.this, Activity_TO.class);
intent.putExtra("KEY1", value);
intent.putExtra("KEY2", "a value");
startActivity(intent);
On second activity
Bundle bundle = getIntent().getExtras();
int value = bundle.getInt("KEY1");
String value2 = bundle.getString("KEY2");为了让它更加清晰,您可以更好地理解android框架和术语的基本概念。当它完成时,您可以很容易地理解流程流程。
访问www.vogella.com
https://stackoverflow.com/questions/40234533
复制相似问题