import
android.os.Bundle;
import
android.text.TextUtils;
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.Response;
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 userNameEdt, jobEdt;
private
Button updateBtn;
private
ProgressBar loadingPB;
private
TextView responseTV;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userNameEdt = findViewById(R.id.idEdtUserName);
jobEdt = findViewById(R.id.idEdtJob);
updateBtn = findViewById(R.id.idBtnUpdate);
loadingPB = findViewById(R.id.idPBLoading);
responseTV = findViewById(R.id.idTVResponse);
updateBtn.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
if
(TextUtils.isEmpty(userNameEdt.getText().toString()) && TextUtils.isEmpty(jobEdt.getText().toString())) {
Toast.makeText(MainActivity.
this
,
"Please enter your data.."
, Toast.LENGTH_SHORT).show();
return
;
}
callPUTDataMethod(userNameEdt.getText().toString(), jobEdt.getText().toString());
}
});
}
private
void
callPUTDataMethod(String name, String job) {
loadingPB.setVisibility(View.VISIBLE);
RequestQueue queue = Volley.newRequestQueue(MainActivity.
this
);
StringRequest request =
new
StringRequest(Request.Method.PUT, url,
new
Response.Listener<String>() {
@Override
public
void
onResponse(String response) {
loadingPB.setVisibility(View.GONE);
jobEdt.setText(
""
);
userNameEdt.setText(
""
);
Toast.makeText(MainActivity.
this
,
"Data Updated.."
, Toast.LENGTH_SHORT).show();
try
{
JSONObject jsonObject =
new
JSONObject(response);
String output = jsonObject.getString(
"name"
) +
"\n"
+ jsonObject.getString(
"job"
) +
"\n"
+ jsonObject.getString(
"updatedAt"
);
responseTV.setText(output);
}
catch
(JSONException e) {
e.printStackTrace();
}
}
},
new
Response.ErrorListener() {
@Override
public
void
onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.
this
,
"Fail to update data.."
, 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);
}
}