从我的Android应用程序中,第一次通过改装调用我的RestAdapater API时,它正确执行但如果我再次尝试这样做,则会出现以下错误:
error retrofit.RetrofitError:com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:预期为BEGIN_OBJECT但是为STRING 在第1行第1列路径$
此外,如果我再次运行应用程序或等待一段时间,这个问题不会发生......第一次。 好像我必须清除这种回调的某种缓存数据。
我的API:
@FormUrlEncoded
@Headers("Content-type: application/json; charset=utf-8")
@POST("/androidDevelopment/AppComercialesCat/WSIngresarCliente.php")
public void ingresarNuevoCliente(@Field("clienteID") int uclienteId,@Field("clienteNom") String uclienteNom,@Field("clienteEmail") String uclienteEmail,
@Field("clienteMov") String uclienteMov,@Field("clienteTel") String uclienteTel,@Field("nombreTienda") String unombreTienda,
@Field("contacto") String contacto,@Field("empresaNIF") String uempresaNif,@Field("Impuestos") String uImpuestos,@Field("empresaDireccion") String uempresaDireccion,
@Field("empresaProvincia") String uempresaProvincia,@Field("empresaPoblacion") String uempresaPoblacion,@Field("empresaCP") String uempresaCP,
@Field("empresaCtaBancaria") String uempresaCtaBancaria,@Field("empresaCatacroquer") String uempresaCatacroquer,@Field("usuarioID") int uUsuarioId,
Callback<Clientes> response);
Api的电话:
ClientesAPI api = restAdapter.create(ClientesAPI.class);
api.ingresarNuevoCliente(mclienteId, mNombre, mEmail, mMovil, mTel, mTienda,
mContacto, mNIF, mImp,mDir, mProv, mPobl, mCP, mCta, mObs, userId,
new Callback<Clientes>() {
@Override
public void success(Clientes clientes, Response response) {
//Intent goToMain = new Intent(getApplicationContext(),Intro.class);
//startActivity(goToMain);
}
@Override
public void failure(RetrofitError error) {
Log.v(TAG, "error " + error.toString());
Log.v(TAG, "error " + error.getResponse().getStatus());
Log.v(TAG, "error " + error.getResponse().getReason());
Log.v(TAG, "error " + error.getResponse().getBody());
Log.v(TAG, "error " + error.getCause());
error.printStackTrace();
}
});
}
};
}
我很确定这是一个改进的新手问题。