سلام
لطفا دوستانی که با کتابخانه volley سروکار دارند راهنمایی کنند
من یک کلاس جاوا ساختم که مقادیری رو بهش پاس میدم و اونجا هم از کتابخونه volley استفاده کردم و مقدایر رو به صفحه php پست میکنم و نتیجه برگشتی رو داخل یک list میریزم و در نهایت list رو retu میکنم اما لیستی که بر میگرده خالی هستش بعد از دیباگ و بررسی خط به خط کدها متوجه شدم قبل از اینکه عملیات دانلود انجام بشه و کار کتابخونه volley تموم بشه retu انجام میشه و لیست که هنوز پر نشده به صورت خالی retu میشه.
آیا راه حلی برای حل این مشکل هست یا من کلا دارم راه رو اشتباهی میرم؟
import android.content.Context;
import android.util.Base64;
import android.util.Log;
import android.widget.Toast;
import com.android.volley.AuthFailureError;
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 com.carrot.singim.R;
import com.carrot.singim.adapter.CatGames_Data_Free;
import com.carrot.singim.utils.AddressUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SignUp { private Context context; public List<String> startSignUp(Context con, final String userName, final String userPhone, final String userPass) { context = con; final List<String> listEnd = new ArrayList<>(); RequestQueue queue = Volley.newRequestQueue(context); StringRequest myRequest = new StringRequest(Request.Method.POST, AddressUtils.getSignUpUrl(), new Response.Listener<String>() { @Override public void onResponse(String response) { listEnd.add(response); listEnd.add(response); listEnd.add(response); listEnd.add(response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { String e = context.getResources().getString(R.string.serverError); showToast(e); } } ) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> params = new HashMap<>(); params.put("uname" , userName); params.put("uphone", userPhone); params.put("upass", userPass); retu params; } }; queue.add(myRequest); retu listEnd; } public void showToast (String error){ Toast.makeText(context, error, Toast.LENGTH_LONG).show(); }
}
روید باکس...
ما را در سایت روید باکس دنبال می کنید
برچسب : نویسنده : کاوه محمدزادگان roid بازدید : 171 تاريخ : دوشنبه 11 مرداد 1395 ساعت: 2:46