Всем привет. Подскажите пожалуйста, как ( и какой либрой) организовать получение данных с сервера без нажатий на кнопку в андроид приложении. На данный момент есть приложение которое получает данные с сервера по нажатию на кнопку. Хотелось бы от этого избавиться и получать данные например раз в n секунд. Использую OkHttp.
вот пример моего говнокода)
public class MainActivity extends AppCompatActivity {
Button button;
TextView getTemperature;
private OkHttpClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.submitButton);
getTemperature = findViewById(R.id.getTemperature);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getWeb();
}
});
client = new OkHttpClient();
}
private void getWeb(){
Request request = new Request.Builder().url("http://192.168.0.23:3000").build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
runOnUiThread(new Runnable() {
@Override
public void run() {
getTemperature.setText("в работе возникла ошибка, скорее всего отсутствует интернет");
}
});
}
@Override
public void onResponse(Call call, final Response response) {
runOnUiThread(new Runnable() {
@Override
public void run() {
try{
getTemperature.setText(response.body().string());
}
catch (IOException ioe){
getTemperature.setText("r");
}
}
});
}
});
}
}