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 ();
}
});
}
}
Это все.