Я новичок в сетевой библиотеке google волейбола (а также на Android!), И я пытаюсь передать аргументы POST динамическим способом!Android volley, как динамически отправлять параметры сообщений
На данный момент я превосхожу метод getParams(): И возвращая параметры в жестком закодированном виде.
@Override
protected Map<String, String> getParams()
{
Map<String, String> params = new HashMap<String, String>();
params.put("login", "my_login");
params.put("password", "my_password");
return params;
}
Я хотел бы передать переменные вместо «жесткого закодированных» струн ...
Сначала я пытался поставить свою Карту Params как член моего класса, но члены класса не являются доступен в методе getParams().
Возможно, я мог бы использовать одноэлементный класс, чтобы я мог дать параметры, которые я хочу передать, и вернуть их с помощью своего экземпляра в методе getParams()? Но я не думаю, что это было бы правильно.
Ниже отверстие код запроса моего залпа в:
RequestQueue queue = VolleySingleton.getInstance().getRequestQueue();
String url = "https://theUrlToRequest";
StringRequest postRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>()
{
@Override
public void onResponse(String response) {
JSONObject mainObject = null;
try {
Log.i("app", "Result = " + response);
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
Log.i("app", "Fail on Login" + error.toString());
}
}
) {
@Override
protected Map<String, String> getParams()
{
Map<String, String> params = new HashMap<String, String>();
params.put("login", "my_login");
params.put("password", "my_password");
return params;
}
};
queue.add(postRequest);
Почему бы вам просто не создать некоторые переменные и не сравнить их с переменными класса перед запросом и добавить переменные, которые вы создали для параметров? – shanks
необходимо вернуть 'Map' из 'getParams()', а не определять его там. Вы можете создать свою собственную коллекцию как переменную уровня класса и вернуть ее из 'getParams()'. –
astuter
@shank: Это хороший прозор. Я попробую это немедленно. Благодарю. – Doctor