import
android.os.Bundle;
import
android.view.View;
import
android.widget.Button;
import
android.widget.EditText;
import
android.widget.ProgressBar;
import
android.widget.TextView;
import
android.widget.Toast;
import
androidx.appcompat.app.AppCompatActivity;
import
com.android.volley.Request;
import
com.android.volley.RequestQueue;
import
com.android.volley.VolleyError;
import
com.android.volley.toolbox.StringRequest;
import
com.android.volley.toolbox.Volley;
import
org.json.JSONException;
import
org.json.JSONObject;
import
java.util.HashMap;
import
java.util.Map;
public
class
MainActivity
extends
AppCompatActivity {
private
EditText nameEdt, jobEdt;
private
Button postDataBtn;
private
TextView responseTV;
private
ProgressBar loadingPB;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nameEdt = findViewById(R.id.idEdtName);
jobEdt = findViewById(R.id.idEdtJob);
postDataBtn = findViewById(R.id.idBtnPost);
responseTV = findViewById(R.id.idTVResponse);
loadingPB = findViewById(R.id.idLoadingPB);
postDataBtn.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
if
(nameEdt.getText().toString().isEmpty() && jobEdt.getText().toString().isEmpty()) {
Toast.makeText(MainActivity.
this
,
"Please enter both the values"
, Toast.LENGTH_SHORT).show();
return
;
}
postDataUsingVolley(nameEdt.getText().toString(), jobEdt.getText().toString());
}
});
}
private
void
postDataUsingVolley(String name, String job) {
loadingPB.setVisibility(View.VISIBLE);
RequestQueue queue = Volley.newRequestQueue(MainActivity.
this
);
StringRequest request =
new
StringRequest(Request.Method.POST, url,
new
com.android.volley.Response.Listener<String>() {
@Override
public
void
onResponse(String response) {
loadingPB.setVisibility(View.GONE);
nameEdt.setText(
""
);
jobEdt.setText(
""
);
Toast.makeText(MainActivity.
this
,
"Data added to API"
, Toast.LENGTH_SHORT).show();
try
{
JSONObject respObj =
new
JSONObject(response);
String name = respObj.getString(
"name"
);
String job = respObj.getString(
"job"
);
responseTV.setText(
"Name : "
+ name +
"\n"
+
"Job : "
+ job);
}
catch
(JSONException e) {
e.printStackTrace();
}
}
},
new
com.android.volley.Response.ErrorListener() {
@Override
public
void
onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.
this
,
"Fail to get response = "
+ error, Toast.LENGTH_SHORT).show();
}
}) {
@Override
protected
Map<String, String> getParams() {
Map<String, String> params =
new
HashMap<String, String>();
params.put(
"name"
, name);
params.put(
"job"
, job);
return
params;
}
};
queue.add(request);
}
}