2015-06-18 37 views
0

我正在使用android studio 1.2.2创建一个依赖谷歌云后端的android应用程序。 我设法创建应用程序和后端,生成后端端点以保存数据BU现在我已经添加了一个新的构造函数到实体类(传递参数将初始化对象),但我无法刷新api版本这个类在库中生成,所以没有新的构造函数,我不能使用。 刷新此库内容的步骤是什么? 由于事先在Android工作室刷新谷歌云端点

FROM

@Entity 
public class Coordinates { 
@Id 
String email; 
double latitude; 
double longitude; 
String timestamp; 

public Coordinates(){} 

public String getEmail() { 
    return email; 
} 

public void setEmail(String email) { 
    this.email = email; 
} 

public double getLatitude() { 
    return latitude; 
} 

public void setLatitude(double latitude) { 
    this.latitude = latitude; 
} 

public double getLongitude() { 
    return longitude; 
} 

public void setLongitude(double longitude) { 
    this.longitude = longitude; 
} 

public String getTimestamp() { 
    return timestamp; 
} 

public void setTimestamp(String timestamp) { 
    this.timestamp = timestamp; 
} 
} 

TO

@Entity 
public class Coordinates { 
@Id 
String email; 
double latitude; 
double longitude; 
String timestamp; 

public Coordinates(){} 

public Coordinates(String email,double latitude,double longitude,String timestamp) { 
    this.email=email; 
    this.latitude=latitude; 
    this.longitude=longitude; 
    this.timestamp=timestamp; 
} 

public String getEmail() { 
    return email; 
} 

public void setEmail(String email) { 
    this.email = email; 
} 

public double getLatitude() { 
    return latitude; 
} 

public void setLatitude(double latitude) { 
    this.latitude = latitude; 
} 

public double getLongitude() { 
    return longitude; 
} 

public void setLongitude(double longitude) { 
    this.longitude = longitude; 
} 

public String getTimestamp() { 
    return timestamp; 
} 

public void setTimestamp(String timestamp) { 
    this.timestamp = timestamp; 
} 
} 
+0

你是什么意思你已经添加了一个新的构造函数?你能否包含你所做过的代码片段? – loosebazooka

+0

感谢您的回答,因为您请求我添加了代码,正如您所看到的,我只是添加了构造函数公共坐标(String email,double latitude,double longitude,String timestamp) – user888284

回答

1

当生成你的端点JAR在Android的使用它不传输所有的方法或构造函数。我不知道这个原因,可能写在某处,但没有看到它。

我相信你有两个选择:

  1. 用你的坐标类没有特殊的构造,即使用getter和setter
  2. 在Android应用程序中创建坐标类,并有一个辅助类,其将Android应用坐标类转换为端点坐标类
+0

是的,生成的客户端库只创建您的客户端上的类与您生成的API一起工作。我相信选项1是你想要的。选项2不会帮助你,因为你的API不会接受不属于客户端库中包含的类型的参数。 – loosebazooka

+0

使用第二个选项,您可以确保谁需要将您的Android应用坐标类转换为端点坐标类,不会忘记任何重要参数,在一个位置进行设置/获取。面向对象范式视角的更有用和更好的解决方案。 另一个解决方案是使用接口定义合同。 – GFPF