Actually the code itself:

activity class MainActivity.java

package com.ocean_shop.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import com.ocean_shop.myapplication.POJO.Message; import java.io.IOException; import okhttp3.Credentials; import okhttp3.Interceptor; import okhttp3.OkHttpClient; import okhttp3.Request; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; import retrofit2.http.GET; public class MainActivity extends AppCompatActivity { public static String LOG_TAG = "my_log"; String username = "USER"; String password = "PASS"; public interface MessagesApi { @GET("http://MYSERVER/ocean_shop/odata/standard.odata/AccumulationRegister_%D0%9F%D1%80%D0%BE%D0%B4%D0%B0%D0%B6%D0%B8/Turnovers(StartPeriod=datetime'2018-02-06',%20EndPeriod=datetime'2018-02-07')?$format=json;odata=nometadata") //Call<S<Message>> getMetadata(); Call<Message.Value> getTurnover(); //Call<List<Message>> messages(); } //http://77.34.10.185/ocean_shop/odata/standard.odata/ private String BASE_URL = "http://MYSERVER/ocean_shop/odata/standard.odata/"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final OkHttpClient okHttpClient = new OkHttpClient().newBuilder().addInterceptor(new Interceptor() { @Override public okhttp3.Response intercept(Chain chain) throws IOException { Request originalRequest = chain.request(); Request.Builder builder = originalRequest.newBuilder(). method("GET", originalRequest.body()). header("Accept-Charset", "UTF-8"). header("Authorization", Credentials.basic(username, password)); Request newRequest = builder.build(); return chain.proceed(newRequest); } }).build(); Retrofit retrofit = new Retrofit.Builder().baseUrl("http://77.34.10.185/ocean_shop/odata/standard.odata/"). client(okHttpClient). addConverterFactory(GsonConverterFactory.create()). build(); MessagesApi messagesApi = retrofit.create(MessagesApi.class); Call<Message.Value> messages = messagesApi.getTurnover(); messages.enqueue(new Callback<Message.Value>() { @Override public void onResponse(Call<Message.Value> call, Response<Message.Value> response) { //log("response.headers() " + response.body()); if (response.isSuccessful()) { log("result " + String.valueOf(response.body())); } else { log("Code " + response.code()); } } @Override public void onFailure(Call<Message.Value> call, Throwable t) { } }); } private void log(String s) { Log.d(LOG_TAG, s); } } 

class pojo Message.java

 package com.ocean_shop.myapplication.POJO; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; import java.util.ArrayList; import java.util.List; public class Message { /* @SerializedName("odata.metadata") @Expose private String metadata; @SerializedName("value") @Expose private Map<String, ArrayList<Integer> > value; public Message(String metadata, Map<String, ArrayList<Integer>> value){ this.metadata=metadata; this.value=value; } public String getMetadata() { return metadata; } public void setMetadata(String metadata) { this.metadata = metadata; } public Map<String, ArrayList<Integer>> getValue() { return value; } public void setValue(Map<String, ArrayList<Integer>> value) { this.value = value; }*/ @SerializedName("odata.metadata") @Expose private String odataMetadata; @SerializedName("value") @Expose private List<Value> value = null; public String getOdataMetadata(){ return odataMetadata; } public void setOdataMetadata(String odataMetadata) { this.odataMetadata = odataMetadata; } public List<Value> getValue() { return value; } public void setValue(List<Value> value){ this.value = value; } public class Value { @SerializedName("Номенклатура_Key") @Expose public String номенклатураKey; @SerializedName("ХарактеристикаНоменклатуры_Key") @Expose public String характеристикаНоменклатурыKey; @SerializedName("ЗаказПокупателя") @Expose public String заказПокупателя; @SerializedName("ЗаказПокупателя_Type") @Expose public String заказПокупателяType; @SerializedName("ДоговорКонтрагента_Key") @Expose public String договорКонтрагентаKey; @SerializedName("ДокументПродажи") @Expose public String документПродажи; @SerializedName("ДокументПродажи_Type") @Expose public String документПродажиType; @SerializedName("Подразделение_Key") @Expose public String подразделениеKey; @SerializedName("Проект_Key") @Expose public String проектKey; @SerializedName("Организация_Key") @Expose public String организацияKey; @SerializedName("Контрагент_Key") @Expose public String контрагентKey; @SerializedName("КоличествоTurnover") @Expose public int количествоTurnover; /*@SerializedName("СтоимостьTurnover") @Expose public int стоимостьTurnover;*/ @SerializedName("СтоимостьTurnover") @Expose public int Turnover; @SerializedName("СтоимостьБезСкидокTurnover") @Expose public int стоимостьБезСкидокTurnover; @SerializedName("НДСTurnover") @Expose public int НДСTurnover; public Integer getTurnover() { return Turnover; } public void setTurnover(Integer Turnover) { this.Turnover = Turnover; } } } 

Just about being on a JSON server

 { "odata.metadata": "http://MYSERVER/ocean_shop/odata/standard.odata/$metadata#Collection(StandardODATA.AccumulationRegister_ПродажиСебестоимость_Turnover)", "value": [ { "Номенклатура_Key": "cd1beaa2-eb72-11e7-b49e-3085a93c0618", "ХарактеристикаНоменклатуры_Key": "00000000-0000-0000-0000-000000000000", "ЗаказПокупателя": "", "ЗаказПокупателя_Type": "StandardODATA.Undefined", "ДокументОприходования": "c04e6bb4-eb77-11e7-8d51-3085a93c0618", "ДокументОприходования_Type": "StandardODATA.Document_ОприходованиеТоваров", "Подразделение_Key": "99c2e4c6-a655-11e7-a216-3085a93c0618", "Проект_Key": "00000000-0000-0000-0000-000000000000", "КоличествоTurnover": 1, "СтоимостьTurnover": 2200 }, { "Номенклатура_Key": "725d9200-9ddf-11e7-a202-3085a93c0618", "ХарактеристикаНоменклатуры_Key": "00000000-0000-0000-0000-000000000000", "ЗаказПокупателя": "", "ЗаказПокупателя_Type": "StandardODATA.Undefined", "ДокументОприходования": "2d459277-a359-11e7-a211-3085a93c0618", "ДокументОприходования_Type": "StandardODATA.Document_ОприходованиеТоваров", "Подразделение_Key": "99c2e4c6-a655-11e7-a216-3085a93c0618", "Проект_Key": "00000000-0000-0000-0000-000000000000", "КоличествоTurnover": 1, "СтоимостьTurnover": 50 }, { "Номенклатура_Key": "3bb4dcbe-9ddc-11e7-a202-3085a93c0618", "ХарактеристикаНоменклатуры_Key": "00000000-0000-0000-0000-000000000000", "ЗаказПокупателя": "", "ЗаказПокупателя_Type": "StandardODATA.Undefined", "ДокументОприходования": "31bc57f3-a76b-11e7-a217-3085a93c0618", "ДокументОприходования_Type": "StandardODATA.Document_ОприходованиеТоваров", "Подразделение_Key": "99c2e4c6-a655-11e7-a216-3085a93c0618", "Проект_Key": "00000000-0000-0000-0000-000000000000", "КоличествоTurnover": 2, "СтоимостьTurnover": 162 } ] } 

MYSERVER, USER, PASS contain my values

Actually, I need to get the value of the field in the JSON CostTurnover examples on the Internet that I could not understand. Help can rebuild the query or specify the direction to solve the problem.

  • Fields seriously so called? - post_zeew
  • Yes. This is 1C data. - Maxim Sychevsky

0