我必须将一些与用户相关的数据传递给活动,数据是
name, user id, user name, email
现在要做到这一点我必须将这些值放在Intent中并传递给其他活动。 现在有两种方式
1) 为用户创建一个DTO,称为UserDto,并将其设置为Serializable并使用intent
传递它intent.putExtra("user",userDto);
2) 将所有四个不同的值置于意图中
intent.putExtra("name",name);
intent.putExtra("userid",id);
intent.putExtra("username",username);
intent.putExtra("email",email);
以上哪一项是最优化的方式,
请在整个应用范围内推荐一些维护用户的方法。
答案 0 :(得分:1)
您的项目中可以有一个Application类,如:
public class MyApplication extends Application {
private User user;
@Override
public void onCreate() {
super.onCreate();
}
public void setUser(User user){
this.user=user;
}
public User getUser(){
return user;
}
}
或者您可以拥有一些静态类或某个接口来保存应用程序状态(I.E.您的用户对象)
在应用清单中
<application android:name="<-pkgname->.MyApplication" ......>
并且在您的应用程序中的任何活动中,您都可以将其作为
MyApplication myApp=(MyApplication)getApplicationContext();
User user=myApp.getUser();
答案 1 :(得分:0)
您可以将数据存储为静态变量。因此,数据将在整个应用范围内得到维护。
最佳做法是将数据存储在共享首选项中。