0
我在android工作室和即時通訊使用排球庫進行發佈請求點擊一個按鈕進行應用程序。發表請求凌空不發送參數的第一次點擊
我第一次按下按鈕時,響應始終爲空,但第二次正常工作。
下面的代碼:
public class LoginActivity extends Activity{
Button btnEnviar;
EditText domn;
EditText user;
EditText pass;
String respuesta=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_layout);
btnEnviar = (Button)findViewById(R.id.btnLogin);
domn = (EditText)findViewById(R.id.txtDominio);
user = (EditText)findViewById(R.id.txtUser);
pass = (EditText)findViewById(R.id.txtPassword);
btnEnviar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String dominio = domn.getText().toString();
String auth=loginRequest(("server url"));
Log.i("Server response:", "" + auth);
/*Intent i = new Intent(getApplicationContext(),MainActivity.class);
startActivity(i);*/
}
});
}
public String loginRequest(String url){
;
StringRequest request = new StringRequest(Request.Method.POST,url,
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
respuesta = s;
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError ex) {
// System.out.println(ex.getMessage().toString());
}
}
){
@Override
protected Map<String,String> getParams(){
String usr = user.getText().toString();
String psw = pass.getText().toString();
Map<String,String> params = new HashMap<String, String>();
params.put("User",usr);
params.put("Pass",psw);
params.put("DeviceName","Nombre");
params.put("DeviceType","Tipo");
params.put("OSVersion","Version");
params.put("VendorID","ID");
Log.i("USER:",usr);
Log.i("PASS:", psw);
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("Content-Type","application/x-www-form-urlencoded");
return params;
}
};
RequestQueue queue = Volley.newRequestQueue(this);
queue.add(request);
return respuesta;
}
而且即時得到這個日誌迴應:
首先點擊:
06-16 10:09:33.325 14628-14628/? I/Server response:﹕ null
06-16 10:09:33.375 14628-14744/? I/USER:﹕ username
06-16 10:09:33.375 14628-14744/? I/PASS:﹕ password
在第二點擊:
06-16 10:09:48.945 14628-14628/? I/Server response:﹕ 1
TOKEN
06-16 10:09:48.955 14628-14759/? I/USER:﹕ username
06-16 10:09:48.955 14628-14759/? I/PASS:﹕ password
任何想法如何解決它?謝謝。