JsonObjectRequest

پرسیده شده
فعالیت 1505 روز پیش
دیده شده 699 بار
0

سلام ...وقت بخیر

یه سوال داشتم در مورد دیتای که از سرور میاد ...

واینکه زمانی که ما خواسته باشیم دیتای از سرور بگیریم که حالت ویدیو یا صوت باشه مثلا اپ موزیک ... یا یه گیف باشه چطور باید دیتا رو پارز کنیم ...ایا اونم به همین روشه؟!

فایل پیوست

farshid barati
farshid barati

23 اسفند 98

0
حذف شده

ُسلام فرشید

JSON،  ما یه فایل  به فرض شبیه 

[
    {
        "first_name":"اسم",
        "last_name":"شهرت",
        "profile_img":"https://gravatar.com/"
    },
    {
        "first_name":"اسم",
        "last_name":"شهرت",
        "profile_img":"https://gravatar.com/"
    }
]

 حالا می خوایم پاسخ رو از سرور بگیریم 

StringRequest stringRequest = new StringRequest(
                Request.Method.GET,
                "https://7learn.ac/api/",
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Log.i(TAG, "onResponse: " + response);

                        try {
                            JSONArray jsonArray = new JSONArray(response);
                            List<Person> persons = new ArrayList<>();
                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject personJSONObject = jsonArray.getJSONObject(i);
                                Preson person = new Person();
                                person.setProfile(personJSONObject.getString("profile_img"));
                                person.setFirstName(personJSONObject.getString("first_name"));
                                person.setLastName(personJSONObject.getString("last_name"));
                                
                                persons.add(person);
                            }

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Log.i(TAG, "onErrorResponse: " + error.toString());
                    }
                }
        );

الان ما مثلا ادرس جایی که تصویر اون اشخاص ذخیره شده رو داریم(()person.getProfile) حالا باید فقط اون رو حافظه داخلی  نشون بدیم 

که یا می تونیم اون رو خودمون مستقیما دانلود کنیم یا از کتابخانه ها، مثل پیکاسو استفاده کنیم و  اونو دانلود کنیم 

فکر کنم بقیه فایل ها هم مث همین تصویر میتونیم ادرسشو گیر بیاریم و یا خودمون یا با کتابخونه ها   دانلود و اگر نیاز بود به کاربر نشون بدیم 

چیزای دیگه ای هم دیدم مثلا یه جا اومده بودن، میدونیم (اگر نخوایم ریز بشیم)درشبکه  فایل ها  به صورت بایت روی شبکه این ور اون ور میرن، اومدن یه کلاس نوشتن که  میشد باهاش بعد از دریافت، فایل رو باهاش می نوشتن  اینجا  و ... خیلی زیادن، بعضیاشونم متوجه نمیشم اصلا 

 

 

فایل پیوست

مهرداد

توسط

مهرداد

25 اسفند 98

2
حذف شده

سلام، به توضیحات مهرداد این موضوع رو اضافه کنم:

اگر که بخوای فقط دیتایی رو نمایش بدی مثلا عکس، خب می شه url اش رو داخل json دریافت کرد و نمایش داد. 

اما اگر بخوای خود فایل رو دانلود بکنی مثلا دانلود فیلم یا عکس و ذخیره اون روی گوشی کاربر، دیگه نمیشه از این روش هایی که آموزش داده شد استفاده کرد. روش های دیگه ای هست که در جلسات مربوطه اش (دوره مدیریت فایل) آموزش داده می شن

فایل پیوست

سعید شاهینی

توسط

سعید شاهینی

25 اسفند 98