我有一个android应用程序,我有3个屏幕,用户必须填写一些字段。每个屏幕有7个字段要填写。在流程结束时,我使用带有API的Retrofit将信息提交给服务器。
这是我在我的第一个项目
活动之间传递信息的方式// first activity
AutoDados autuacaoDados = new AutoDados(... a lot of parameters ...);
Intent intent1 = new Intent(AutoInf_Lista_Generica.this, AutoInf_Menu.class);
intent1.putExtra("PARAM_ENV_DADOS", autuacaoDados);
startActivity(intent1);
// second activity
Bundle extras = intent.getExtras();
if (extras == null) {
return "";
}
AutoDados autuacaoDados = (AutoDados) extras.getSerializable("PARAM_ENV_DADOS");
我有另一个项目,我使用以下代码在活动之间传递数据。
// first activity
Intent intent1 = new Intent(AutoInf_Lista_Generica.this, AutoInf_Menu.class);
intent1.putExtra("ID_AUTOS", myId);
startActivity(intent1);
// second activity
intent.getIntExtra("ID_AUTOS", 0);
// code that recover the data from a SQLite database based in the "ID_AUTOS"
这两种方式我都能够在活动之间恢复数据,但哪种方式被认为更好,为什么更好?另一个问题,有没有更好的方法在活动之间传递数据?
如果可能的话,谈谈每种方法的优缺点。
牵引方法之间的主要区别是,在第一个方法你将一个对象传递给第二个活动在第二种方法传递一个原始类型。哪个更好?每种方法都有自己的用例,没有更好的方法,这取决于你的用例