По сути, я хотел бы отправить запрос GET, чтобы получить форму, и основываться на значении формы для отправки запроса POST, например, как калькулятор.
<form action="/calc" method="POST">
<input id="sum" name="sum" value="">
<input id="num1" name="num1" value="6">
<input id="num2" name="num2" value="54">
<input type="submit" >
</form>
Значения num1
и num2
меняются каждый раз, когда я отправляю запрос GET, используя HttpUrlConnection
в Android.
Как я могу получить значение элемента HTML, вычислить сумму в моем приложении для Android, а затем отправить значение суммы через запрос POST для отправки формы?
Вот мой код Android
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MYAPP";
int rs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String url ="http://local....";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
Log.e(TAG,response);
//Process the response, get value of num1 and num2 and compute the sum;
rs = sum;
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "Exception");
}
});
StringRequest postRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>()
{
@Override
public void onResponse(String response) {
// response
Log.e(TAG, response);
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
// error
Log.e(TAG, "Error");
}
}
) {
@Override
protected Map<String, String> getParams()
{
Map<String, String> params = new HashMap<String, String>();
params.put("sum", String.valueOf(rs));
return params;
}
};
queue.add(stringRequest);
queue.add(postRequest);
}
}