Edu*_*aia 2 java android firebase firebase-realtime-database
从这里我知道我们应该使用这个注释来排除保存在 firebase 上的字段。我知道的就这么多
但是从这里我们可以看到,这个注解是为了也可以用在方法上!正如在几个例子中看到的但是为什么我应该@Exclude 一个方法?如果我不 @Exclude 一个方法会发生什么?由于保存的只是字段,我不知道何时/为什么应该在方法上使用此注释。
正如你们所问的,这是一个例子,发布在上面的链接上,在 firebase 项目中,firebase 团队在既不是 getter 也不是 setter 的方法中使用 @Exclude
@Exclude
public Map<String, Object> toMap() {
HashMap<String, Object> result = new HashMap<>();
result.put("id", id);
result.put("fullName",fullName);
result.put("birthDate",birthDate);
result.put("birthYear", birthYear);
result.put("height",height);
result.put("aboutMe",aboutMe);
result.put("userLocation",userLocation);
result.put("jobPosition",jobPosition);
result.put("companyName",companyName);
result.put("companyLocation",companyLocation);
result.put("jobStartDate",jobStartDate);
result.put("homeEmail",homeEmail);
result.put("homePhone",homePhone);
result.put("workEmail",workEmail);
result.put("workPhone",workPhone);
result.put("facebookName",facebookName);
result.put("facebookLink",facebookLink);
result.put("instaName",instaName);
result.put("instaLink",instaLink);
return result;
}
Run Code Online (Sandbox Code Playgroud)
如果字段是公开的,则在字段上使用 @Exclude,并直接访问它们的值。例如:
public class Pojo {
public String name;
@Exclude
public int age;
}
Run Code Online (Sandbox Code Playgroud)
当基础字段是私有的并且所有访问都必须通过这些访问器时,您可以在 getter 和 setter 方法上使用 @Exclude。例如:
public class Pojo {
private String name;
private int age;
public String getName() {
return name;
}
@Exclude
public int getAge() {
return age;
}
}
Run Code Online (Sandbox Code Playgroud)
Firebase SDK 可以发现和使用这两种类型。
| 归档时间: |
|
| 查看次数: |
2719 次 |
| 最近记录: |