Java JSON或POJO与改型2
我是android新手。我从codecanyon买了一个android应用程序模板。此应用程序使用OKHTTP和JSON获取和发送数据。我已经聘请了一名自由职业者来实现网络改造+GSON,因为我读到它的性能很好。 他已经改变并使用了如下的回应Java JSON或POJO与改型2,java,android,retrofit2,Java,Android,Retrofit2,我是android新手。我从codecanyon买了一个android应用程序模板。此应用程序使用OKHTTP和JSON获取和发送数据。我已经聘请了一名自由职业者来实现网络改造+GSON,因为我读到它的性能很好。 他已经改变并使用了如下的回应 public void onResponse(retrofit2.Call<JsonObject> call, retrofit2.Response<JsonObject> response) {
public void onResponse(retrofit2.Call<JsonObject> call, retrofit2.Response<JsonObject> response) {
try {
final String myResponse = response.body().toString();
Log.e("CheckDevice", "" + myResponse);
JSONObject pJSONResponse = new JSONObject(myResponse);
if (pJSONResponse.getInt("code") == 1) {
NumberData.getInstance().mNews = pJSONResponse.getString("news");
Log.e("News", NumberData.getInstance().mNews);
SharedPreferences.Editor editor = getSharedPreferences("setting", MODE_PRIVATE).edit();
editor.putInt("membership", pJSONResponse.getInt("membership"));
editor.apply();
} else {
if (!SplashActivity.this.isFinishing()) {
AlertManager.createSingleCallbackAlert(mActivity, "Error", "Server Problem", false, "Retry", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
checkDevice(membership);
}
});
}
}
} catch (Exception e) {
if (!SplashActivity.this.isFinishing()) {
AlertManager.createSingleCallbackAlert(mActivity, "Error Occurred", "Error while communicating with server", false, "Retry", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
checkDevice(membership);
}
});
Log.e("Error", "" + e.toString());
}
}
}
public void onResponse(改型2.Call,改型2.Response){
试一试{
最后一个字符串myResponse=response.body().toString();
Log.e(“检查设备”,“我的响应”);
JSONObject pJSONResponse=新的JSONObject(myResponse);
if(pJSONResponse.getInt(“代码”)==1){
NumberData.getInstance().mNews=pJSONResponse.getString(“新闻”);
Log.e(“新闻”,NumberData.getInstance().mNews);
SharedReferences.Editor编辑器=GetSharedReferences(“设置”,模式_PRIVATE).edit();
editor.putInt(“会员”,pJSONResponse.getInt(“会员”);
editor.apply();
}否则{
如果(!SplashActivity.this.isFinishing()){
createSingleCallbackAlert(mActivity,“错误”,“服务器问题”,false,“重试”,新建DialogInterface.OnClickListener()){
@凌驾
public void onClick(DialogInterface dialog,int which){
dialog.dismise();
检查设备(成员资格);
}
});
}
}
}捕获(例外e){
如果(!SplashActivity.this.isFinishing()){
AlertManager.createSingleCallbackAlert(mActivity,“出错”,“与服务器通信时出错”,false,“重试”,新建DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
dialog.dismise();
检查设备(成员资格);
}
});
Log.e(“错误”,“e.toString());
}
}
}
我已经告诉他要用正确的方法进行改造。我已经指出,他没有使用POJO,而是直接在其中使用JsonObject。我能知道使用POJO有什么特别的好处吗?或者使用JsonObject继续使用上述解决方案是可以的吗
谢谢您可以查看以获得您的答案!与使用
JsonObject
相比,使用POJO当然有其优势。POJO类肯定可以节省大量的时间和精力,尤其是当您必须在代码的其他地方重用相同的对象时。话虽如此,JsonObject
也有它的优点,假设您现在只需要响应,而不关心在其他地方使用它(这只是一个示例场景,POJO和JsonObject还有其他优点)