Reputation: 63
My questions may seem rudimentary i have this Post Req I'm kinda new in Retrofit2/javaAndroid
@POST("api/abcdefg")
Call<ResponseBody> postResponse(@Body RequestBody requestBody);
and this dataModel
public class Post {
private int id;
private String nam;
private String namk;
private String namp;
public int getId() {
return id;
}
public String getText() {
return text;
}
public String getNam() {
return nam;
}
public String getNamk() {
return namk;
}
public String getNamp() {
return namp;
}
}
I want to display them in a textview, but for now I can only display them in the Log.d and here is my main
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textViewResult = findViewById(R.id.text_view_result);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://w.x.y.z:1111/")
.addConverterFactory(GsonConverterFactory.create())
.build();
//ApiInterface jsonPlaceHolderApi = retrofit.create(ApiInterface.class);
ApiInterface api = retrofit.create(ApiInterface.class);
String json = "{\n" +
"\"nam\":\"Alex\",\n" +
"\"namk\":\"\"\n" +
"}";
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"),json);
api.postResponse(requestBody).enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
Log.d("RetrofitBruh", response.body().string());
} catch (IOException e){
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
I know it's a simple question Thanks for replying ♥ Sorry , i took your time
Upvotes: 1
Views: 1476
Reputation: 11018
considering you have a TextView in the layout for showing, then you can do something.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//text view for showing results from api
textViewResult = findViewById(R.id.text_view_result);
//here call the api
getApiResults();
}
private void getResults(){
getApiService().postResponse(getRequestModel()).enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
Log.d("RetrofitBruh", response.body().string());
textViewResult.setText(response.body().string()); //setting text here
} catch (IOException e){
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
private ApiInterface getApiService(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://w.x.y.z:1111/")
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiInterface api = retrofit.create(ApiInterface.class);
return api;
}
private RequestBody getRequestModel(){
String json = "{\n" +
"\"nam\":\"Alex\",\n" +
"\"namk\":\"\"\n" +
"}";
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"),json);
return requestBody;
}
Upvotes: 1