وب سایت تخصصی شرکت فرین
دسته بندی دوره ها

دوره یادگیری Android از Udacity

سرفصل های دوره

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

عنوان اصلی : Udacity Android

سرفصل ها :

درود و خوش آمد
به کلاس درس خوش آمدید
معرفی
یادگیری چیزی جدید
نماها - Solution-D
بازدیدها
انتخاب نماها برای برنامه YouTube
TODO انتخاب نماها برای برنامه YouTube
صحبت کردن با تلفن شما-gONbjxZM
استفاده از نمای متنی
استفاده از نمای متنی
نحو XML
نحو XML
TextView - راه حل را تغییر دهید
TextView را تغییر دهید
دریافت خطاهای گذشته - راه حل
دریافت خطاهای گذشته
تنظیم محتوای بسته بندی - راه حل
تنظیم محتوای Wrap
TextView اندازه متن - Solution-BDI
اندازه متن TextView
TextView Text Color-DW
TextView رنگ متن
ImageView ساده - Solution-otTh
ImageView ساده
مستندات - راه حل
مستندات
چت با گوگل کریل گروشنیکوف
فقط چک کردن
ViewGroups
ViewGroups
انواع ViewGroups
مشاهده گروه ها
Linear Layout-
LinearLayout
عرض و ارتفاع
عرض و ارتفاع
فاصله یکسان از نماهای کودکان--
فاصله یکسان بین نماهای کودکان
وزن طرح
وزن طرح
چیدمان نسبی
نسبت به پدر و مادر
نسبت به پدر و مادر
نسبت به سایر نماها
نسبت به سایر نماها
مورد فهرست با RelativeLayout-f
مورد فهرست با RelativeLayout
Padding در مقابل Margin-aV
بالشتک در مقابل حاشیه
چت با گوگل کریل گروچنیکف قسمت 2
به Practice Set One خوش آمدید
فرآیند نصب
حل مشکلات
اندروید استودیو را نصب کنید-
سلام دنیا
تور سریع اندروید استودیو
اجرای Hello World در تلفن شما
اجرای Hello World در تلفن شما
با استفاده از شبیه ساز
برنامه کارت تولد را ایجاد کنید
برنامه کارت تولد را ایجاد کنید
RelativeLayout LinearLayout
RelativeLayout LinearLayout
پوشه قابل کشیدن
پوشه قابل Drawable-tn-N
تثبیت موقعیت
تثبیت موقعیت
طراحی ظاهر
طراحی ظاهر
متن را بزرگتر کنید
متن را بزرگتر کنید
تنظیم فونت
تنظیم فونت
تنظیم رنگ
تنظیم رنگ
ویژگی های ImageView
ویژگی های ImageView
نحوه استایل دادن به تصویر
نحوه استایل دادن به تصویر
تنظیمات جزئی
تنظیمات جزئی
Recap-K-ZL
کارت خود را بسازید
Study Break Charity Miles-Kfu8KIIq
اولین پروژه شما
یک پروژه جدید ایجاد کنید
یک پروژه جدید QUaRaolip ایجاد کنید
چگونه طرح بندی را بسازیم
طرح چگونگی ساخت Layout-VJeGef3u
Build Layout
Build Layout
وقتی روی دکمه کلیک می شود کاری انجام دهید
وقتی روی دکمه کلیک می شود کاری انجام دهید
اصلاح خطوط اول کد جاوا-
اصلاح خطوط اول کد جاوا
حل مسائل ریاضی
حل مسائل ریاضی
TextViews را برای قیمت اضافه کنید
TextViews را برای قیمت اضافه کنید
نیاز به متغیرها
نیاز به متغیرها
اولین متغیر خود را اضافه کنید
اولین متغیر خود را اضافه کنید
اشکال زدایی یک Crash
چت با برنامه نویس اندروید قسمت 1
وصل کردن دو دکمه-meq
دو دکمه را وصل کنید
حالت دیباگ در اندروید استودیو
حالت دیباگ در اندروید استودیو
به روز رسانی Data-7wg
بروزرسانی اطلاعات
یک متغیر را در برنامه به روز کنید
یک متغیر را در برنامه به روز کنید
متغیر کمیت به روز رسانی
متغیر کمیت به روز رسانی
متد increment() را اصلاح کنید
متد increment() را اصلاح کنید
متد ()decrement را اصلاح کنید
متد ()decrement را اصلاح کنید
کاری کنید که انتخاب کننده کمیت کار کند
کاری کنید که انتخاب کننده کمیت کار کند
تعمیر دکمه سفارش-
دکمه Order-jpHOZZ7G را برطرف کنید
Reflection-DW4rd
طرح طرح برای انتخاب کننده مقدار
طرح طرح برای انتخاب کننده مقدار
تو در تو ViewGroups
مشاهده نمودارهای سلسله مراتبی
مشاهده نمودارهای سلسله مراتبی
انتخاب درست XML Layout-IJIk
انتخاب چیدمان XML مناسب
طرح بندی انتخابگر کمیت را بسازید-
طرح بندی انتخاب کننده مقدار را بسازید
نوع داده رشته ای-n3YMNSw
نوع داده رشته ای
ایجاد متغیر رشته
متغیر رشته را ایجاد کنید
ترکیب رشته ها با هم
ترکیب رشته ها با هم
چت با برنامه نویس اندروید قسمت 2
ترکیب رشته و متغیرهای عدد صحیح
ترکیب رشته و متغیرهای عدد صحیح
متغیر رشته را به روز کنید
متغیر رشته را به روز کنید
تبریک میگم
مقدمه ای بر مجموعه تمرین 2
مقدمه ای بر مجموعه تمرین 2
اعلام و مقداردهی اولیه کنید
اعلام و مقداردهی اولیه کنید
عدد صحیح، عدد صحیح، بین
متغیر در حال پخش
نام پروفایل
استفاده از متغیرها
استفاده از متغیرها
زمان سفر
لیست خرید، یک بار دیگر
تبدیل ارز-9lOfmbBmx
دایرکتوری ایمیل
Scope-rfoDxZky5
جنگ کولا 1
جنگ کولا 3
معرفی زندگی سالم
زندگی سالم
دادگاه پیشخوان معرفی
دادگاه پیشخوان معرفی
مراحل
مراحل-_bePaOhf
راه اندازی روش ها
راه اندازی روش ها
برنامه ریزی متغیرهای شما-1HdMIcxm
برنامه ریزی متغیرهای خود
متغیر امتیاز را ایجاد کنید
متغیر امتیاز را ایجاد کنید
برنامه ریزی برای به روز رسانی Score-kOgF-UuD
برنامه ریزی برای به روز رسانی Score-xv-myoM
به روز رسانی Score-3_yrggjIl
به روز رسانی امتیاز
با دکمه های دیگر به روز رسانی کنید
به روز رسانی با دکمه های دیگر-uvywwsu-
تیم دیگر را در XML اضافه کنید
تیم دیگر را در XML اضافه کنید
تیم دیگر را اضافه کنید - جاوا
تیم دیگر را اضافه کنید - جاوا
برای اضافه کردن دکمه تنظیم مجدد برنامه ریزی کنید
دکمه Reset را اضافه کنید
دکمه Reset را اضافه کنید
آن را زیبا کنید
مطالعه Break PulsePoint
مقدمه
تعریف در مقابل فراخوانی یک روش
تعریف در مقابل فراخوانی یک روش
محاسبه قیمت روش-Ey-so53fv
روش محاسبه قیمت
یک روش تعریف کنید
یک روش تعریف کنید
ورودی های یک روش
ورودی های یک روش
افزودن یا حذف پارامترها
افزودن یا حذف پارامترها
خروجی از یک روش
خروجی از یک روش
از Return Value from Method استفاده کنید
از Return Value from Method استفاده کنید
یک متد را تعریف و فراخوانی کنید
یک متد را تعریف و فراخوانی کنید
روش displayMessage
روش displayMessage
منابع-VuafL9ME
شناسه های منابع
از XML تا Java-j-23
اشیاء جاوا چیست؟
کلاس جاوا چیست؟
یک شی بسازید
یک شی بسازید
روش‌های فراخوانی در Object-V74
روش های فراخوانی شی را تمرین کنید
روش های فراخوانی شی را تمرین کنید
رفتار ارثی - راه حل
رفتار ارثی
مشاهده بر اساس شناسه را پیدا کنید
ارسال با findViewById-
ارسال با findViewById
افزودن چک باکس
افزودن چک باکس
نوع داده بولی
نوع داده بولی
به روز رسانی خلاصه سفارش
به روز رسانی خلاصه سفارش
پیمایش در امتداد
پیمایش در امتداد
تاپینگ شکلاتی را اضافه کنید
مقدمه ای بر سندرم ایمپوستر
مونتاژ کارمندان گوگل
اسمت چیه
اسمت چیه
کد مشروط
کد مشروط
کد شرطی (ایمیل)
کد شرطی (اسموتی)
مقدمه ای بر IfElse
نحو IfElse-
نحو IfElse-
قیمت را با تاپینگ تنظیم کنید
قیمت را با تاپینگ تنظیم کنید
28q_تعداد منفی فنجان قهوه
28s_تعداد منفی فنجان قهوه
بگذارید شخص دیگری کار سخت را انجام دهد
با هدف تمرین کنید
با هدف تمرین کنید
محلی سازی-9K-okZ98
محلی سازی-SYrzvE
سبک ها
سبک ها
سبک ها
تم ها
در مورد آنچه انجام داده اید فکر کنید
مطالعه Break Peek Vision
شما (تقریبا) انجام شده-SB-ywfen
Intro-g34CvuW
نقشه دوره
نمای کلی Miwok App-NuCcTwT8
یک پروژه موجود را وارد کنید
ایجاد فعالیت های جدید
ایجاد فعالیت های جدید
فایل AndroidManifest.xml
از یک Intent برای باز کردن یک فعالیت دیگر استفاده کنید
از یک Intent برای باز کردن یک فعالیت دیگر استفاده کنید
مقاصد ضمنی در مقابل اهداف آشکار
مقاصد ضمنی در مقابل اهداف آشکار
تغییر نام فعالیت-o
مصاحبه آندریا
شنوندگان رویداد در اندروید
استفاده از جعبه ها برای توضیح OnClickListener
اینترفیس چیست
نحوه ایجاد شنونده رویداد
از OnClickListeners برای همه دسته ها استفاده کنید
از OnClickListeners برای همه دسته ها استفاده کنید
مصاحبه اریک گونزالس
انعکاس
نقشه دوره درس 2
زمان استفاده از آرایه ها - راه حل
زمان استفاده از آرایه ها
کار با آرایه
کار با Array-J
کلمات را به NumbersActivity اضافه کنید
کلمات را به NumbersActivity اضافه کنید
بررسی عناصر آرایه با Log Messages-Pae2
بررسی عناصر آرایه با Log Messages-Thj1E
کار با یک ArrayList
کار با یک آزمون ArrayList
کار با یک آزمون ArrayList
تغییر از Array به ArrayList-
از Array به ArrayList سوئیچ کنید
نماهای متنی را به چیدمان بر اساس فهرست اضافه کنید
معرفی حلقه ها
TextViews را به Layout با while Loop اضافه کنید
TextViews را به Layout با while Loop اضافه کنید
از حلقه For استفاده کنید
از حلقه For استفاده کنید
حافظه یک منبع محدود است-jNggLBdld
مشاهده بازیافت-2lcoB5
قیاس برای ListView
به استفاده از ListView و ArrayAdapter بروید
ListView و ArrayAdapter
مصاحبه آندریا
طرح بندی آیتم لیست را بسازید
-
زمان ایجاد یک کلاس سفارشی-IvoJ
زمان ایجاد یک کلاس Word سفارشی - Solution-DP
کلاس ورد سفارشی
کلاس ورد سفارشی
به یک ArrayAdapter سفارشی نیاز دارید
برنامه مثال با ArrayAdapter سفارشی
ArrayAdapter سفارشی
کلمات باقی مانده
مصاحبه اریک گونزالس
انعکاس
نقشه دوره درس 3
محدوده کار برای یک ویژگی جدید-ae5qR
محدوده کار برای یک ویژگی جدید
به چه ترتیبی باید تغییرات ایجاد کرد
به چه ترتیبی باید تغییرات ایجاد کرد
طرح بندی آیتم های فهرست را اصلاح کنید
طرح بندی آیتم های فهرست را اصلاح کنید
-lnKzuA4
افزودن دارایی های تصویری به برنامه
افزودن دارایی های تصویری به برنامه
مصاحبه آندریا
چگونه می توان کلاس Word را تغییر داد
چگونه می توان کلاس Word را تغییر داد
کلاس Word را تغییر دهید
کلاس Word را تغییر دهید
چند سازنده برای Word Class-qCb
چند سازنده برای کلاس Word
کلاس WordAdapter را تغییر دهید
کلاس WordAdapter را تغییر دهید
چگونه PhrasesActivity را رفع کنیم
چگونه PhrasesActivity را رفع کنیم
اصلاح PhrasesActivity برای مخفی کردن تصاویر-GS
برای مخفی کردن تصاویر، PhrasesActivity را اصلاح کنید
لهستانی بصری
لهستانی بصری
نحوه داشتن رنگ های مختلف پس زمینه برای آیتم های فهرست را برنامه ریزی کنید
نحوه داشتن رنگ های مختلف پس زمینه برای آیتم های فهرست را برنامه ریزی کنید
رنگ های مختلف پس زمینه برای موارد فهرست
رنگ های مختلف پس زمینه برای موارد فهرست
مصاحبه اریک گونزالس
انعکاس
درس 4 نقشه دوره-Yp
برنامه ریزی برای افزودن ویژگی صوتی-
نحوه اضافه کردن ویژگی صوتی را برنامه ریزی کنید
برنامه پخش کننده موسیقی
برنامه پخش موسیقی-i4CBhX
کلاس MediaPlayer
وضعیت های پخش کننده رسانه قسمت 1
وضعیت های پخش کننده رسانه قسمت 2
مدیریت رویدادهای لمسی در نمای فهرست
مدیریت رویدادهای لمسی در نمای فهرست
AdapterView
یک فایل صوتی را پخش کنید
یک فایل صوتی را پخش کنید
فایل های MP3 باقی مانده را اضافه کنید
فایل های MP3 باقی مانده را اضافه کنید
کدام فایل صوتی برای پخش
کدام فایل صوتی برای پخش
پخش فایل صوتی صحیح در هر کلمه
پخش فایل صوتی صحیح در هر کلمه
مصاحبه آندریا
تماس های غیر همگام در اندروید 1
تماس های غیر همگام در اندروید
پاکسازی منابع رسانه--peLvG
پاکسازی منابع رسانه ای
درک چرخه حیات فعالیت
درک پاسخ به تماس های فعالیت
نمونه برنامه با تماس های چرخه زندگی
Mediaplayer And Activity Lifecycle
Mediaplayer And Activity Lifecycle
درباره فوکوس صوتی بیاموزید
درباره فوکوس صوتی بیاموزید
سرویس AudioManager
فوکوس صوتی را درخواست کنید
فوکوس صوتی را درخواست کنید
وضعیت های فوکوس صوتی-Hy1HuPNWT
وضعیت های فوکوس صوتی-qb6C5-16
مدیریت فوکوس صوتی در برنامه
فوکوس صوتی را در App-tmC_XnJbE مدیریت کنید
نماد صوتی را به چیدمان آیتم فهرست اضافه کنید
نماد صوتی را به چیدمان آیتم فهرست اضافه کنید
بازخورد را برای نماهای قابل کلیک لمس کنید
بازخورد را برای نماهای قابل کلیک لمس کنید
انعکاس
معرفی
زلزله در کافی شاپ
کجا می توان داده های زلزله را پیدا کرد
کجا می توان داده های زلزله را پیدا کرد
دریافت ماکت از طراح ما-
نقشه دوره
وب سایت USGS را به عنوان کاربر-ImJal کاوش کنید
وب سایت USGS را به عنوان یک کاربر کاوش کنید
درایو از طریق داده
وب سایت USGS را به عنوان توسعه دهنده-454Ltc0pu کاوش کنید
وب سایت USGS را به عنوان یک توسعه دهنده-B1Za کاوش کنید
واردات پروژه موجود
نمایش اطلاعات بیشتر در مورد هر زلزله
نمایش اطلاعات بیشتر در مورد هر زلزله
مروری بر JSON
اجزای JSON
اجزای JSON
پیمایش گره ها در درخت شیء JSON
پیمایش گره ها در درخت شیء JSON
تجزیه JSON در اندروید
تجزیه JSON در Android-Qp9Gm
به نتیجه پرس و جو زلزله نگاه کنید
به نتیجه پرس و جو زلزله نگاه کنید
عبور از زلزله JSON Object Tree
عبور از زلزله JSON Object Tree
پاسخ JSON را در برنامه Quake Report تجزیه کنید
سوئیچ بیانیه
سوئیچ بیانیه
مقدمه
مقدمه ای بر شبکه-1
مقدمه ای بر شبکه سازی قسمت 2
مجوزها در Android-oa
مجوزها در اندروید
پروتکل انتقال ابرمتن (HTTP)
URL درخواست HTTP
URL درخواست HTTP
شی URL
شی URL
اتصال HttpURLC
معماری سیستم اندروید
انواع روش درخواست HTTP
دریافت درخواست در Soonami app-J
دریافت درخواست در Soonami app-LcU
ایجاد ارتباط
ایجاد ارتباط
کدهای پاسخ HTTP
کدهای پاسخ HTTP
کد پاسخ HTTP را در Soonami App-1a بررسی کنید
کد پاسخ HTTP را در برنامه Soonami بررسی کنید
خواندن از یک جریان ورودی
خواندن از یک جریان ورودی-mn_
StringBuilder (قسمت 1)
StringBuilder (بخش 2)-8zOwVyi9
استثناها
TryCatchFinally Block را امتحان کنید
با TryCatch Statements-mx تمرین کنید
با بیانیه های TryCatch تمرین کنید
خطاهای ثبت نام
خطاهای ثبت نام
تبریک می گویم
Intro-TMQO
آیا شما آن را احساس کردید App-V7or
آیا شما آن را احساس برنامه
موضوع اصلی در مقابل موضوع پس زمینه قسمت 1
موضوع اصلی در مقابل موضوع پس زمینه قسمت 2
Async Task To The Rescue
روش‌های پاسخ به تماس AsyncTask
روش‌های پاسخ به تماس AsyncTask
بررسی ژنریک
AsyncTask Generic Parameters-IVxgLW8fW
پارامترهای عمومی AsyncTask
کلاس های داخلی
برنامه Did You Feel It را برطرف کنید
برنامه Did You Feel It را برطرف کنید
برنامه ریزی تغییرات در برنامه گزارش زلزله
برنامه ریزی تغییرات در برنامه گزارش زلزله
پارامترهای عمومی AsyncTask در برنامه Quake Report
پارامترهای عمومی AsyncTask در برنامه Quake Report
محدودیت های AsyncTask
محدودیت های AsyncTask
مقدمه لودر قسمت اول
مقدمه لودر قسمت اول
مقدمه ای بر لودرها قسمت دوم
معرفی قسمت دوم لودرها-Jc5S
به استفاده از لودر بروید
بررسی رفتار لودر-
بررسی رفتار لودر
وضعیت خالی فهرست
نشانگر بارگذاری
بدون اتصال به اینترنت
بدون اتصال به اینترنت
وضعیت اتصال شبکه را بررسی کنید
تبریک میگم
مقدمه
معرفی پناهگاه حیوانات - مصاحبه با جسیکا
مقدمه قسمت 2
نقشه دوره
مشکل چیست
مشکل چیست
چرا ماندگاری داده مهم است؟
حافظه کامپیوتر
گزینه های مختلف ذخیره سازی داده ها
گزینه های مختلف ذخیره سازی داده ها
صفحات گسترده و جداول
صفحات گسترده و جداول-x-PGO3Aq
جداول-7
جداول
پایگاه های داده SQLite در اندروید-
باز کردن SQLite برای اولین بار-uXsK95P
انواع در SQLite
انواع در SQLite
طراحی و ایجاد پایگاه داده
نکات سریع SQL
بررسی اجمالی CRUD
CRUD Action Quiz A
CRUD Action Quiz B
CRUD Action Quiz C-1yuNadkO
CRUD Action Quiz D
CRUD Action Quiz E
CRUD Action Quiz F
داده ها را در یک پایگاه داده وارد کنید و آن را انتخاب کنید
محدودیت های جدول
SELECT، WHERE، و ORDER_BY
SELECT، WHERE، و ORDER_BY
به روز رسانی (1)
حذف
خلاصه
انعکاس
مقدمه درس 2
واردات پروژه موجود-
واردات پروژه موجود
مراحل ایجاد پایگاه داده
طرحواره را شناسایی کنید
طرحواره را شناسایی کنید
قرارداد کلاس 8qQ_a چیست
کلاس قرارداد چیست
قرارداد را ایجاد کنید
قرارداد را ایجاد کنید
نام های ثابت را بررسی کنید
ایجاد پایگاه داده با SQLiteOpenHelper
ایجاد پایگاه داده با SQLiteOpenHelper
دریافت اتصال به پایگاه داده
فایل پایگاه داده را از دستگاه بکشید
شی پایگاه داده SQLite و درج Data-sVewFHI_h
درج Dummy Pet از آیتم منو
درج Dummy Pet از آیتم منو
درج حیوان خانگی از ویرایشگر
درج Dummy Pet از ویرایشگر
روش پرس و جو پایگاه داده
روش پرس و جو پایگاه داده-vhAV9X
مکان نما چیست
از روش پرس و جو پایگاه داده استفاده کنید
از روش پرس و جو پایگاه داده استفاده کنید
مدیریت یک شی مکان نما
مدیریت یک شی مکان نما
مقادیر را از مکان نما بخوانید
مقادیر را از مکان نما بخوانید
خلاصه درس 2
انعکاس
مقدمه ای بر ارائه دهندگان محتوا
چرا از Content Providers-5pqocYW استفاده کنید
چرا از ارائه دهندگان محتوا استفاده کنید
از Case برای به اشتراک گذاری داده های حیوان خانگی استفاده کنید
غواصی در ارائه دهندگان محتوا
غواصی در ارائه دهندگان محتوا
ContentProvider را به برنامه حیوانات خانگی اضافه کنید
ContentProvider را به برنامه حیوانات خانگی اضافه کنید
عملیات ContentProvider
عملیات ContentProvider
طراحی URI محتوای حیوان خانگی
طراحی URI محتوای حیوان خانگی
از کدام URI محتوا استفاده شود
از کدام URI محتوا استفاده شود
URImatcher
URImatcher را به ContentProvider اضافه کنید
URImatcher را به ContentProvider-LasnaU_ اضافه کنید
روش ContentProvider Query() را پیاده سازی کنید - دستورالعمل ها
روش ContentProvider Query() را پیاده سازی کنید
با استفاده از روش ContentProvider Query()
با استفاده از روش ContentProvider Query()
از Case برای جستجوی داده های پناهگاه حیوانات خانگی استفاده کنید
روش Insert() ContentProvider
چک سلامت-n2h5SNX3
خلاصه درس 3
ارائه دهنده مخاطبین
انعکاس
مقدمه درس 4
معرفی CursorAdapter
یک CursorAdapter را پیاده سازی کنید
یک CursorAdapter-Df9aDwl را پیاده سازی کنید
معرفی CursorLoader
با استفاده از CursorLoader
با استفاده از CursorLoader
CursorLoading به طور خودکار بارگیری می شود
از EditorActivity برای ویرایش حیوانات خانگی نیز استفاده کنید
از EditorActivity برای ویرایش حیوانات خانگی نیز استفاده کنید
خلاصه درس 4
برنامه Google Keep
تبریک می گویم

45,900 تومان
بیش از یک محصول به صورت دانلودی میخواهید؟ محصول را به سبد خرید اضافه کنید.
خرید دانلودی فوری

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

ایمیل شما:
تولید کننده:
شناسه: CO239
حجم: 9136 مگابایت
مدت زمان: 3075 دقیقه
تعداد دیسک: 3 عدد
زیرنویس انگلیسی: دارد
زبان: انگلیسی ساده و روان
تاریخ انتشار: 19 دی 1397
دوره یادگیری Android از Udacity
دوره یادگیری Android از Udacity 1
دوره یادگیری Android از Udacity 2
دوره یادگیری Android از Udacity 3
دوره یادگیری Android از Udacity 4
دوره یادگیری Android از Udacity 5
دوره یادگیری Android از Udacity 6
دسته بندی محصول
طراحی سایت و خدمات سئو

45,900 تومان
افزودن به سبد خرید