آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل درکار با Volley

Shadow  9 سال پیش  9 سال پیش
0 0

این جیسون من هست که از سمت سرور می گیرم

 {
  "has_error": false,
  "response": [
    {
      "id": 1,
      "name": "21",
      "en_name": "21",
      "singer_id": 1,
      "albom_date": "2010",
      "description": "البوم 21",
      "cover": {
        "256": "http://undermusic.ir/up/albom/256_adle.jpg",
        "384": "http://undermusic.ir/up/albom/384_adle.jpg",
        "512": "http://undermusic.ir/up/albom/512_adle.jpg",
        "base": "http://undermusic.ir/up/albom/base_adle.jpg"
      }
    }
  ],
  "state_code": 200
}

و این کد های سمت کلاینت که دو مقدار ارسال می کنم و سپس این جیسون رو دریافت می کنم اما توی بیرون کشیدن مقادیر داخل جیسون مشکل دارم!

 
public void get_albom(final String mobile_id, final String key,onAlbumReceived onAlbumReceived) {
Map<String, String> map = new HashMap<>();
map.put("mobile_id", mobile_id);
map.put("key", key);
VolleyRequestHelper helper = new VolleyRequestHelper(Request.Method.POST, G.URL_ADDRESS2 + "get_albom", map, new Response.Listener<String>() {
@Override
public void onResponse(String response) {


}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {

}
});
Volley.newRequestQueue(G.context).add(helper);


}

لطفا راهنمایی کنید که چطور مقادیر has_error و مقادیر داخل  response رو بکشم بیرون؟

0 0
البته این فقط یه سطر از دیتابیس هست که جیسونش می شه این باید داخل حلقه فور گذاشته بشه و داخل یه لیستی ذخیره بشه (9 سال پیش)
0 0
سلام میشه کد کلاس VolleyRequestHelper رو هم بذارید!؟ (9 سال پیش)
 برای این سوال 2 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
mosafer  9 سال پیش
+1 0

 پاسخ صحیح

بازم سلام

 StringRequest request = new StringRequest(Request.Method.POST,G.URL_ADDRESS2 + "get_albom", new Response.Listener<String>() {

@Override
public void onResponse(String response) {

Log.d("response", response.toString());

try {

JSONObject json = new JSONObject(response);

boolean has_error = json.getBoolean("has_error");

JSONArray jr = json.getJSONArray("response");

for (int i = 0; i < jr.length(); i++) {

JSONObject jsonObject = jr.getJSONObject(i);

String id = jsonObject.getString("id");
String name = jsonObject.getString("name");
String en_name = jsonObject.getString("en_name");
int singer_id = jsonObject.getInt("singer_id");
String albom_date = jsonObject.getString("albom_date");
String description = jsonObject.getString("description");

JSONObject json_cover = jsonObject.getJSONObject("cover");

String s256 = json_cover.getString("256");
String s384 = json_cover.getString("384");
String s512 = json_cover.getString("512");
String base = json_cover.getString("base");

}

int state_code = json.getInt("state_code");

}
catch (JSONException e) {
e.printStackTrace();
}

}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("Error: " + error.getMessage());
}
}) {

Map<String, String> map = new HashMap<>();

@Override
protected Map<String, String> getParams() {
map.put("mobile_id", mobile_id);
map.put("key", key);
return map;
}

};

RequestQueue queue = Volley.newRequestQueue(getActivity());
queue.add(request);

این رو امتحان کنید ببنید درسته یا نه!

که اگر درست بود من هم یه سوالی از شما دارم؟!

0 0
دستتون درد بابت کمکی که کردین نگین خودش کاری نمی کنه من تا قسمت کاور ها رفته بودم جلو اونجا گیر کرده بودم و شما زحمت کشیدین من کلا با این جیسون ارای و جیسون ابجکت مشکل دارم ! (9 سال پیش)
0 0
ینی درست شد؟ (9 سال پیش)
0 0
نه من چنین جسارتی نمیکنم داداشم. دوست دارم تا جایی که میتونم کمک کنم و میدونستم گیر کارت کجاست واسه همین خودم نشستم دقیق بررسیش کردم. ولی از اونجایی که دسترسی به url نداشتم دیگه نمیدونستم درسته یا نه ولی بنظر درست میاد دیگه نمیدونم. موفق باشین (9 سال پیش)
0 0
کاملا درست بود (9 سال پیش)
پاسخ به سوال 
Shadow  9 سال پیش
+1 0

این کدی که خواستین :

public class VolleyRequestHelper extends StringRequest {

private Map<String, String> params;

public VolleyRequestHelper(int method, String url, Map<String, String> params,
Response.Listener<String> listener, Response.ErrorListener errorListener)
{
super(method, url, listener, errorListener);
this.params = params;

}

@Override
protected Map<String, String> getParams() throws AuthFailureError
{
return params;
}
}
0 0
ممنونم . آخه من یه جای کدم برای دانلود فایل هست که به مشکل خوردم و هر چی هم میکنم کسی کمک نکرده و راهنمایی نمیکنن. متاسفانه حضور بجه ها در انجمن کمرنگ شده (9 سال پیش)
+1 0
من برای دانلود فایل هام از این کلاس استفاده می کنم. لینک (9 سال پیش)
0 0
ممنون از معرفی این لینک. ولی همون کدی که گذاشتم هم فکر میکنم درسته ولی مشکل اصلی من فرستادن Authorization Basic به Header هست که نمیدونم به چه شکل این کارو در کد خودم انجام بدم! و اینکه در این لینکی که معرفی کردین هم چنین چیزی نیست البته سوالی رو طرح کردم تا ببینم دوستان جواب میدن یا نه! امیدوارم بتونم این کار رو انجام بدم (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .