package com.example.testingintents;
import androidx.appcompat.app.AppCompatActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.io.IOException;
import java.util.ArrayList;
import java.util.TreeMap;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.*;
public class MainActivity extends AppCompatActivity {
Button button;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.btn);
textView = findViewById(R.id.tv_text);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SendData sendData = new SendData();
sendData.execute("https://h152771.s22.test-hf.su/");
}
});
}
class Answer{
public boolean status;
public String sql;
}
class User{
public String name, surname, fathersName;
int groupNumber, id;
User(String name, String surname, String fathersName, int groupNumber, int id){
this.name = name;
this.surname = surname;
this.groupNumber = groupNumber;
this.fathersName = fathersName;
this.id = id;
}
}
interface UserUpdate{
@POST("temnov/mind_test.php") //Посылать будем методом POST
Call<Answer> update(@Body User user); // @Body - так мы пошлем объект user в JSON-е
}
class SendData extends AsyncTask<String, Integer, Answer>{
@Override
protected Answer doInBackground(String... strings) {
Answer answer = null;
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(strings[0])
.addConverterFactory(GsonConverterFactory.create())
.build();
UserUpdate userUpdate = retrofit.create(UserUpdate.class);
User user = new User("Василий", "Васильев", "Васильевич", 1, 1); // Взяли юзера, которого надо обновить
Call<Answer> call = userUpdate.update(user); //Вот этот метод вызовется для обновления
try {
Response<Answer> response = call.execute(); // Обновили
answer = response.body(); // Получили ответ от сервыера
} catch (IOException e) {
e.printStackTrace();
}
return answer;
}
@Override
protected void onPostExecute(Answer answer) {
super.onPostExecute(answer);
textView.append(String.valueOf(answer.sql) + "\n");
}
}
}