IoT, Android Things и облако. Часть 5

Аннотация @POST объявляет контекст API, а метод, определенный в интерфейсе, представляет собой метод, который программа запускает для передачи данных. Этот метод принимает массив данных как тела и токена, который идентифицирует наше приложение. Класс Data:

Кстати, если вы хотите купить верхнюю одежду https://modniy-oazis.com.ua/verhnyaya-odezhda по низким ценам в Украине — смело переходите по ссылке ранее.

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Data {
    @SerializedName ( «variable»)
    @Expose
    private String variable;
    @SerializedName ( «value»)
    @Expose
    private Double value;
    public String getVariable () {
        return variable;
    }
    public void setVariable (String variable) {
        this.variable = variable;
    }
    public Double getValue () {
        return value;
    }
    public void setValue (Double value) {
        this.value = value;
    }
}
Этот класс содержит идентификатор переменной и значения и описывает, как превратить эти значения в формат JSON. Наконец, мы должны определить клиента, который обрабатывает связь с Ubidots:
public class UbiClient {
    private static final String TAG = UbiClient.class.getSimpleName ();
    private static final String UBI_BASE_URL = «things.ubidots.com/»;
    private static UbiClient client;
    private UbiAPI api;
    private Retrofit retroClient;
    private UbiClient () {
        retroClient = new Retrofit.Builder ()
            .baseUrl (UBI_BASE_URL)
            .addConverterFactory (GsonConverterFactory.create ())
            .build ();
    }
    public static final UbiClient getClient () {
      if (client! = null)
          return client;
      client = new UbiClient ();
      return client;
    }
    private UbiAPI getUbiClient () {
        return retroClient.create (UbiAPI.class)
    }
    public void sendData (ArrayList dList, String token) {
      api = client.getUbiClient ();
      Call c = api.sendValue (dList, token)
      c.enqueue (new Callback () {
         @Override
         public void onResponse (Call call, Response response) {
            Log.d (TAG, «onResponse»)
            Log.d (TAG, «Result:» + response.isSuccessful ());
         }
         @Override
         public void onFailure (Call call, Throwable t) {
             t.printStackTrace ();
         }
      });
   }
}

Это все.

Читайте также: