خانه اندروید

800 ساعت آموزش اختصاصی

بیش از 30 هزار دانشجو

آموزش های پروژه محور

مطالب پیشنهادی حتما مشاهده کنید :

نمایش اطلاعات از سمت سرور JsonArrayRequest Volley اندروید استودیو

نمایش اطلاعات از سمت سرور JsonArrayRequest Volley اندروید استودیو

نمایش اطلاعات از سمت سرور JsonArrayRequest Volley اندروید استودیو

فیلم آموزش ارتباط با سرور و خواندن اطلاعات به روش json_encode

JsonArrayRequest Volley ، عرض سلام خدمت کاربران گرامی سایت خانه اندروید ، فیلم آموزشی خواندن اطلاعات از سمت سرور به کمک کتابخانه والی- JsonArrayRequest رو خدمتون آموزش بدیم.این آموزش که به صورت حرفه ای ارائه شده روش خیلی سریعتر خواندن اطلاعات از سمت سرور می باشد و نمایش اطللاعات در RecyClerView و CardView می باشد .

ابتدا روش پیاده سازی فایل جی سون رو خدمتون آموزش می دهیم سپس دستورات سمت سرور رو می نویسیم و دستورات رو در قالب جی سون دریافت می کنیم و بعد از اینکه اطلاعات رو دریافت کرده ایم میریم سراغ اندروید استودیو و کتابخانه های مورد نیازی رو اضافه می کنیم و دستورات سمت سرور رو فراخوانی و اطلاعات رو در قالب فایل جی سون می خوانیم و نمایش می دهیم در Recyclerview امیدوارم این فیلم آموزشی هم مثل فیلم های آموزش قبلی که تهیه کرده ایم  مورد رضایت شما عزیزان قرار بگیره.

حتما بخوانید : 

کتابخانه Volley طراحی اکتیویتی لاگین login اندروید استودیو

فیلم آموزش کتابخانه Volley طراحی اکتیویتی ثبت نام اندروید استودیو

اگر اپلیکیشن دیجی کالا رو باز کنید حتما متوجه این موردی که عرض کردیم میشید. چون صفحه اصلی دیجی کالا از cardview و recyclerview استفاده شده که ما هم توی این فیلم آموزشی این مورد خدمت شما عزیزان اموزش میدیم هر چند توی فیلم های آموزشی قبلی هم انجام دادیم اما این فیلم آموزشی سمت سرور می باشد.

نمایش اطلاعات از سمت سرور JsonArrayRequest Volley اندروید استودیو

آموزش اندروید استودیو سرفصل های نمایش اطلاعات از سمت سرور JsonArrayRequest Volley اندروید استودیو :

 – برنامه نویس سمت سرور برای خواندن اطلاعات

 -نمایش اطلاعات به صورت جی سون Jscon_encode 

 -فارسی سازی فایل های دریافتی

 -پیاده سازی Adapter

 -پیاده سازی کلاس get and set

 – پیاده سازی apiservis برای نمایش اطلاعات

 -فرستادن درخواست به سمت سرور در قالب جی سون

 -پیاده سازی interface و فراخوانی

 -پیاده سازی لیست  Arraylist

 -متد های دریافتی از سمت سرور

 –فراخوانی و پیاده سازی RecyClerview و Cardview برای نمایش اطلاعات

 -تعریف سازنده برای دریافت Content

 -نمایش اطلاعات به صورت StaggeredGridLayoutManager عمودی و یا افقی 

 –پیاده سازی تعداد درخواست ها به سمت سرور setRetryPolicy

 -JSONObject

 -پیاده سازی درخواست به روش Request.Method.GET

 -و…

خانه اندروید دانلود فیلم آموزشی  لطفا فیلم آموزشی رو هم ببنید برای توضیحات بیشتر :

حجم فیلم آموزشی   حجم فیلم : ۲۰۰ مگابایت

پسورد فایل   پسورد فایل فشرده : homeandroid.ir

خانه اندروید منبع آموزش : خانه اندروید

درباره نویسنده

جواد محمدی هستم بنیان‌گذار سایت خانه اندروید در خدمتون هستیم با آموزش و مفاهیم برنامه نویسی اندروید-نزدیک به 10 سال هست در حوزه برنامه نویسی فعالیت می کنم. مسلط به kotlin,java,flutter,php هستم . در خانه اندروید دانستی های خودم را در اختیار تمامی علاقمندان به برنامه نویسی قرار میدم.تشکر از اینکه خانه اندرورید رو دنبال می کنید.

قبل از ارسال دیدگاه

  • قبل از ارسال دیدگاه: لطفا دیدگاه خودتون رو فقط در مورد این مطلب بنویسید.سپاسگزارم.

    دیدگاه های طولانی نادیده گرفته می شوند لذا دیدگاه خودتان را در دو خط خلاصه کنید.

    دیدگاه های که شامل توهین یا متن توهین آمیز اصلا تایید نمی شود.

    به دیدگاه های بی نام و نشان که ایمیل فیک و نام فیک وارد می کنند پاسخ داده نمی شود

49 دیدگاه

  1. nima گفت:

    سلام استاد من یه مشکل دارم card view و RecyclerView برام اضافه نمیشه فک کردم مشکل از اندروید استودیوم حذف کردم از اول گردل و … نصب کردم همه کتاب خونه ها اضافه میشن جز این دوتا فیلتر شکن هم روشنهcisco استفاده میکنم .

    • سلام دوست عزیز
      بزرگوار اخه اضافه نشدن کتابخانه ربطی به اندروید استودیو نداره مگه ویندوز هست که عوض کنید اوکی بشه برادر
      شما باید همیشه جستجو کنید و جدیدترین ورژن رو اضافه کنید.
      implementation “androidx.cardview:cardview:1.0.0”
      implementation “androidx.recyclerview:recyclerview:1.1.0”
      بفرمایین
      با احترام.

  2. ArmanProgrammer گفت:

    سلام خسته نباشید با تشکر از سایت خوبتون

    گروه برنامه نویسی ما در حال ساخت یک بازی تحت سروره. می خواستم بدونم اگر بخوایم اطلاعات بین بازیکن رو رد و بدل کنیم از چه روشی باید استفاده کنیم.

    استفاده از والی یا رتروفیت برای اینکار مناسبه یا نه

    انتقال باید با سوکت انجام بشه؟ فرق سوکت با والی در چیه؟

    می خوایم اطلاعات بصورت آنی (حداکثر با ۱ ثانیه تاخیر) ردوبدل بشن سبک بازی مثل کلش رویال هستش ولی تا ۱ ثانیه تاخیر هم مشکلی نداره

  3. m.jahangiri گفت:

    سلام عکسارو چجوری تو دیتا بیس ذخیره میکنید ؟
    آیا تو این آموزش اپ به وب لینک داده میشه ؟
    من تو وب سایتم آدرس عکس رو توی db ذخیره میکنم
    میخواستم بینم این آموزش به در من هم میخوره ؟

  4. mahdi گفت:

    سلام من این آموزشو خریدم ولی اصلا صدا نداره چکار کنم؟

    • Admin گفت:

      سلام دوست عزیز
      باید فیلم آموزشی رو با نرم افزار های فوق مشاهده کنید
      سیستم عامل ویندوز : نرم افزار kamplyer
      سیستم عامل مک : vls
      با احترام
      موفق باشین.

  5. Nima گفت:

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

  6. رامین گفت:

    وقت بخیر
    من تو apiservis این قسمت رو نوشتم. اما زیرش خط قرمز کشیده و نوشته JsonarrayRequest() in JsonArrayRequest cannot appliet to:

    و اینم کدی که نوشتم

  7. سرور گفت:

    سلام خدمت شما بنده یه مشکلی داشتم لطف کنید رو لوکال هاست تست نکنید روی هاست آموزش بدید ممنون

    • Admin گفت:

      سلام و احترام.
      دوست عزیز توی فیلم های آموزشی پیشرفته ما کلا روی هاست واقعی تمامی موارد رو خدمتون آموزش دادیم ولی تفاوت زیادی نداره عزیز
      موفق باشین.
      با احترام.

  8. mosi گفت:

    سلام وقت بخیر
    یه سوال داشتم و چند تا پیشنهاد!
    ۴ مورد هست به نظرم باید بدونی:
    ۱- در رابطه با اسم گذاری کلاس ها: که باید حتما اول اسم کلاس ها باید حروف بزرگ باشه و هم حروف اول کلمات بزرگ باشن(TimePicker)
    ۲- اسم گذاری تمامی متدها و فیلدها: اولین کلمه کلا با حروف کوچک و بقیه کلمات اولین حرف بزرگ timePicker ، onClick
    این مدلی که شما مینویسی نام همه متد و فیلد و کلاس قاطی پاتی میشه همونطور که توی این آموزش شده !
    ۳- برای رسیدن به ستون تایپ در هر سطر به جای space از Tab استفاده کن(هر تب برابر ۶ space)
    ۴- برای مرتب سازی کد ها در هر فایل جاوا یا xml میتونی از ترکیب کلید های ctrl+alt+F استفاده کنی

    حالا سوال من اینه که وقتی با افزونه مرورگر دستور get رو میفرستم بدون مشکل کل فایل واطلاعاتش به صورت json برام برگردونده میشه،
    ولی توی کد های جاوا وقتی ران میگیرم و خط به خط تریس میکنم خالی برمیگردونه ! هیچ خطایی هم نداره، ایراد کار کجا میتونه باشه ؟
    کل کدهارو هم طبق فیلم پیش رفتم !

    • Admin گفت:

      دورود خدمت شما
      از لطفی که دارین نسبت به سایت و بنده ممنونم.
      حتما دوست عزیزم چون آموزش برای شروع کار بود نام ها زیاد برامون مهم نبود ولی در ادامه اموزش ها خدمتون کامل یاد میدم. مثلا دوره آموزش ساخت اپلیکیشن وردپرس
      و برای سوال آخر لطفا دوره آموزش ساخت اپلیکشین وردپرس رو تهیه کنید. تا بتونید برای وردپرس اپ بنویسید و افزون ها رو مدیریت کنید.
      لینک توضیحات :
      https://homeandroid.ir/wordpress-application

      • mosi گفت:

        سلام وقت بخیر
        منظورم از افزونه، افزونه وردپرس نبود، با افزونه مرورگر Chrome دستور get رو برای localHost میفرستم برام فایل json برمیگردونه ولی توی اندروید استودیو، جاوا null برمیگردونه !
        خط به خط که دیباگ کردم دقیقا توی [ ] خالیه هیچی برنمیگردونه !
        آدرس رو همونی که توی chrome میزنم به اندروید استودیو میدم

        • Admin گفت:

          سلام و احترام
          لطفا در بخش ارتباط با ما این موضوع رو بفرستین همراه با همراه سورس و اسکرین شات تا بررسی کنم.
          با احترام.

  9. mahditamassoki گفت:

    سلام جناب محمدی ، مرسی از آموزش های خوبتون

    من این آموزش رو تهیه کردم ، اما فقط فیلمش رو دارم ، درست هست یا این که کد های این پروژه رو هم باید داشته باشم ؟
    مرسی

    • Admin گفت:

      درود خدمت شما دوست عزیزم.
      بله فیلم آموزشی کافی توی فیلم به صورت کامل توضیح دادم خدمتون دوست عزیزم.
      با احترام.

  10. mosi گفت:

    سلام
    من توی php تازه کارم و تازه دارم طبق فیلم مینویسم
    آقا همین اول کاری هیچ نگفتی چی به چیه، فایلا رو از قبل باز کردی شروع به کار کردی
    این فایلای getpost یا config چین کجا باید ذخیره بشن؟! مسیر server کجا هست اصن !
    نگفتی توی php my admin چطوری فارسی وارد کنیم؟! هرچی میزنم خطا میده !
    یه فیلمو ۰ تا ۱۰۰ شروع کن یا اگه پستی مرتبط باهاش هست و اولش بگو

    • Admin گفت:

      سلام و احترام خدمت شما دوست عزیزم.
      خدومتون عرض کنم مطالب مرتبط با این آموزش توی فیلم فکر می کنم گفته شده ولی اگر گفته نشده شما می تونید از این دو تا فیلم استفاده کنید :
      آموزش طراحی اکتیویتی ثبت نام
      https://homeandroid.ir/volley
      آموزش طراحی اکتیویتی لاگین
      https://homeandroid.ir/volley-login
      ونکته آخر شما حتما پیگر سایت خانه اندروید نیستین به خاطر همین هست که مشکل براتون پیش اومده چون موارد رو خدمتون آموزش دادیم و سپس سمت سرور رو گفتیم سعی کنید آموزش های بالا رو تهیه کنید.
      با احترام.

  11. developer 12007 گفت:

    سلام و خسته نباشید.
    من همیشه اموزش های شما رو استفاده میکنم. واقعا بی نظیره.

    من فایل های php ارتباط با سرورمو اپلود کردم در فایل public html و داخل برنامه هم ک url ست کردم برای ارتباط با سرور، دقیقا طبق اموزش.
    الان یک مشکلی ک دارم بحث امنیته.
    مثلا ما تو وب سایت بحث کوکی ها و سشن ها رو داریم.
    تو اندروید برای امنیت باید چیکار کنیم؟؟
    در ضمن مثلا فرض کنید url من https://www.android.com/app/register.php .
    حالا شما فرض کنید یه هکر براحتی میتونه ب این صفحه دسترسی پیدا کنه دیتا اینرزت کنه در دیتابیس.
    یا کلا در این ادرس https://www.android.com/app/ ب تمام فایل ها میتونه دسترسی پیدا کنه.

    اقای محمدی شرمنده اگر این سوال رو اینجا مطرح کردم، چون عجله ی بسیاری دارم و گفتم شاید در انجمن دیر پاسخ داده بشه.
    ب هر حال اگر ممکنه پاسخ این سوال بنده رو ب ایمیل بنده بفرستین.

    با تشکر از لطف شما

    • Admin گفت:

      سلام و احترام
      یا میشه سمت سرور دستورات رو وقتی می فرستم یک پسوردی رو هم در نظر بگیرم براش به این شکل که از سمت اپ فرستاده بشه و شما اون موقع بتونی دستوارت رو سمت سرورت ثبت کنی و هم چنین توی اندروید باید minifyEnabled true رو obfuscation کنید که باعث میشه کل اپ شما تبدل به هش کد ها بشه و وقتی کسی کد شما رو دیکامپال هم کنه دیگه چیزی از سورس کد های شما متوجه نمیشه و نمی دونه پسورد چی که بخواهد اصلا بفرسته سمت سرور و حتی url تبدل به کد های میشه که نامفهوم هست و غیر قابل هک دوست عزیزم که ما فیلم آموزشی رو تهیه می کنیم هر چند توضیح بیشتری نداره همینه.
      با حترام.

      buildTypes {
      release {
      minifyEnabled true
      proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
      }
      }

  12. mahdi گفت:

    اقای محمدی عشقی
    خسته نباشید عالی بود

  13. حسین گفت:

    سلام، متشکر بابت آموزش های خوبتون.
    یک سوال داشتم:
    وقتی کاربر وارد اپ میشه ما اطلاعات رو از سمت سرور میگیریم و بهش نشون میدیم، حالا هر موقع که کاربر از اپ خارج شد و دوباره وارد شد منطقی اینه که دوباره همه اطلاعات از سرور درخواست نشه و فقط اون اطلاعاتی که جدیدا اضافه شده از سرور گرفته بشه و به recyclerView اضافه بشه که هم سرعت آپدیت اطلاعات بالا بره و هم دیتای کمتری از اینترنت کاربر مصرف بشه.
    آیا نیاز هست که اول اطلاعات رو در گوشی کاربر به وسیله SQlite ذخیره کنیم و بعد id اون رو با id سمت سرور مقایسه کنیم یا کار دیگه ای باید انجام بشه؟
    روش استاندارد برای این کار چی هست؟
    لطف می کنید راه حل رو توضیح مختصر بدید.

    • Admin گفت:

      سلام دوباره خدمت شما
      دوست عزیزم این مورد نیاز به تهیه آموزش هست و زمان تهیه اشم مشخص نیست.
      قبلا انم خدمتون توضیحات دادم باید sql و sqllite رو با هم مچ کنیم که اطلاعات ریخته بشه داخل Sql lite و وقتی اطلاعات جدید دریافت شد فقط notiface کنه اطلاعات رو یا رفرش کنه recyclerveiw رو خدمتوون آموزش میدیم.نگران نباشین.
      با احترام.

      • hossein111 گفت:

        ممنون بابات پاسختون، اما من منظورم این بود که کاری کنیم فقط اطلاعات جدید از سرور درخواست بشه و هر بار کل اطلاعات تیبل از سرور گرفته نشه که هم سرعت رو پایین میاره هم اینترنت کاربر مصرف میشه و هم منطقی نیست… در واقع فقط اطلاعات جدیدی که وارد تیبل شده به سمت کاربر ارسال بشه.

        • Admin گفت:

          سلام خدمت شما
          دوست عزیز روش های مختلفی داره مثلا شما می تونید یک کد سمت سرور بنویسید که وقتی اطلاعات جدید اضافه شد requst به سمت اپ بفرسته و اپلیکیشن اطلاعات جدید رو دریافت کنه و معمولا این کارو نمی کنند از طریق id بررسی می کنند و اطلاعاتی رو می گیرن و در هر صورت درخواست به سمت سرور ارسال میشه و اگر قصد شما این هست باید از طریق id این کارو می کنید و id که ثبت شده داخل sql lite دیگه چک می کنید که ثبت نشه و فقط recyclerview رو recycle می کنید.
          این ها مواردی که نیستن که به این سادگی بتونید بنویسید معمولا سمت سرور پیاده سازی می شوند و اپ حرفه ای این کارو می کنند مثل تلگرام و اینستاگرام و همشون هم به محث اینکه به اینترنت متصل میشن درخواست به سمت سرور رو می فرستن در هر صورت شما اگر تلگرام رو باز کنید متوجه میشن که حجم زیادی از اینترنت رو داره استفاده میشه و در آخر جواب شما همون id پست هاست.
          یا علی موفق باشین.

  14. developer 12007 گفت:

    همینی که توفیلم اموزش دادین، من اینو بجای get گذاشتم post و یه متد hash map گذاشتم تا داده ها ارسال بشن.
    ولی متاسفانه خالی میبره یعنی اینکه چیزی پست نمیشه.
    خواهش میکنم راهنمایی کنید.
    .

    • Admin گفت:

      دورد خدمت شما
      دوست عزیز اول اینکه انجمن جای سوال و جواب شماست و در بخش دیدگاه لطفا سوالات طولانی نپرسید.
      و آموزشی که خدمتون داده شده در قالب get هست و لطفا باتوجه به آموزش سوال کنید.
      برای ارسال در قالب پست حتما باید از Stringrequst استفاده کنید.
      با احترام.

  15. developer 12007 گفت:

    سلام عرض شد.
    فیلم اموزشی عالی بود.
    من همیشه از اموزش شما استفاده میکنم.
    یک مشکلی برام پیش اینکه من با متد get تو url داده ها رو میزام و میفرستم ب سرور.
    تو بعضی گوشی ها کاراکتر های فارسی بصورت ??? ارسال میشه ب سرور.
    مشکل از سرور و php نیست، چون تو کدهای php من charset رو utf8 گذاشتم.
    باید سمت جاوا احتمالا کدی باشه ک تنظیم کنه.
    ممکنه راهنمایی کنید؟؟؟

    • Admin گفت:

      سلام و احترام خدمت شما
      دوست عزیزم اولین مشکلی هست باید همیشه سعی کنید از روش post بفرستین اطلاعات رو و هیچ موقع به روش get اطلاعات رو نفرستین اگر کاربر مورد نظر موقع ارسال پست & امپرساین اضافه کنه باعث میشه کل کار شما به هم بریزه و اطلاعات کاربری که داره ارسال میشه به هم متصل بشه به عنوان مثال کاربری با نام کاربری و پسورد عبور و ایمیل ثبت نام می کنه و اگر اون شخص در ثبت ایمیل & وارد کنه در حالت get برنامه شما احساس می کنه که می خواهد اطلاعات جدید یا فیلد جدید رو مقدار دهی کنه و باعث میشه اطلاعات ناقص ارسال بشه به سمت سرور و باید شما حتما از Hasmap استفاده کنید و هم چنین بلعکس برای چک کردن یوزیر و نیم و پسورد عبور کاربر نباید در قالب get گرفته بشه و باید در قالب هش مپ و post ارسال بشه .
      و بابت مشکلی که عرض کردین مشکل از سمت php هست حتما باید charset رو در موقع ارسال هم ست کنید توی php وقتی insert میشه اطلاعات و خود اندروید استودیو زبان فارسی رو ساپورت می کنه و مشکلی تو این قضیه وجود نداره …
      موفق باشین.

  16. Amin گفت:

    سلام و عرض ادب،
    سپاس از سایت و اموزش های خوبتون،
    دوست عزیزم،من قصد دارم لیست از اطلاعات رو از سرور بگیرم،مطابق آموزشتون این کار رو انجام دادم،هدفم اینه کاربر روی هر أیتم کلیک کرد،زیر مجموعه های مخصوص به هر أیتم رو بهم نمایش بده،
    باید چکار کنم!؟؟؟

    • Admin گفت:

      سلام خدمت شما دوست عزیزم Amin
      از لطفا و بزرگواری شما سپاسگزارم.
      خدمت شما عرض کنم بنده توی فیلم آموزش ساخت اپلیکیشن وردپرس مواردی خیلی حرفه ای رو آموزش میدم از جمله موردی که عرض کردین کلیک کردن روی یک ایتم recyclerview
      لینک تهیه این آموزش :
      https://homeandroid.ir/wordpress-application
      و درآخر اگر مایل نبودین فیلم آموزشی بالا رو تهیه کنید باید برای ایتم های recyclerview کلیک تعریف کنید.
      با احترام.

  17. abbas گفت:

    سلام.
    بنده آموزش جاری را خرید کردم و لی لینک بعد از ارسال مشکل داره.مینویسه با عرض پوزش، محدودیت دانلود برای این فایل وجود دارد..
    سریعا جواب بدین لطفا

    • Admin گفت:

      سلام و احترام خدمت شما دوست عزیزم.
      نگران نباشین لطفا ایمیل خودتون رو بررسی کنید براتون ارسال کردم.
      اگر مشکل دیگه ای بود توی بخش ارتباط با ما بگین.
      با احترام.

  18. هاشم محمدی گفت:

    سلام از سایت خانه اندروید تشکر می کنم به خصوص جناب محمدی عزیز
    طلایی طلا

  19. میلاد گفت:

    سلام خسته نباشید.
    من این آموزش رو خریداری کردم اما برای ایمیلم ارسال نشده لطفا پیگیری کنید ممنون.

  20. developer گفت:

    سلام و وقت بخیر.
    خیلی ممنون، این اموزش هم مثل بقیه ی اموزشهاتون عالی بود.

    اگه بخوایم ک کوئری رو ب شکلی بنویسیم ک مثلا بر اساس شماره موبایل کاربر عمل select رو انجام بده،
    و اینکه شماره موبایل باید از سمت کلاینت ب سمت سرور پست بشه.
    در واقع هم باید عمل post انجام بگیره ک شماره موبایلو بفرسته و هم عمل get ک اطلاعاتی ک select کرده رو نمایش بده.

    قسمت کلاینت رو چطوری باید طراحی کرد؟

    • Admin گفت:

      سلام و درود دوست عزیز
      هم post و هم get آموزش داده شده و وقتی قصد داریم اطلاعاتی رو به سمت سرور بفرستیم میشه post و اگر قراره اطلاعاتی دریافت کنیم get
      موفق باشین.

  21. javad گفت:

    salam khob bod as shoma tashkor mikonam

  22. حسین حیدری گفت:

    سلام خدمت شما مدیر محترم سایت خانه اندروید
    از شما بابت مطالبی حرفه ای که قرار می دید تشکر می کنم .
    به نظر بنده هزینه ها برای آموزش های حرفه ای ارزش داره واقعا مخصوص همین آموزشی که بنده تهیه کردم منظورم کل آموزش هایی که بود که سمت سرور کد نویسی کردین واقعا حرف نداشت احسن به شما .
    سپاس از شما و با قدرت پیش برین.
    با احترام.

  23. مصطفی گفت:

    سلام. زمان آموزش چند دقیقه می باشد؟؟؟؟
    دوم اینکه به مناسبت اعیاد شعبان برای اموزش ها تخفیف ندارید؟؟؟

    • Admin گفت:

      سلام و احترام خدمت شما دوست عزیزم.
      فیلم های آموزشی که ارائه میشه در اثر رایگان هست و حالا هزینه هایی که گرفته میشه صرفا جهت وقت و هزینه های سرور و هاست میشه و اگر قرار باشه هزینه کنید بیشتر از این چیزی که هست که الان ثبت شده و آموزش فوق زمانش یک ساعت و ۱۰ دقیقه هست. ۱:۱۰
      با احترام.