0
我正在使用Spring for Android從無法訪問對象中的任何函數的情況下向我的寧靜服務器和gson請求數據到Converter json到Java objetct。
由於有一個json屬性「user_id」,我想將這個保存爲轉換後的sqlite數據的主鍵。
問題是我的sqlite庫定義了一個「mId」屬性作爲抽象類中的主鍵。並且gson convert沒有使用「set function」來設置屬性。 我唯一想要的就是把user_id轉換爲mId。如何在抽象類中使用RestTemplate和Spring for Android時設置屬性
下面是代碼:
1.抽象類來訪問源碼:
public abstract class Model {
protected Long mId = null;
public final Long getId() {
return mId;
}
public void setId(Long id){
mId = id;
}
public void saveToSqlite(){
//using mId;
}
}
2.An類寧靜用戶數據:
public class User extends Model implements Serializable{
private static final long serialVersionUID = 1L;
@SerializedName("user_id")
private Long userId;
public Long getUserId() {
return userId;
}
//this function is not accessed when user object generated
public void setUserId(Long userId) {
this.userId = userId;
this.setId(userId);
}
}
3.request並轉換代碼:
RestTemplate restTemplate = new RestTemplate();
GsonHttpMessageConverter jsonConverter = new GsonHttpMessageConverter();
restTemplate.getMessageConverters().add(jsonConverter);
final String url = "http://restful.test.com/users";
User[] users = restTemplate.getForObject(url, User[].class);
謝謝迪帕克,我已經嘗試這樣做。 this.setId(userId); 設置mId。但gson轉換器不訪問setUserId函數!所以未能解決這個問題。 – 2013-04-11 07:06:53
我假設你的意思是你會嘗試這樣做。讓我們知道它是如何擺脫的。謝謝。 – 2013-04-11 07:08:56
我編輯我上面的評論。 – 2013-04-11 07:11:44