В принципе, я хотел бы отправить запрос 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);
}
}
Спасибо! Я посмотрю на это!
Просто прокомментируйте, когда он работает, чтобы я мог опубликовать правильный ответ :)
Я смотрю на Volley
, он очень прост в использовании. Однако я не могу одновременно обрабатывать GET и POST. Когда я ПОЛУЧАЮ форму, проанализирую значение и вычислю результат. Затем я помещаю его в запрос POST, но на этот раз значение формы изменяется.
Почему бы вам не сделать это последовательно? Покажи мне код, который ты используешь
Я обновил свой код в вопросе!
Попробуй вложить че запросы
Попробуйте поискать дооснащение. Он справляется с такими вещами (сетевое соединение) намного лучше, чем справляется с этим самостоятельно. Оттуда вы просто вызываете два метода.