مدت :

۱۸ ساعت

قیمت : ۳۹۸,۰۰۰ تومان
LinkedIn
Twitter
Facebook
Telegram

درباره مدرس 

اطلاعات دوره

توضیحات

ساخت اپلیکیشن موبایل و دسکتاپ با پایتون با یک بار کدنویسی رویای شیرینی است. به کمک کتابخانه کیوی (Kivy) این رویا را تجربه می‌کنید. پیش از این، سه آموزش برنامه نویسی Kivy برای توسعه کراس پلتفرم با پایتون در هم رویش منتشر گردید. تولید خروجی دسکتاپ و اندروید با پایتون را در این سه آموزش تجربه کردید و اکنون این بسته در واقع شامل هر سه این آموزش‌ها به صورت یکجا است:

1- بسته مقدماتی آموزش برنامه نویسی کیوی (+)

2- آموزش KivyMD برای زیباسازی اپلیکیشن‌های کیوی (+)

3- ساخت یک پروژه واقعی با کیوی از صفر تا صد (کار با دبتابیس و API و سنسور و …)  (+)

 

کیوی چیست؟

کیوی به انگلیسی Kivy یک کتابخانه متن باز پایتون است. است. به کمک کیوی می‌توان یک برنامه را یک بار به زبان پایتون نوشت و خروجی آن را برای موبایل و دسکتاپ تولید کرد. اپ شما روی گوشی‌های اندروید و iOS و همین طور روی سیستم‌های ویندوز و مک و لینوکس و حتی دستگاه‌های رزبری پای قابل اجرا خواهد بود.

 

 

آنچه در این بسته می‌آموزید

بخش اول این بسته (آموزش مقدماتی کیوی) شامل ۱۶ درس و مجموع ۶ ساعت است. در این بخش به آموزش برنامه نویسی کیوی از صفر می‌پردازیم. ریز توضیحات این بخش را در این صفحه (+) بخوانید.

بخش دوم این بسته (آموزش KivyMD) شامل ۱۵ درس و مجموع ۶ ساعت است. در این بخش یاد می‌گیریم که چطور اپلیکیشن‌های زیباتری با کیوی بسازیم. در واقع ساخت اپلیکیشن متریال با کیوی را می‌آموزیم. ریز توضیحات این بخش را هم در این صفحه (+) بخوانید.

بخش سوم این بسته جمع بندی دو بخش قبل است. در این بخش در ۱۸ درس و حدود ۶ ساعت به اجرای یک پروژه می‌پردازیم. آنچه در دو بخش قبل یاد گرفته‌ایم را عملی می‌کنیم. یک اپلیکیشن واقعی را از صفر با Kivy و KivyMD می‌سازیم. ریز توضیحات این بخش هم در این صفحه (+) بخوانید.

 

این بسته بی‌نظیر است زیرا
  • هم مفهوم محور و هم پروژه محور است.
  • پلتفرمی را می‌آموزید که حمایت ویژه بنیاد پایتون را دارد.
  • خروجی اپ اندروید با پایتون و بیلدوزر را می‌آموزید که به iOS نیز قابل تعمیم است.
  • خروجی اپ ویندوز با پایتون را می‌آموزید که به دسکتاپ‌های دیگر قابل تعمیم است.

 

آموزه‌های اصلی

مفاهیم و مهارت‌های تخصصی اصلی مطرح در این بسته آموزش برنامه نویسی Kivy به شرح زیر هسنتد:

  • نصب کیوی روی ویندوز و لینوکس
  • آشنایی با ویجت ها در کیوی
  • مدیریت رویداد کلیک و لمس صفحه
  • آشنایی با زبان طراحی UI در کیوی
  • ایجاد خروجی exe و خروجی ویندوز
  • تولید فایل apk و خروجی اندروید
  • آموزش PyInstaller و آموزش Buildozer
  • تولید APK امضا شده اندروید برای ارسال به مارکت ها
  • آموزش KivyMD و اصول طراحی متریال دیزاین
  • ایجاد Navigation Drawer و Toast در کیوی
  • کار با Toolbar در کیوی
  • آشنایی با Kivy Garden استفاده از آن
  • آموزش استفاده از Map در کیوی
  • کار با دیتابیس SQlite در کیوی
  • کار با API در پایتون و کیوی
  • ساخت ویجت سفارشی در کیوی
  • اصول برنامه نویسی اندروید با پایتون
  • کار با Animation و Canvas در کیوی
  • استفاده از تجهیزات سخت افزاری گوشی ها مثل GPS

 

پیشنیاز

اگر در برنامه نویسی مبتدی هستید، توصیه می‌کنیم آموزش جامع زیر را تهیه و مشاهده کنید. درس‌های این دوره بر اساس یک مرجع جهانی و بسیار کوتاه هستند. می‌توانید با فاصله زمان یک هفته این آموزش و سپس همزمان با پیشروی روزانه آن آموزش کیوی را شروع کنید.

آموزش جامع برنامه نویسی پایتون

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

آموزش سریع و رایگان پایتون در ۲ ساعت

 

عبارت‌های کلیدی

آموزش کیوی | آموزش برنامه نویسی Kivy | فیلم آموزش کیوی. آموزش فارسی کیوی | اپلیکیشن متریال با پایتون | برنامه نویسی چندسکویی با پایتون | برنامه نویسی موبایل با پایتون | برنامه نویسی اندروید با پایتون | برنامه نویسی ios با پایتون| برنامه نویسی ویندوز با پایتون | برنامه نویسی لینوکس با پایتون|

سرفصل مطالب

سرفصل مطالب

بخش اول: آموزش اصول برنامه نویسی کیوی

درس اول: نصب Kivy روی ویندوز
– بررسی وجود python روی سیستم
– بررسی وجود pip روی سیستم
– نصب/روزآمدی pip و virtualenv
– نصب کتابخانه‌های پیش‌نیاز kivy
– نصب kivy و نمونه مثال‌های آن
– اجرای یگی مثال‌های خودآموز kivy

درس دوم: نصب Kivy روی لینوکس
– آماده سازی محیط و نگارش مورد نظر لینوکس
– شیوه نصب با Anaconda و دستور cond
– شیوه نصب با Software Packages
– شیوه نصب دستی با نصب کتایخانه‌های پیش نیاز
– نصب کتابخانه‌های SDL و دیگر پیش‌نیازها
– نصب دستی pip و سپس cython و kivy
– دریافت مثال‌های کیوی از گیت هاب آن
– اجرای نمونه مثال بازی پینگ پنگ در بخش راهنمای کیوی

درس سوم: ایجاد اولین اپلیکیشن با کیوی
– استفاده از Text Editor برای کدنویسی از پایه
– ایجاد اولین فایل و آزمون شناخت ماژول kivy
– آشنایی با کلاس App و Label
– آشنایی با متد run و build
– آشنایی با مفهوم __name__ و __main__ در پایتون
– اجرای نخستین پروژه و بررسی صفحه

درس چهارم: کار با Layout و Widget در کیوی
– مفهوم لیوت (Layout) و ویجت (Widget)
– آشنایی با GridLayout در کیوی (Kivy)
– ایجاد یک کلاس اختصاصی MyGrid به عنوان لیوت
– کار با TextInput برای دریافت ورودی از کاربر
– ماهی‌گیری به جای ماهی: آشنایی با مستندات API کیوی
– تعریف تمرین برای گسترش مهارت

درس پنجم: کار با دکمه و رویداد کلیک در Kivy
– افزودن دکمه (Button) به پروژه
– تعریف تابع (callback) کلیک دکمه
– مقید کردن (bind) دکمه به تابع بازگشتی کلیک
– آشنایی با BoxLayout و وزن دهی به ویجت‌ها
– آشنایی با ویژگی‌های font_size و size_hint
– آشنایی با ویژگی‌های spacing و padding

درس ششم: طراحی UI کیوی با Kivy Design Language
– مفهوم Separation of Concerns
– توجیه وجود پارادایم‌های mvc، mvp و mvvm
– آشنایی با زبان طراحی کیوی (Kivy Design Language)
– جداسازی UI و منطق در یک پروزه نمونه کیوی

درس هفتم: کار با پراپرتی (Property) در کیوی
– معرفی کلاس Property و مشتقات آن در مرجع کیوی
– نگاهی به الگوی مشاهده‌ کننده (Observer Pattern) در OOP
– تعریف Property در کلاس و بخش طراحی
– مقید (bind) کردن InputText ها به پراپرتی‌های کلاس
– تعریف تابع کلیک دکمه (on_press) برای نمایش پراپرتی

درس هشتم: کار با FloatLayout و Class Rule در کیوی
– افزودن کلاس FloatLayout به پروژه کیوی
– تعریف FloatLayout در فایل استایل (.kv)
– تنظیم قاعده استایل (Class Rule) برای دکمه‌های فرزند
– تنظیم رنگ متن و پس زمینه دکمه‌ها در فایل استایل
– آشنایی کوتاه با RGBA و نحوه تنظیم رنگ بر اساس آن در کیوی
– تنظیم ویژگی متن دکمه به صورت پویا بر اساس وضعیت (State)

درس نهم: پاسخ به رویداد Touch در Kivy

– معنی پارارایم Even-based در برنامه نویسی
– بررسی مستندات وبسایت kivy.org در مورد رویدادها (Events)
– توابع on_touch_down و on_touch_up و on_touch_move
– دریافت مختصات نسبی و مطلق محل کلیک یا لمس کاربر
– کار با ویجت‌ها با ترکیب ویژگی‌های Property و توابع Event
– تغییر رنگ پس زمینه دکمه بر اساس رویداد ورودی کاربر در صفحه

درس دهم: ایجاد یک اپلیکیشن نقاشی ساده با Kivy
– آشنایی با ویژگی Canvas در Widget های کیوی
– آشنایی با کلاس Rectangle و ایجاد یک مستطیل
– آشنایی با کلاس Color و تعریف رنگ با پروتکل RGB
– آشنایی با کلاس Ellipse و ایجاد بیضی و دایره
– تعریف اشیای گرافیکی در متد __init__
– تعریف پویای اشیای گرافیکی در متدهای Touch
– تعریف تصادفی رنگ با تابع random

درس یازدهم: آشنایی با Screen Manager و حرکت بین صفحه‌های اپلیکیشن
– بررسی Screen و Screen Manager در مرجع کیوی
– تعریف یک اپلیکیشن چند صفحه‌ای
– آشنایی با کلاس Builder در کیوی
– طراحی صفحه ‌های اپلیکیشن در فایل kv.
– تعریف کلاس‌های مدیریت صفحه‌ها
– تعریف رویداد کلیک دکمه برای حرکت بین سفحه‌ها

درس دوازدهم: بازطراحی اپلیکیشن نقاشی با Clear و صفحه About
– تعریف ساختار پروزه و صفحه‌های آن
– بررسی اهداف پروژه در آموزش کیوی
– طراحی کلاس پایتون مرکزی پروژه
– طراحی فایل استایل و تعریف صفحه‌ها در آن
– طراحی صفحه درباره اپلیکیشن
– جداسازی canvas و نوار ابزار در صفحه اصلی
– تعریف عملکرد برای دکمه About
– تعریف عملکرد دکمه Clear برای پاک کردن صفحه
– تجمیع آموخته‌های قبلی در قالب یک ساختار

درس سیزدهم: تولید فایل exe از پروژه کیوی برای نصب در ویندوز
– معرفی و نصب کتابخانه pyInstaller
– بررسی مراحل استخراج فایل exe از فایل های پایتون
– ایجاد فایل مشخصات (spec) به کمک pyInstaller
– ویرایش فایل spec ویژه پروژه‌های kivy
– استخراج فایل exe مرتبط با کتابخانه‌های همراه در dist
– روش باندل تمام پروژه کیوی در قالب یک فایل exe
– تعریف پروژه تمرینی برای مهارت آموزی فراگیر

درس چهاردهم: تبدیل پروژه Kivy به پروژه اندروید و تولید APK
– اشنایی با Buildozer و کاربرد آن
– آشنایی با Python for Android
– آشنایی با اپلیکیشن Kivy Launcher
– نصب کتابخانه‌های پیش نیاز Buildozer
– نصب Buildozer با دریافت نسخه آخر از گیت هاب
– اجرای دستور buildozer init و بررسی فایل buildozer.spec
– تنظیمات فایل spec مانند نام اپ، نسخه API و …
– اجرای دستور buildozer debug برای تولید پروژه اندروید و APK
– بررسی چالش‌ها و مزیت‌های استفاده از Buildozer

درس پانزدهم: اجرای پروژه Kivy روی گوشی اندرویدی و تولید APK امضا شده
– اشنایی با Buildozer و کاربرد آن
– آشنایی با Python for Android
– آشنایی با اپلیکیشن Kivy Launcher
– نصب کتابخانه‌های پیش نیاز Buildozer
– نصب Buildozer با دریافت نسخه آخر از گیت هاب
– اجرای دستور buildozer init و بررسی فایل buildozer.spec
– تنظیمات فایل spec مانند نام اپ، نسخه API و …
– اجرای دستور buildozer debug برای تولید پروژه اندروید و APK
– بررسی چالش‌ها و مزیت‌های استفاده از Buildozer

درس شانزدهم: معرفی منابع یادگیری و ایده‌های جذاب توسعه کیوی
– بررسی منابع مطالعاتی در بخش Help کیوی
– بررسی منابع دریافت راهنمایی آنلاین از تیم توسعه کیوی
– معرفی پروژه ها و پلتفرم‌های جذاب توسعه کیوی
– ارزیابی کیفیت توسعه چندسکویی Kivy و استفاده بهینه

——————————————-

بخش دوم – آموزش KivyMD برای ساخت اپلیکیشن‌های متریال با کیوی

درس صفر: معرفی دوره

درس اول: آشنایی با KivyMD
– یک نگاه اولیه به KivyMD
– معرفی صفحه گیت هاب KivyMD
– معرفی صفحه‌های مرجع مستندات KivyMD
– سازندگان و تاریخچه توسعه KivyMD

درس دوم: متریال دیزاین چیست؟
– معرفی Material Design و مفهوم آن
– معرفی وب سایت رسمی طراحی متریال
– متریال دیزاین شامل اصول طراح است
– متریال دیزاین کامپوننت‌هایی هم پیشنهاد می‌کند
– بررسی یک نمونه از کامپوننت‌های متریال
– طراح متریال کیست و ابزار طراحی متریال چیست

درس سوم: اپلیکیشن دموی KivyMD
– کلون کردن پروژه KivyMD از گیت هاب
– نصب KivyMD با استفاده از setup.py
– اجرای اپلیکیشن Kitchen Sink
– بررسی ویجت های KivyMD در پروژه مذکور

درس چهارم: ایجاد پروژه و نصب KivyMD
– تعیین روش و ابزار برنامه نویسی پروژه پایتون
– بررسی شیوه نصب KivyMD در صفحه گیت هاب آن
– نصب کیوی و پیش‌نیازهای آن
– نصب PIL از فورک Pillow
– نصب KivyMD با استفاده از pip

درس پنجم: اولین کد KivyMD و مقایسه با Kivy
– یادآوری یک کد پایه از کیوی
– بازنویسی کد با کیوی با KivyMD
– آشنایی با کلاس MDAPP و MDLabel
– بررسی کدی برای طراحی متریال یک دکمه با کیوی پایه
– بازنویسی کد مذکور با دکمه متریال KivyMD

درس ششم: قالب‌دهی متریال – بخش اول: رنگ‌ها
– قالب دهی متریال یا Material Theming چیست؟
– آشنایی با اصول رنگ بندی اپلیکیشن در طراحی متریال
– مفهوم رنگ Primary و Secondary و Accent و Surface و Background و Error
– مفهوم رنگ های دارای پیشوند on مانند On Primary و … در طراحی متریال
– آشنایی با ویژگی theme_cls در KivyMD
– آشنایی با ویژگی primary_palette و accent_palette
– آشنایی با تنظیم hue در KivyMD
– تنظیم رنگ Text با Markup
– تعریف رنگ با پروتکل RGBA
– فراخوانی theme_cls از داخل بخش طراحی kv
– آشنایی با کلاس تعریف رنگ ها در KivyMD
– نحوه ارث بری و تعریف Rule برای ایجاد ویجت اختصاصی
– بررسی یک نمونه کد از مستندات KivyMD

درس هفتم: قالب‌دهی متریال – بخش دوم: آیکن‌ها
– مروری به System Icon و قواعد و نکات طراحی آیکن متریال در وبسایت material.io
– بررسی آیکن‌های متریال دیزاین گوگل و نحوه استفاده از آن‌ها
– بررسی وب سایت materialdesignicons که آیکن‌های متریال را ارائه کرده
– بررسی آیکن‌های متریال درونی KivyMD
– ویزگی icon برای تنظیم آیکن متریال به عنوان آیکن یک ویجت
– نحوه استفاده از آیکن اختصاصی در KivyMD
– بررسی اپلیکیشن نمونه KivyMD برای فهرست آیکن‌ها و نیز کار با Recycler

درس هشتم: قالب‌دهی متریال – بخش سوم: فونت
– مروری به قواعد طراحی فونت متریال در وب سایت material design
– استفاده از فونت های گوگل و Type system پیشنهادی متریال دیزاین
– بررسی دقیق نحوه تعریف نوع و استایل فونت ها در KivyMD
– آشنایی با theme_font_style و font_styles در ماژول theming
– راهکار تعویض پک فونت ها در KivyMD
– تغییر نوع و اندازه فونت ویجت ها به صورت موردی در KivyMD
– تعریف font_style برای MDLabel در KivyMD

درس نهم: استفاده از فونت فارسی در Kivy و KivyMD
– مشکل زبان فارسی در کیوی
– معرفی کتابخانه arabic_reshaper
– معرفی کتابخانه python_bidi
– استفاده از فونت فارسی در کیوی kivy
– استفاده از فونت فارسی در kivymd
– ایمپورت import کردن کتابخانه در استایل فایل کیوی
– جایگزینی فونت های پیش فرض کیوی با فونت فارسی
– فونت فارسی در MDLabel و MDRectangleFlatButton
– مشکل فونت فارسی در MDTextField
– معرفی کتابخانه MDTextFieldPersian
– جمع بندی فونت فارسی در کیوی و ایده پردازی

درس دهم: کار با Toast و نمایش پیام pop-up
– ;کاربرد Toast در اپلیکیشن‌ها با ذکر یک مثال
– پیاده سازی رویداد on_release برای یک دکمه
– استفاده از تابع toast در KivyMD
– نمایش toast با متن و مدت زمان دلخواه در پاسخ به کلیک دکمه

درس یازدهم: کار با Toolbar در بالا و پایین اپلیکیشن
– مروری به Appbar در طراحی متریال
– معرفی MDToolbar در KivyMD
– تنظیم آیکن منوی کشویی در تولبار
– تنظیم آیکن‌های سمت راست برای مثلا جستجو یا اشتراک گذاری
– تنظیم callback برای پاسخ به رویداد کلیک روی گزینه های تولبار
– استفاده از MDBottomAppBar برای نوار پایین صفحه
– استفاده از تنظیم دکمه مرکزی به صورت پیوسته یا شناور در تولبار پایین
– تنظیم رنگ پس زمینه و زنگ متن تولبار و آیکن های گزینه ها

درس دوازدهم: کار با Navigation Drawer
– معرفی کامپوننت Navigation Drawer یا منوی کشویی در طراحی متریال
– آشنایی با ساختار NavigationLayout و NvigationDrawer در KivyMD
– پیاده سازی یک اپلیکیشن با دو صفحه و منوی کشویی برای انتقال بین صفحه ها در کیوی و KivyMD
– قرار دادن آیکن برای گزینه های NavDraw در KivyMD
– طراحی هدر برای منوی کشویی شامل عکس برند و تیتر اپ
– بررسی Bottom Navigation و تفاوت آن با Navigation Drawer و Bottom Toolbar در کیوی

درس سیزدهم: ساخت انواع Dialog
– آشنایی با یک نمونه کد آماده از مستندات KivyMD
– آشنایی با MDDialog برای نمایش پیام به کاربر
– آشنایی با MDInputDialog برای دریافت ورودی از کاربر

درس چهاردهم: بررسی دیگر کامپوننت‌های KivyMD
– مروری بر اصول کامپوننت‌ها و آنچه یاد گرفتیم
– نکاتی پیرامون شیوه درست به کارگیری یک ابزار مثل کتابخانه KivyMD
– تمرین بررسی کامپوننت‌های KivyMD در گیت هاب و وب سایت readthedocs

درس پانزدهم: بررسی پروژه نمونه KivyMD و جمع بندی
– نکات مثبت و نحوه بررسی پروژه نمونه
– دریافت و راه اندازی پروزه Kitchen Sink
– برریس ساختار پروژه نمونه به صورت کلی
– جمع بندی دوره و نکات مهم پیرامون خود یادگیری و ادامه مسیر

——————————————-

بخش سوم – آموزش اجرای یک اپلیکیشن از صفر تا صد با کیوی

درس صفر: معرفی دوره
– نگاهی به اپلیکیشن در پایان دوره
– فراگیران و پیشنیاز دوره
– مهم ترین مطالبی که می‌اموزیم
– نمایی از درس‌های مختلف دوره

درس یک: نصب ابزار و راه اندازی پروژه
– ایجاد پروژه و توضیح در مورد ابزار کدنویسی (هر IDE که راحت هستید)
– نصب پیش نیاز های کیوی
– نصب Kivy و Kivy-Garden
– نصب پیش نیاز های KivyMD
– نصب KivyMD
– ایجاد کلاس main و اولین اجرای آزمایشی پروژه

درس دو: ایجاد نقشه
– آشنایی با پروژه Garden و صفحه Kivy-Garden
– آشنایی با کتابخانه MapView در کیوی
– نصب MapView با دستور garden
– ایجاد کلاس servicesmapview در پایتون و kv
– ارث بری نقشه از MapView
– تنظیم lat و lon و zoom اولیه خاستگاه نقشه
– نمایش نقشه در صفحه در موقعیت خاستگاه دلخوان

درس سه: مدیریت رویدادهای بزرگنمایی و جابجایی نقشه
– آشنایی با تابع (Callback) بزرگنمایی یا on_zoom
– lat چیست ؟ lon چیست ؟ مفهوم latitude و longitude
– آشنایی با متد on_lat و on_lon و شخصی سازی آن در نقشه کیوی
– آشنایی با کلاس Clock و تابع schedule_once برای ایجاد زمان سنج (timer)
– واکنش تاخیری به رویداد جابجایی نقشه به کمک تایمر

درس چهار: ایجاد پایگاه داده
– اشنایی با ساختار اطلاعات مورد استفاده
– چطور مجموعه اطلاعات را به دیتابیس تبدیل کنیم
– ایجاد یک پایگه داده نوع اسکیولایت Sqlite
– ایجاد جدول در Sqlite
– وارد کردن داده ها در Sqlite
– مفهوم Primary Key و Foreign Key با یک مثال
– نکاتی پیرامون وارد کردن داده های پرحجم با import کردن csv

درس پنج: فراخوانی پایگاه داده
– تابع onStart در کیوی چه می کند؟
– آشنایی با تابع get_bbox برای دریافت lat و lot نقشه
– آشنایی با ماژول sqlite3 پایتون
– آشنایی با تابع connect از ماژول sqlite3
– آشنایی با تابع cursor روی دیتابیس در پایتون
– آشنایی با متد get_running_app در کیوی
– مقدمه‌ای به زبان SQL و معرفی مرجع آموزشی خوب
– نوشتن عبارت SQL برای SELECT به صورت شرطی
– فراخوانی داده ها از پایگاه داده ونمایش با تغییر موقعیت نقشه

درس ششم: نمایش مکان‌ها روی نقشه
– ایجاد تابع برای افزودن marker به نقشه
– استفاده از کلاس MapMarkerPopup برای ایجاد مارکر
– استخراج lat و lon از داده های استخراجی پایگاه داده
– نمایش مارکر با lat و lon مشخص
– افزودن مارکر به نقشه با تابع add_widget

درس هفتم: جلوگیری از ترسیم چند مارکر در یک مکان
– تعریف متغیر سراسری برای ذخیره مارکرهای ترسیم شده
– افزودن شرط ترسیم مارکر در صورت نبودن مارکر در نقشه

درس هشتم: نمایش دیالوگ با کلیک روی مارکر
– ساختار دیالوگ مورد نظر
– افزودن داده ها به مارکرهای ترسیم شده
– ارث بری از BaseDialog و ایجاد دیالوگ متریال دلخواه
– ایجاد کلاس ServicesMarkerPopup برای نمایش دیالوگ
– کار با تابع setattr در پایتون
– آشنایی با ماژول webbrwoser در پایتون
– نمایش دیالوگ با on_release مارکر

درس نهم: ایجاد نوار ابزار یا Toolbar
– یادآوری MDToolbar از KivyMD
– تنظیم ویژگی های md_bg_color و title
– تنظیم right_action_items برای افزودن گزینه جستجو در تولبار

درس دهم: نمایش دیالوگ جستجو
– چطور باید دیالوگ جستجو را مدیریت کنیم؟
– استفاده از MDInputDialog موجود در KivyMD
– شخصی سازی دیالوگ با ارث بری
– نمایش دیالوگ در پاسخ به lambda x گزینه جستجو

درس یازدهم: جستجوی نشانی با Geocoding
– مفهوم Geocoding چیست
– معنی Reverse Geocoding چیست
– خدمات Geocoder API چیست
– آشنایی با برخی سرویس دهنده های API نقشه
– آشنایی با سرویس Geocoding در گوگل و Here
– آشنایی با یک سرویس نقشه ایرانی
– ثبت نام و دریافت API Key از سرویس دهنده
– پیاده سازی درخواست API یا Endpoint در پایتون
– استفاده سریع از urllib پایتون و Request برای فراخوانی url
– اضافه کردن header به url در هنگام درخواست در پایتون
– خواندن محتوای url با urlopen و نمایش ساختار Json
– تجزیه Json و خزش پله پله برای رسیدن به مختصات جغرافیایی

درس دوازدهم: انتقال نقشه به محل جستجو شده
– – مرور دو درس گذشته
– پیاده سازی events_callback برای رویداد کلیک دیالوگ
– گرفتن متن جسجوی کاربر از Input Dialog
– استفاده از parse ماژول urllib پایتون برای تصحیح استرینگ در url
– استفاده از کلاس UrlRequest در ماژول network کیوی
– پیاده سازی کالبک های on_success و on_error و on_failure
– تنظیم Header به صورت Dictionary و ارسال کلید API
– تنظیم Header و مجوز SSL هنگام ارسال URL Request
– فرق json.load و json.dumps برای تجزیه json
– استخراج موقعیت جغرافیایی نقطه مورد جستجو
– اشاره به شی نقشه یا MapView با استفاده از Root.IDS در کیوی
– انتقال نقشه به نقطه جدید با on_center در Kivy Garden

درس سیزدهم: زیباسازی و اصلاح کاربری
– تصحیح عنوان اپلیکیشن
– تغییر primary palette یا رنگ اصلی اپلیکیشن
– تصحیح آیکن مارکرها (تغییر تصویر Marker)
– جلوگیری از باز شدن صفحه کلید مجازی در گوشی
– جلوگیری از ارسال Request در صورت خالی بودن متن
– خالی کردن متن جستجو پس از جابجایی نقشه
– تغییر عنوان یا Title دیالوگ جستجو

درس چهاردهم: تولید APK اندروید
– راه اندازی Buildozer با دستور init
– تنظیم فایل buildozer.spec برای مشاهده logcat
– رفع خطای Module Not Found
– رفع خطای شناسایی دیتابیس sqlite
– رفع خطای مجوز دسترسی یا permission
– روزآمدی ndk گوگل و sdk در صورت نیاز
– اجرای پروژه روی گوشی همزمان با خروجی apk
– بررسی مستمر خطاها و رفع و راهکاراها

درس پانزدهم: ایجاد نشانگر برای GPS
– مقدمه ای به کار با تجهیزات بومی یا native
– GPS چیست و در گوشی چه می‌کند؟
– پیاده سازی یک کلاس برای مارکر GPS
– نمایش GPS به صورت مارکر روی نقشه

درس شانزدهم: ساخت انیمیشن برای نشانگر GPS
– آشنایی با canvas و مفهوم canvas.before
– آشنایی با تنظیم Color به صورت rgba
– آشنایی با ترسیم RoundedRectangle
– تنظیم شعاع انحنا یا radius برای Rectangle
– تنظیم موقعیت pos و اندازه size ویجت
– فراخوانی ویژگی‌های فایل kv در کلاس پایتون
– آشنایی با کلاس Animation و متدهای start و bind
– پیاده سازی حلقه پویانمایی در کیوی برای تپش مارکر

درس هفدهم: کدنویسی GPS برای اجرا روی گوشی هوشمند
– آشنایی با کتابخانه plyer از کیوی
– آشنایی با متدهایconfigure و start در plyer
– آشنایی با پارامترهای on_location و on_status
– آشنایی با پارامترهای minTime و minDistance
– دریافت موقعیت جدید GPS از kwargs دریافتی کالبک
– نمایش دیالوگ عدم دسترسی به GPS با KivyMD
– نمایش دیالوگ Permission در اندروید
– دسترسی COARSE_LOCATION و FINE_LOCATION
– تنظیم دسترسی و ماژول plyer در buildozer
– خروجی گیری مجدد APK و اجرا روی گوشی هوشمند

درس هجدهم: جمع بندی و طوفان ذهنی
– خسته نباشید
– راهی که آمدیم و آنچه آموختیم
– راهی که پیش رو داریم
– ایده هایی برای ادامه کار

نظرات (180)

180 دیدگاه برای آموزش کیوی (بسته جامع) __ ساخت اپ موبایل و دسکتاپ با پایتون و Kivy

  1. RrReza7591 (خریدار محصول)

    سلام ببخشید یه سوال داشتم واسه ساخت برنامه اندروید با کیوی روی ماشین مجازی وقتی کد sudo apt-get install build-essential ccache git libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 python2.7 python2.7-dev zip unzip openjdk-8-jdk python3-pip autoconf libtool pkg-config zlib1g-dev zlib1g:i386 libncurses5-dev libltdl-dev libffi-dev libssl-dev autotools-dev libncursesw5-dev libtinfo5 cmake رو میزنم این اخطار رو میده با وجود فیلتر شکن E: Package ‘libpangox-1.0-0:i386’ has no installation candidate E: Unable to locate package libidn11:i386و وقتی میخام خروجی بگیرم خطای جاوا میده من طبق اموزشاتون پیش رفتم بازم اخطار میده ممنون میشم راهنمایی کنید یا اگه راهی داره بگید انجام بدم

    • مصطفی آصفی

      سلام وقت بخیر. دو تا خطا این جا گزارش کردین که اولی میگه نمی تونه libpangox-1.0.0:i386 رو براش کاندیدای نصبی پیدا کنه علتش اینه که اسمش باید این شکلی نوشته بشه libpango1.0-0
      و دمی می گه نمی تونم بسته libidn11:i386 رو پیدا کنم که باید با دستور sudo apt-get install -y libidn11 اول اینو نصب کنید.
      برای پیدا کردن اسم درست بسته ها تو لیست پکیج ها مثلا همون libpango دستور apt-cache search libpango رو اجرا کنید.

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

  2. kingmahdi123870 (خریدار محصول)

    سلام وقتتون بخیر من طبق آموزش کیوی رو در cmd نصب میکنم اما وقتی کد pip install kivy==1.10.1 رو میزنم یه دانلود 23 مگابایتی انجام میده و بعد نوشته های طولانی زیر رو میاره و ارور میده فایل ها رو هم تست میکنم میگه کیوی نصب نیست
    ارور:
    Requirement already satisfied: kivy_examples in c:\users\king\kivy_venv\lib\site-packages (1.11.1), constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    Compiling C:\Users\king\AppData\Local\Temp\pip-install-25uvgpik\kivy_1079d230851c4000b100a81fba3beafc\kivy\graphics/svg.pyx because it changed.
    [1/1] Cythonizing C:\Users\king\AppData\Local\Temp\pip-install-25uvgpik\kivy_1079d230851c4000b100a81fba3beafc\kivy\graphics/svg.pyx
    [INFO ] building ‘kivy.graphics.svg’ extension
    error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/
    [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for kivy
    Failed to build kivy
    ERROR: Could not build wheels for kivy, which is required to install pyproject.toml-based projects
    ارور خیلی طولانی تره این آخرشه
    لطفا بگید چکار کنم

    • مصطفی آصفی

      سلام وقت بخیر. نسخه پایتون قدیمی تری مثلا پایتون ۳.۷ رو روی محیط مجازی (+) استفاده کنید. یا بر اساس راهنمایی این تاپیک (+) کیوی رو از سورس کد نصب کنید.

  3. یوسف پودینه مقدم

    سلام
    با استفاده از google colab ,به خطاهای زیر می رسه و فرایند قطع میشه:

    !pip install buildozer

    !pip install cython==0.29.19

    !sudo apt-get install -y \
    python3-pip \
    build-essential \
    git \
    python3 \
    python3-dev \
    ffmpeg \
    libsdl2-dev \
    libsdl2-image-dev \
    libsdl2-mixer-dev \
    libsdl2-ttf-dev \
    libportmidi-dev \
    libswscale-dev \
    libavformat-dev \
    libavcodec-dev \
    zlib1g-dev

    !sudo apt-get install -y \
    libgstreamer1.0 \
    gstreamer1.0-plugins-base \
    gstreamer1.0-plugins-good

    !sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssl libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libncursesw5-dev libffi-dev uuid-dev libffi6

    !sudo apt-get install libffi-dev

    !buildozer init

    !buildozer -v android debug

    ==============================================================================
    ==============================================================================

    !sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssl libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libncursesw5-dev libffi-dev uuid-dev libffi6

    Reading package lists… Done
    Building dependency tree… Done
    Reading state information… Done
    E: Unable to locate package libffi6

    ==============================================================================
    !buildozer -v android debug

    # Command failed: [‘/usr/bin/python3’, ‘-m’, ‘pythonforandroid.toolchain’, ‘create’, ‘–dist_name=myapp’, ‘–bootstrap=sdl2’, ‘–requirements=python3,kivy’, ‘–arch=arm64-v8a’, ‘–arch=armeabi-v7a’, ‘–copy-libs’, ‘–color=always’, ‘–storage-dir=/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a’, ‘–ndk-api=21’, ‘–ignore-setup-py’, ‘–debug’]
    # ENVIRONMENT:
    # SHELL = ‘/bin/bash’
    # NV_LIBCUBLAS_VERSION = ‘12.2.5.6-1’
    # NVIDIA_VISIBLE_DEVICES = ‘all’
    # COLAB_JUPYTER_TRANSPORT = ‘ipc’
    # NV_NVML_DEV_VERSION = ‘12.2.140-1’
    # NV_CUDNN_PACKAGE_NAME = ‘libcudnn8’
    # CGROUP_MEMORY_EVENTS = ‘/sys/fs/cgroup/memory.events /var/colab/cgroup/jupyter-children/memory.events’
    # NV_LIBNCCL_DEV_PACKAGE = ‘libnccl-dev=2.19.3-1+cuda12.2’
    # NV_LIBNCCL_DEV_PACKAGE_VERSION = ‘2.19.3-1’
    # VM_GCE_METADATA_HOST = ‘169.254.169.253’
    # HOSTNAME = ’15b14f8212ad’
    # LANGUAGE = ‘en_US’
    # TBE_RUNTIME_ADDR = ‘172.28.0.1:8011’
    # GCE_METADATA_TIMEOUT = ‘3’
    # NVIDIA_REQUIRE_CUDA = (‘cuda>=12.2 brand=tesla,driver>=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver<526')
    # NV_LIBCUBLAS_DEV_PACKAGE = 'libcublas-dev-12-2=12.2.5.6-1'
    # NV_NVTX_VERSION = '12.2.140-1'
    # COLAB_JUPYTER_IP = '172.28.0.12'
    # NV_CUDA_CUDART_DEV_VERSION = '12.2.140-1'
    # NV_LIBCUSPARSE_VERSION = '12.1.2.141-1'
    # COLAB_LANGUAGE_SERVER_PROXY_ROOT_URL = 'http://172.28.0.1:8013/&#039;
    # NV_LIBNPP_VERSION = '12.2.1.4-1'
    # NCCL_VERSION = '2.19.3-1'
    # KMP_LISTEN_PORT = '6000'
    # TF_FORCE_GPU_ALLOW_GROWTH = 'true'
    # ENV = '/root/.bashrc'
    # PWD = '/content'
    # COLAB_LANGUAGE_SERVER_PROXY_REQUEST_TIMEOUT = '30s'
    # TBE_EPHEM_CREDS_ADDR = '172.28.0.1:8009'
    # TBE_CREDS_ADDR = '172.28.0.1:8008'
    # NV_CUDNN_PACKAGE = 'libcudnn8=8.9.6.50-1+cuda12.2'
    # NVIDIA_DRIVER_CAPABILITIES = 'compute,utility'
    # COLAB_JUPYTER_TOKEN = ''
    # LAST_FORCED_REBUILD = '20240104'
    # NV_NVPROF_DEV_PACKAGE = 'cuda-nvprof-12-2=12.2.142-1'
    # NV_LIBNPP_PACKAGE = 'libnpp-12-2=12.2.1.4-1'
    # NV_LIBNCCL_DEV_PACKAGE_NAME = 'libnccl-dev'
    # TCLLIBPATH = '/usr/share/tcltk/tcllib1.20'
    # NV_LIBCUBLAS_DEV_VERSION = '12.2.5.6-1'
    # COLAB_KERNEL_MANAGER_PROXY_HOST = '172.28.0.12'
    # NVIDIA_PRODUCT_NAME = 'CUDA'
    # NV_LIBCUBLAS_DEV_PACKAGE_NAME = 'libcublas-dev-12-2'
    # USE_AUTH_EPHEM = '1'
    # NV_CUDA_CUDART_VERSION = '12.2.140-1'
    # COLAB_WARMUP_DEFAULTS = '1'
    # HOME = '/root'
    # LANG = 'en_US.UTF-8'
    # COLUMNS = '100'
    # CUDA_VERSION = '12.2.2'
    # CLOUDSDK_CONFIG = '/content/.config'
    # NV_LIBCUBLAS_PACKAGE = 'libcublas-12-2=12.2.5.6-1'
    # NV_CUDA_NSIGHT_COMPUTE_DEV_PACKAGE = 'cuda-nsight-compute-12-2=12.2.2-1'
    # COLAB_RELEASE_TAG = 'release-colab_20240111-060117_RC01'
    # PYDEVD_USE_FRAME_EVAL = 'NO'
    # KMP_TARGET_PORT = '9000'
    # CLICOLOR = '1'
    # KMP_EXTRA_ARGS = ('–logtostderr –listen_host=172.28.0.12 –target_host=172.28.0.12 '
    '–tunnel_background_save_url=https://colab.research.google.com/tun/m/cc48301118ce562b961b3c22d803539adc1e0c19/m-s-8p90y6bmv5vg '
    '–tunnel_background_save_delay=10s '
    '–tunnel_periodic_background_save_frequency=30m0s '
    '–enable_output_coalescing=true –output_coalescing_required=true')
    # NV_LIBNPP_DEV_PACKAGE = 'libnpp-dev-12-2=12.2.1.4-1'
    # COLAB_LANGUAGE_SERVER_PROXY_LSP_DIRS = '/datalab/web/pyright/typeshed-fallback/stdlib,/usr/local/lib/python3.10/dist-packages'
    # NV_LIBCUBLAS_PACKAGE_NAME = 'libcublas-12-2'
    # COLAB_KERNEL_MANAGER_PROXY_PORT = '6000'
    # CLOUDSDK_PYTHON = 'python3'
    # NV_LIBNPP_DEV_VERSION = '12.2.1.4-1'
    # ENABLE_DIRECTORYPREFETCHER = '1'
    # NO_GCE_CHECK = 'False'
    # JPY_PARENT_PID = '81'
    # PYTHONPATH = '/env/python'
    # TERM = 'xterm-color'
    # NV_LIBCUSPARSE_DEV_VERSION = '12.1.2.141-1'
    # GIT_PAGER = 'cat'
    # LIBRARY_PATH = '/usr/local/cuda/lib64/stubs'
    # NV_CUDNN_VERSION = '8.9.6.50'
    # SHLVL = '0'
    # PAGER = 'cat'
    # COLAB_LANGUAGE_SERVER_PROXY = '/usr/colab/bin/language_service'
    # NV_CUDA_LIB_VERSION = '12.2.2-1'
    # NVARCH = 'x86_64'
    # NV_CUDNN_PACKAGE_DEV = 'libcudnn8-dev=8.9.6.50-1+cuda12.2'
    # NV_CUDA_COMPAT_PACKAGE = 'cuda-compat-12-2'
    # MPLBACKEND = 'module://ipykernel.pylab.backend_inline'
    # NV_LIBNCCL_PACKAGE = 'libnccl2=2.19.3-1+cuda12.2'
    # LD_LIBRARY_PATH = '/usr/local/nvidia/lib:/usr/local/nvidia/lib64'
    # COLAB_GPU = ''
    # GCS_READ_CACHE_BLOCK_SIZE_MB = '16'
    # NV_CUDA_NSIGHT_COMPUTE_VERSION = '12.2.2-1'
    # NV_NVPROF_VERSION = '12.2.142-1'
    # LC_ALL = 'en_US.UTF-8'
    # COLAB_FILE_HANDLER_ADDR = 'localhost:3453'
    # PATH = '/root/.buildozer/android/platform/apache-ant-1.9.4/bin:/opt/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/bin'
    # NV_LIBNCCL_PACKAGE_NAME = 'libnccl2'
    # COLAB_DEBUG_ADAPTER_MUX_PATH = '/usr/local/bin/dap_multiplexer'
    # NV_LIBNCCL_PACKAGE_VERSION = '2.19.3-1'
    # PYTHONWARNINGS = 'ignore:::pip._internal.cli.base_command'
    # DEBIAN_FRONTEND = 'noninteractive'
    # COLAB_BACKEND_VERSION = 'next'
    # OLDPWD = '/'
    # _ = '/usr/local/bin/buildozer'
    # PACKAGES_PATH = '/root/.buildozer/android/packages'
    # ANDROIDSDK = '/root/.buildozer/android/platform/android-sdk'
    # ANDROIDNDK = '/root/.buildozer/android/platform/android-ndk-r25b'
    # ANDROIDAPI = '31'
    # ANDROIDMINAPI = '21'
    #
    # Buildozer failed to execute the last command
    # The error might be hidden in the log above this error
    # Please read the full log, and search for it before
    # raising an issue with buildozer itself.
    # In case of a bug report, please add a full log with log_level = 2

    • مصطفی آصفی

      سلام دوباره. تجربه کار کیوی روی کولب رو ندارم ولی شکست سیستم انگار به خاطر مشکل بیلدوزر روی ‘pythonforandroid.toolchain هست. این راهنما (+)‌ رو ببینید.

  4. یوسف

    من برای تبدیل از https://colab.google استفاده کردم
    یک سری دستور که آماده بود
    طبق گفته ها از فیلتر شکن هم استفاده کردم

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

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

    من فردا مراحل رو انجام می دم و اررو ها و پیام ها رو اینجا می ذارم

  5. یوسف پودینه مقدم

    سلام
    من یک برنامه نوشتم که محاسبه ای هست و فعلا دو صفحه هست، در تبدیل به فایل apk مشکل دارم و با روش‌های گفته شده موفق نشدم
    برنامه رو قرار هست گسترش بدم ولی فعلا باید خروجی apk تا اینجا بگیرم تا ادامه گسترش برنامه رو بدم.
    امکان این هست که فایل های kv و py رو که نوشتم رو برای شما از طریقی ارسال کنم و شما فرایند تبدیل رو انجام بدید؟

    • مصطفی آصفی

      سلام وقت بخیر. نه متاسفانه من به خاطر شلوغی کارام نمی تونم براتون انجام بدم. ولی شما متن خطایی که دریافت می کنید رو اینجا بنویسید هم فکری می کنیم.

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

  6. فاطمه خانی (خریدار محصول)

    سلام
    من تونستم از فایل های kivy_examples خروجی exe بگیرم و کار هم می کنند .من یک برنامه ساده که فقط یک label را return میکنه نوشتم و exe برنامه خودم را هم گرفتم اما ب بسم الله وقتی vosk (offline speech recognition) را import می کنم فایل exe اجرا نمیشه( فقط Import میکنم هیچ خط کد دیگه ای نمینویسم). console را در فایل spec برابر false میکنم تا ارور را ببینم. این ارور را نمایش میده ( اسم فایلم ‘main’ هستش): Failed to execute script ‘main’ due to unhandled exception:maximum recursion depth exceeded while calling a python object
    تحقیق که کردم گفتند که فایل های vosk را باید در datas در فایل spec اضافه کرد. اما باز هم نتیجه فرقی نکرد.

    • مصطفی آصفی

      سلام وقت بخیر. من تجربه ای روی این کتابخونه ندارم ولی فکر نمی کنم مشکل از کیوی باشه. احتمالا کتابخونه ای که استفاده می کنید باید با نسخه متفاوتی از پایتون یا کیوی نصب بشه. این خطای maximum recursion depth exceeded رو جستجو و راه های برطرف کردن اون رو به طور کلی درپایتون بررسی کنید.

  7. رضا محمدی (خریدار محصول)

    با سلام و وقت بخیر استاد من بخشی از یک نرم افزار دسکتاپ رو نوشتم و میخواستم ازش خروجی exe بگیرم تا فایل نصبیش رو داشته باشم برای اینکار از auto py to exe استفاده کردم الان بیش از ۲۷ ۲۸ ساعته لپتاپ خاموش نشده و درحال convert شدنه آیا این مسئله عادیه ؟ یا من قسمتی رو اشتباه انجام میدم ؟

    • مصطفی آصفی

      سلام وقت بخیر. تا جایی که می دونم طبیعی نیست و باید خیلی ساده تر باشه. این درس رایگان خروجی exe رو ببینید.

  8. فرزانه همدانچی (خریدار محصول)

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

    • مصطفی آصفی

      سلام وقت بخیر. نظرتون پاک نشده منتها تو بخش نظرات آموزش مقدماتی kivy (+) پرسیده بودین. مراجعه کنید یه مقدار پایین برید هستش من الان دیدمش.

  9. امیرحسین تیموریان (خریدار محصول)

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

    • مصطفی آصفی

      سلام وقت بخیر. مطابق توضیحی که تو بخش فارسی سازی دادم امتحان کردین و نشد؟ با arabic_reshaper کاراکترها رو بچینید و پاس بدین.

  10. عرشیا (خریدار محصول)

    خیلی ممنون از آموزش فوق العاده تون من اگر بخوام برای اپلیکیشنم ورود و ثبت نام داشته باشم چجوری باید اینکارو کنم؟

  11. امین عباسی (خریدار محصول)

    باسلام و عرض ادب، من این دوره را تازه تهیه کردم. میخواستم ببینم باتوجه به اینکه فیلم‌های آموزشی بر اساس نسخه 1.10 هستش اگر نسخه 2 را نصب کنیم و براساس فیلم‌ها پیش بریم مشکل خاصی پیش می آید؟

    • مصطفی آصفی

      سلام وقت بخیر، بهتره اول با نسخه ۱ پیش برید یه دور آموزشو ببینید و اجرا کنید بعد که درکش کردید برگردید و با نسخه تازه کار کنید.

  12. behdadcn2@gmail.com (خریدار محصول)

    سلام وقت بخیر استاد – ویدئو شماره 10 صدا نداره

    • مصطفی آصفی

      سلام وقت بخیر. لطفا با vlc Player (+) تماشا کنید مشکل حل میشه.

  13. کاظم کاوه (خریدار محصول)

    سلام استاد درس ساخت PaintApp صدا نداره دانلود میکنیم. مشکل داره این فایل؟

    • روابط عمومی هم رویش

      با سلام همراه گرامی برای پخش فیلم های دریافتی از هم رویش از پلیر رایگان VLC استفاده نمایید تا کدک های سیستم شما تکمیل باشد. جهت دانلود پلیر می توانید به لینک زیر مراجعه فرمایید https://www.videolan.org/vlc/

  14. کاظم کاوه (خریدار محصول)

    سلام استاد. من وقتی کدها را می نویسم ارور زیر را می گیرد.
    Traceback (most recent call last):
    File “c:/Users/kazem/Desktop/2.py”, line 1, in
    from kivy.app import App
    ModuleNotFoundError: No module named ‘kivy.app’; ‘kivy’ is not a package

    • مصطفی آصفی

      سلام به شما. به خطا دقت کنید:
      No module named ‘kivy.app’; ‘kivy’ is not a package
      داره میگه ماژولی به اسم کیوی پیدا نمی کنه. ممکنه کیوی به درستی نصب نشده یا نصب شده ولی روی این پایتونی که دارید کد رو باهاش اجرا می کنید.

  15. مژگان

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

    • مصطفی آصفی

      سلام به شما. خود وبسایت کیوی توضیحش کافیه.
      در مورد کیوی نسخه ۱ این لینک نصب kivy روی osx (+)‌ رو ببینید.
      در مورد کیوی نسخه ۲ هم این لینک نصب کیوی روی مک (+) رو ببینید.

  16. مهدی (خریدار محصول)

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

  17. مهدی (خریدار محصول)

    با سلام و ارادت
    استاد برای خروج از اپ باید از چه دستوری استفاده کنیم تا بعد از خروج پنجره برنامه کوچک شود و روی آیکون برنامه برود؟
    از اینا استفاده کردم ولی موقع خروج انگار برنامه کرش میکنه و اونطور نرم خارج نمیشه
    os._exit(n)
    sys.exit(0)
    MDApp.get_running_app().stop()
    Window.close()
    سپاس

    • مصطفی آصفی

      سلام به شما. از on stop استفاده کنید. این نمونه کد (+) رو ببینید.

  18. امیر (خریدار محصول)

    فونت های پیشفرض رو مثل تو فیلم با ایران سنس جایگزین کردم
    ولی راهی برای راست چی کردن navigation drawer پیدا نکردم
    هم منو از سمت راست باز بشه، هم آیکون بیاد سمت راست متن تو گزینه های منو
    ممنون میشم راهنمایی کنید

    • مصطفی آصفی

      سلام مجدد. این لینک (+) رو ببینید. زیر مجموعه ContentNavigationDrawer یک anchor_x: “left” تعریف کرده برای عکس بالا نویگیشن. با الهام از اون میشه موقعیت آیکن ها رو مدیریت کرد.

  19. امیر (خریدار محصول)

    حل شد استاد
    در مورد راست چین کردن منو راهنمایی کنید ممنون میشم

    • مصطفی آصفی

      ممنونم که اطلاع دادین و ممنون میشم اگه هم بفرمایید که مشکل کجا بود و چکار کردید؟

  20. امیر (خریدار محصول)

    سلام مجدد
    با تشکر از آموزش خوبتون
    برای استفاده از متن فارسی در گزینه های navigation drawer روش های گفته شده با استفاده از araic shaper و bidi کار نمیکنه!
    تو لیبل و دکمه و اینا درسته ولی من تو OneLineIconListItem
    مینویسم:
    OneLineIconListItem:
    font_name: “iransans.ttf”
    text:get_display(arabic_reshaper.reshape(“ویرایش پروفایل”))برای من مربع برمیگردونه و انگار این روش تو اسم آیتم ها کار نمیکنه
    ممنون میشم راهنمایی کنید خیلی واجبه

    • مصطفی آصفی

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

  21. امیر

    سلام وقت بخیر
    آیا خروجی گرفتن برای ios در دوره توضیح داده شده؟
    اگر کدنویسی پیشفرض برای اندروید باشه، چقدر برای ios باید کد و تغییر بدیم؟ یا همون یکبار کدنویسی برای خروجی اندروید و ios کافیست؟

    • مصطفی آصفی

      سلام به شما. خیر خروجی iOS نگرفتیم. ریز سرفصل ها رو توصیه می کنم با دقت بررسی بفرمایید.
      در مورد سوالتون باید بگم بستگی به این داره که چقدر از ویژگی های بومی دستگاه استفاده می کنید. تو بخش آخر این بسته جایی که برای مثال داریم از GPS استفاده می کنیم می بینید که داخل کد بخش هایی هست که میشه جداکرد که مثلا اگر این بخش از کد داره روی گوشی اندروید اجرا میشه به این شکل وصل بشه اگه روی دسکتاپ به این شکل. جز این مورد بحث SDK هسته iOS هم هست. ممکنه که شما کتابخونه ای استفاده می کنید که موقع خروجی گیری اندروید مشکلی نداره ولی موقع خروجی گیری iOS چون توسعه دهنده های اون کتابخونه نسخه سازگار با این دستگاه رو به روز نکردن اونجا مشکل ایجاد می کنه. در کل اگه شما این موارد رو مدیریت کنید بله با یک بار کد خروجی برای جاهای مختلف کار می کنه. اما خب مدیریت کردن این موارد خودش کاریه که نیاز به صبر و تجربه داره.

  22. قاسمی (خریدار محصول)

    عرض سلام و ادب خدمت جناب آقای مهندس آصفی بزرگوار
    آموزش بسیار ارزنده ای بود س‍باس فراوان بابت زحمات بی دریغ شما.
    بنده قصد داشتم یک ابلیکیشن Image Processing برای اندروید بنویسم. برنامه بر روی لینوکس به درستی قابل اجراست و خروجی apk تولید می شود اما در موبایل در همان لحظه اول بعد از نصب کرش کرده و خارج می شود. خیلی سرچ کردم تمام راه حل هایی که دیدم رو تست کردم نتیجه ای نداشت! در برخی نظرات نوشته شده که در توسعه های جدید از ndk و sdk دیگر opencv قابل اجرا نیست!
    سوالم این بود که اخیرا خروجی apk با opencv داشتید و یا جایی مشاهده کردید؟

    • مصطفی آصفی

      سلام و ممنون از لطف شما. من تازگی اپلیکیشن بینایی کامپیوتر روی کیوی کار نکردم و نمی تونم قطعی بگم ولی سعی می کنم چند تا رشته فکری رو باهاتون به اشتراک بگذارم شاید مفید باشه.
      ۱- بعید می دونم opencv رو اندروید کنار بگذاره. من الان تو یوتیوب زدم android opencv و فیلم هایی تا دو هفته پیش هم موجود بودن.
      ۲- این که اپلیکیشن کرش می کنه و خارج میشه شاید ایراد دیگه ای باشه. باید لاگتون رو می فرستادین (بخش های خطا نه همه بخش ها) که بشه بهتر نظر داد
      ۳- بیلدوزر کمی از توسعه sdk و ndk عقب هست و همیشه تعیین نسخه خوب sdk و ndk برای یه پروژه کیوی و بیلدورز چالش بزرگیه.
      ۴- بخش اوپن سی وی اپتون رو کامنت کنید ببینید در کل sdk نصب شده درست کار می کنه؟ اگه درست کار کرد اونوقت میشه روی موارد بالا تمرکز بهتری داشت.

  23. aghelan.mf96@gmail.com (خریدار محصول)

    سلام وقت بخیر
    من وقتی از پروژه نقاشی به صورت تک فایل خروجی میگیرم برای ویندوز به این قسمت (style_app = Builder.load_file(“mypaint.kv”)) گیر میدهد و میگوید این فایل وجود ندارد. مشکل از چی هست ؟

    • مصطفی آصفی

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

      پی‌نوشت: لطفا متن خطایی که دریافت می کنید رو ارسال کنید که بشه دقیق تر نظر داد.

  24. ammar ramyar (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. دقت کنید که برای فراخوانی فایل kv باید حتما builder استفاده کنید.
      from kivy.lang.builder import Builder
      Builder.load_file(‘my.kv’)

      یا اگه محتوای فایل kv رو می خواید توی خود فایل پایتونی بنویسید:
      Builder.load_string(“””
      :
      Label:
      text: “example example”
      “””)

      پی‌نوشت: حتما دقت کنید نسخه کیوی که نصب می کنید تو مراحل آموزش مشابه من (۱) باشه.
      پی‌نوشت: تکه کدهای بالا اگه براتون خوب نمایش داده نمیشه کپی کنید و تو ویرایشگر کد خودتون بررسی‌شون کنید.

  25. محمد وحید کوه کن (خریدار محصول)

    سلام استاد وقت بخیر خسته نباشید
    من سعی دارم از یه پروژه kivymd خروجی بگیرم اما با ارور زیر مواجه میشم:

    Traceback (most recent call last):
    8948 WARNING: stderr: Traceback (most recent call last):
    File “C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\depend\imphook.py”, line 387, in _load_hook_module
    8948 WARNING: stderr: File “C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\depend\imphook.py”, line 387, in _load_hook_module
    self._hook_module = importlib_load_source(self.hook_module_name, self.hook_filename)
    8949 WARNING: stderr: self._hook_module = importlib_load_source(self.hook_module_name, self.hook_filename)
    File “C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\compat.py”, line 608, in importlib_load_source
    8951 WARNING: stderr: File “C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\compat.py”, line 608, in importlib_load_source
    return mod_loader.load_module()

    —————–
    9024 WARNING: stderr: PyInstaller.exceptions.ImportErrorWhenRunningHook: Failed to import module __PyInstaller_hooks_0_kivy required by hook for module C:\Users\Achilles\PycharmProjects\P
    andas\venv\lib\site-packages\PyInstaller\hooks\hook-kivy.py. Please check whether module __PyInstaller_hooks_0_kivy actually exists and whether the hook is compatible with your version of
    C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\hooks\hook-kivy.py: You might want to read more about hooks in the manual and provide a pull-request to improv
    e PyInstaller.

    پروژه رو به روش lazyloading نوشتم(هر اسکرین به همراه فایل kv جداگانه در یک فولدر قرار دارند) و توی pycharm هم به خوبی کار میکنه
    در ضمن نسخه کتابخانه ها هم به این ترتیب هست:
    kivy==2.0.0
    kivymd==0.104.2
    pyinstaller==5.4.1
    ممنون میشم راهنمایی بفرمایید واقعا متوجه نمیشم مشکل کجاست

    • مصطفی آصفی

      سلام وقتتون بخیر. همیشه متن خطا رو گوگل کنید. ضمنا متن اصلی خطا تو کیوی از بخش Warning شروع میشه تا به Failed برسید جایی.
      متن خطا داره داره این قسمت میگه:
      Please check whether module __PyInstaller_hooks_0_kivy actually exists and whether the hook is compatible with your version of C:UsersAchillesPycharmProjectsPandasvenvlibsite-packagesPyInstallerhookshook-kivy.py
      یعنی بررسی کنید که فایل هوک موجود باشه و نسخه اون هم سازگار باشه. احتمالا یه راهکاری که ممکنه جواب بده حذف نصب پای اینستالر و نصب نسخه پایین تر (۴.۵.۱ مثلا) هست.

      ولی برای این که برای آینده هم با درک دقیق تر با پای اینستالر تو کیوی کار کنید توصیه می کنیم این لینک (+) رو بخونید. تو این لینک هم می تونید سریع ببینید که تو بخش Analysis چطور hookpath رو میشه در صورتی که دستی نصب و به پای اینستالر اضافه کردید مسیرش رو اینجا تعریف کنید.

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

  26. Mahdi.emadi@yahoo.com (خریدار محصول)

    سلام استاد وقت بخیر
    من یک برنامه اندروید نوشتم ولی متاسفانه سورس کد ها \اک شدن ولی apk ریلیز شده رو دارم آیا میتونم از apk به فایل های اصلی دسترسی داشته باشم؟
    با تشکر

    • مصطفی آصفی

      سلام به شما. ابزارهایی برای دیکامپایل کدهای اندروید هست. گوگل کنید decompile android apk

  27. مهسا حسینی فر (خریدار محصول)

    سلام و خسته نباشد
    بنده در طراحی اپلیکیشنم به مشکلی برخوردم. در کد زیر کلاس SplashScreenچه طور میتونم به screen تعریف شده در فایل .py دیگری با نام Login دسترسی داشته باشم؟
    from kivymd.app import MDApp
    from kivy.lang import Builder
    from kivy.uix.screenmanager import ScreenManager,Screen
    from kivy.clock import Clock
    from kivy.properties import ObjectProperty
    from Login import Login

    #Login Screen
    class WindowManager(ScreenManager):
    pass
    class SplashScreen(Screen):
    def on_enter(self, *args):
    Clock.schedule_once(Login,5)
    class StartPage(MDApp):
    def build(self):
    return Builder.load_file(‘logo.kv’)

    if __name__ == ‘__main__’:
    StartPage().run()

  28. مهسا حسینی فر (خریدار محصول)

    سلام روز بخیر
    حسینی فر هستم چندین بار مزاحمتون شدم برای طراحی اپلیکیشنم. به راهنماییتون در پیاده سازی نیاز دارم ممنون میشم کمکم کنید:
    1- صفحه اولم که خیلی سادست: مثل صفحات اول دیجی کالا و اسنپ که چند ثانیه نمایش داده میشن لوگو و نام اپلیکیشن رو نمایش میدن و اتوماتیک وارد صفحه بعد که مثلا login هست بشه. ولی نمیتونم اون قسمت اتوماتیکش رو پیاده کنم و حتما باید کلیک انجام شه.
    2- فعلا کدهام به شکل زیر هست:
    main.py

    from kivymd.app import MDApp
    from kivy.lang import Builder
    from kivy.uix.screenmanager import Screen,ScreenManager
    from kivy.properties import ObjectProperty
    from kivymd.uix.relativelayout import MDRelativeLayout
    from kivy.clock import Clock

    class Manager(ScreenManager):
    pass

    class LogoScreen(Screen):
    pass

    class LoginScreen(Screen):
    pass

    class ClickableTextFieldRound(MDRelativeLayout):
    pass

    class StartPage(MDApp):
    def build(self):
    return Builder.load_file(‘logo.kv’)

    # Press the green button in the gutter to run the script.
    if __name__ == ‘__main__’:
    StartPage().run()

    logo.kv:
    :

    MDTextField:
    hint_text:’Username’
    helper_text: “this field is required”
    pos_hint:{ “center_y”: 0.9}

    MDTextField:
    id: text_field
    hint_text:’Password’
    password: True
    icon_left: “key-variant”
    pos_hint:{ “center_y”: 0.7}

    MDIconButton:
    icon: “eye-off”
    pos_hint: {“center_y”: .7}
    pos: text_field.width – self.width + dp(8), 0
    theme_text_color: “Hint”
    on_release:
    self.icon = “eye” if self.icon == “eye-off” else “eye-off”
    text_field.password = False if text_field.password is True else True

    MDFlatButton:
    text:’Forgot password?’
    pos_hint: {“center_y”: .6}
    on_press:app.ForgotPassword

    MDFillRoundFlatButton:
    text:’Log In’
    font_size:’20’
    pos_hint:{‘center_x’:0.5,’center_y’:0.5}
    on_press:app.Logger

    MDFlatButton:
    text:’Create account’
    pos_hint:{‘center_y’:.3}
    on_press:app.NewAcoount

    Manager:
    LogoScreen:
    LoginScreen:

    :
    MDScreen:
    name:’first’
    size:root.size
    MDIconButton:
    icon:’alpha-l-circle’
    width:20
    pos_hint: {“center_x”: .5, “center_y”: .6}
    on_release:
    root.manager.transition.direction=’left’
    root.manager.transition.duration=3
    root.manager.current=’login’
    MDLabel:
    text:’LOGO Name’
    pos_hint:{ “center_y”: 0.2}
    halign: “center”

    :
    name:’login’
    MDScreen:

    MDCard:
    orientation:’vertical’
    size_hint: None, None
    size: 400, 500
    pos_hint: {“center_x”: 0.5, “center_y”: 0.5}
    padding: 25
    spacing: 25

    ClickableTextFieldRound:
    width: “300dp”

    نمیدونم چه طور میتونم بخش مربوط به login رو از logo.kv جدا کنم و در فایل جداگانه دیگه ای به نام login.kv بنویسم. درواقع میخوام از screen موجود در یک فایل.kv بتونم به screen موجود در فایل .kv پارامترهارو ارسال کنم

    • مصطفی آصفی

      سلام به شما خانم حسینی فر. برای ساخت صفحه ورود اپلیکیشن (splash) از متد on_enter() کلاس Screen استفاده کنید. این لینک (+) یک نمونه از پیاده سازی اسپلش در KiyMD رو می‌تونید ببینید.

  29. مهدی عمادی (خریدار محصول)

    با سلام استاد آصفی
    من یک اپ نوشتم با استفاده از pandas فایل apk بدون هیچ اشکالی تولید میشه ولی روی گوشی اجرا نمیشه.
    وقتی خطوط مربوط به pandas رو حذف میکنم درست میشه.
    داخل buildozer در بخش ریکورمنت pandad رو هم وارد کردم میشه راهنماییم کنید برای استفاده از pandas چه باید کرد؟

    • مصطفی آصفی

      سلام به شما. احتمال داره pandas (پانداس) رو به بخش requirements تو buildozer spec اضافه نکرده باشین.

      کتابخونه هایی مثل پانداس یا نامپای یا ریکوئست و … رو باید به پیشنیازها تو بیلدوزر اضافه کرد. حتی گاهی باید نسخه دقیق هم مشخص کرد. مثلا:‌
      requirements = python3==3.7.5,kivy==2.0.0,numpy,pandas

  30. راشین لطیفی (خریدار محصول)

    سلام مجدد
    استاد واسه MDdatatable چطور میشه فارسیش کرداطلاعاتم از mysql میخونه
    لطفا زودتر جواب بدین تافردا وقت دارم تمومش کنم

    • مصطفی آصفی

      سلام و می بخشین که بخش نظرات رو روزانه نمی بینم جوابتون دیر شد. من تجربه این مورد رو ندارم اما به نظرم می تونید همون رویه که برای TextInput گفتم رو لطفا امتحان کنید. سورس کد MDdatatable (+) رو دقت کنید. یه table_data دارین که ObjectProperty هست. اون رو باید ارث ببرین و با arabic_reshaper باهاش کار کنید تا متن فارسی رو هم پوشش بده.

  31. راشین لطیفی (خریدار محصول)

    سلام مهندس اصفی
    من میخام text یک textinput که بهش id دادم بگیرم ولی همش خطا میده چندروزه درگیرشم
    id:search_b
    ودرپایتون
    record=self.ids[str(“search_b”)].text
    کدبالا درسته؟
    وکجا تعریفش کنم که پایتون بشناسش؟

    • مصطفی آصفی

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

  32. فرزاد نادی (خریدار محصول)

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

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

    دوم خطای ۳۲ بیتی به جای ۶۴ بیتی این مورد در هر کتابخونه ای امکان داره بر بخورید البته احتمالش کمه ولی من در مورد کتابخونه opencv بهش برخوردم علتش این بود که در در فایل buildozer.spec در قسمت کتابخونه های مورد نیاز opencv-python گذاشته بودم در حالی که باید opencv تنها میذاشتم و در مراحل بعد که opencv تنها میذاستم تاثیری نداشت چون وقتی میخواست دانلود کنه میدید فایلهایی را با همون نام از قبل وجود داشته و دیگه دانلود نمیکرد بنابراین اگه دارید نام یه کتابخونه یا حتی نسخه اون رو تغییر میدید برای احتیاط حتما پوشه buildozer ساخته شده رو پاک کنید مجدد دیباگ کنید.

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

    در آخر از آقای آصفی هم تشکر میکنم و هم عذرخواهی حالا که نگاه میکنم بعضی از سوالاتم چون مسیر رو اشتباه میرفتم یه چیز گنگ و نامربوط بوده

    موفق باشید

    • مصطفی آصفی

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

  33. Mahdi.emadi@yahoo.com (خریدار محصول)

    با سلام استاد آصفی عزیز
    یک اپ موبایل با پایتون و کیوی نوشته ام و نیاز دارد هر روز یک اکسل و چند عکس(مجموعا زیر 10 گیگ) را من جایی بارگزاری کنم و برنامه روزانه به آن پایگاه وصل شود و با آن اطلاعات آپدیت شود.
    کجا میتونم آن اکسل و تصاویر را بارگزاری کنم تا هر روز برنامه به آن دسترسی داشته باشد؟
    چون پروژه بیشتر جنبه آموزشی دارد اگه امکانش هست پایگاه اقتصادی تر و یا رایگان معرفی کنید ممنون میشوم.
    سپاس

    • مصطفی آصفی

      سلام به شما. این روشی که استفاده کردین اصولی نیست. من راه اصولی رو می گم و پاسخ سوالتون هم جدا پایین میدم.
      راه اصولی اینه که فایل روی سرور باشه و شما عملیاتی که با فایلتون انجام میدن هم روی سرور بنویسین. مثلا با جنگو پایتون. بعد API هایی درست کنید که با صدا کردن اون ها از داخل اپ کیوی عملیات مورد نظرتون توسط سرور انجام میشه و پاسخش به اپ داده میشه. شبیه کار با API که تو بخش سوم بسته جامع کیوی هم براتون مثال زدم.
      منتها اگه نخواین این روش رو برید شاید آپلود فایل روی OneDrive یا Google Drive و کار با اون ها توسط پایتون بتونه کمکتون کنه. این فیلم رو برای اتصال به OneDrive از پایتون (+)‌ و این فیلم هم برای اتصال به Google Drive با پایتون (+) بررسی کنید.

  34. فرزاد نادی (خریدار محصول)

    سلام آقای آصفی
    خیلی از راهنمایی های شما ممنونم من خروجی اپم رو گرفتم و خیلی عالی کار می کنه. فقط یه مشکل خیلی مهم دارم من تو قسمتی از اپی که طراحی کردم از OpenCV استفاده کردم و دکمه هایی که در اون cv2 رو import کردم خطای زیر رو میده. خیلی برام مهمه لطفا کمک کنید. این هم بگم در فایل buildozer.spec در قسمت requirement هم opencv رو گذاشتم هم opencv-python ولی در هر حالت خطا میده

    ImportError: dlopen failed: “/data/user/0/org.kivymd.myApp/files/app/_python_bundle/site-packages/cv2/cv2.so” is 64-bit instead of 32-bit

    • مصطفی آصفی

      سلام به شما. خوشحالم که به خروجی رسیدین. باریکلا. این مشکل اینجا (+) هم حل نشده مونده. لطفا نسخه ۱.۱۱ کیوی و opencv قدیمی تر رو تو محیط مجازی امتحان و نتیجه رو اعلام کنید.

  35. hasan

    سلام به آقای آصفی،
    من یه کد نوشتم که با تاچ بر روی صفحه پرینت میکنه مقدار تاچ رو،
    وقتی برنامه رو اجرا میکنم و تاچ میکنم هیچ چیزی پرینت نمیشه
    بعدش که میخوام برنامه رو ببندم روی دکمه close برنامه که در سمت راست بالای برنامه است میزنم ولی برنامه بسته نمیشه و در قسمت پایین(run) مینویسه:
    [INFO ] [Base ] Leaving application in progress…
    [INFO ] [Base ] Start application main loop
    (هنوز برنامه باز است) و الان که بر روی صفحه تاچ میکنم position تاچ رو مینویسه

    و الان که برنامه رو میبندم(ینی برای بار دوم که میبندم) بسته میشه و در قسمت run مینویسه:
    [INFO ] [Base ] Leaving application in progress…
    ینی درکل پنج خط پایین قسمت run به این شکل است:
    [INFO ] [Base ] Start application main loop
    [INFO ] [Base ] Leaving application in progress…
    [INFO ] [Base ] Start application main loop

    [INFO ] [Base ] Leaving application in progress…
    خیلی عجیب نیست؟ شما تا به حال با چنین چیزی برخورد نکردید؟
    نمیدونم توضیحاتم کامل بود یا نه و منظورم رو فهمیدید یا نه؟ ولی به هر حال این کد من است:
    from kivy.app import App
    from kivy.uix.widget import Widget

    class paint_app(Widget):
    def on_touch_down(self, touch):
    print(touch)

    class Myapp(App):
    def build(self):
    return paint_app()

    Myapp().run()

    • مصطفی آصفی

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

  36. فرزاد نادی (خریدار محصول)

    سلام آقای آصفی
    وقت بخیر
    من همچنان در خروجی گرفتن apk مشکل دارم ولی متاستفانه بخش نظرات رو خیلی دیر پاسخ می دهید امکان داره یه ارتباط مستقیم تری داشته باشیم بحث خروجی apk گرفتن طوری هست که نیاز هست تعاملی تر باشه می دونم براتون مشکل میشه ولی جوری باشه روزی 1 پاسخ از شما دریافت کنیم و پیگیر کار باشیم تا به نتیجه برسیم من واقعا در خروجی گرفتن به مشکل خوردم و کارم متوقف شده

    • مصطفی آصفی

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

  37. شهرزاد ستایش (خریدار محصول)

    با سلام و خداقوت آموزش ها عالی هستن . فقط استاد میشه آموزش apkکردن برنامه ARرا هم بسازید و بذارید تو سایت که تهیه کنیم ؟ من آموزش kivy را هم تهیه کردم ولی نمیتونم این AR را برای گوشی تبدیل کنم . ممنون میشم

    • مصطفی آصفی

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

  38. فرزاد نادی (خریدار محصول)

    سلام آقای آصفی
    وقت بخیر
    گفته بودم تونستم از برنامه ای که نوشتم apk بگیرم ولی کرش میکنه فرمودید فایل log رو بفرستم در قسمت نظرات جایی برای ارسال فایل ندیدم ولی قسمت مهم log رو اینجا قرار میدم لطفا راهنمایی کنید چند ماه هست درگیر تولید apk هستم متشکرم.

    [DEBUG]: -> running gradlew assembleDebug
    [DEBUG]:
    [DEBUG]: > Configure project :
    [DEBUG]: WARNING: The option setting ‘android.bundle.enableUncompressedNativeLibs=false’ is experimental and unsupported.
    [DEBUG]: The current default is ‘true’.
    [DEBUG]:

    [DEBUG]: > Task :compileDebugJavaWithJavac
    [DEBUG]: ebugJNote: Some input files use or override a deprecated API.
    [DEBUG]: rm a Note: Recompile with -Xlint:deprecation for details.
    [DEBUG]: Note: Some input files use unchecked or unsafe operations.
    [DEBUG]: Note: Recompile with -Xlint:unchecked for details.
    [DEBUG]:
    [DEBUG]: > Task :stripDebugDebugSymbols
    [DEBUG]: Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead.
    [DEBUG]: /root/.buildozer/android/platform/android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip:/home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/intermediates/merged_native_libs/debug/out/lib/armeabi-v7a/gdb.setup: File format not recognized
    [DEBUG]:
    [DEBUG]: Unable to strip library /home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/intermediates/merged_native_libs/debug/out/lib/armeabi-v7a/gdb.setup due to error 1 returned from /root/.buildozer/android/platform/android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip, packaging it as is.
    [DEBUG]: /root/.buildozer/android/platform/android-ndk-r19c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip:/home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/intermediates/merged_native_libs/debug/out/lib/arm64-v8a/gdb.setup: File format not recognized
    [DEBUG]:
    [DEBUG]: Unable to strip library /home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/intermediates/merged_native_libs/debug/out/lib/arm64-v8a/gdb.setup due to error 1 returned from /root/.buildozer/android/platform/android-ndk-r19c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip, packaging it as is.
    [DEBUG]:
    [DEBUG]: Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
    [DEBUG]: Use ‘–warning-mode all’ to show the individual deprecation warnings.G]:
    [DEBUG]: See https://docs.gradle.org/6.4.1/userguide/command_line_interface.html#sec:command_line_warnings
    [DEBUG]:
    [DEBUG]: BUILD SUCCESSFUL in 22s
    [DEBUG]: 25 actionable tasks: 25 executed

    [INFO]: running cp /home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/outputs/apk/debug/myLarvae-debug.apk myLarvae-debug-0.1-.apk
    WARNING: Received a –sdk argument, but this argument is deprecated and does nothing.
    No setup.py/pyproject.toml used, copying full private data into .apk.
    Applying Java source code patches…
    Applying patch: src/patches/SDLActivity.java.patch
    # Android packaging done!
    # APK myLarvae-0.1-arm64-v8a_armeabi-v7a-debug.apk available in the bin directory
    # Run ‘/root/.buildozer/android/platform/android-sdk/platform-tools/adb devices’
    # Cwd None
    List of devices attached

    # Application pushed.
    # Waiting for application to start.

    • مصطفی آصفی

      سلام مجدد و پوزش از تاخیر. ازتون می خوام که خودتون هم لاگتون رو بخونید. این خیلی تو خودکفا شدن خودتون و پرسیدن سوال های درست از خودتون به شما کمک می کنه.
      ببینید الان این لاگی که فرستادین یه سری هشدار داره که باید در آینده جدی گرفته بشن اما در کل هم بیلد موفق بوده و هم ساخت apk . یک خط به آخر هم Application pushed رو داریم که می گه ارسال شد به دستگاه.
      شما بیلد سالم دارین ولی اجرای ناموفق apk . در نتیجه نیاز دارین اون اکسپشنی که اندروید بهتون میده رو ببینید. مثلا باید گوگل کنیم : how to see android log in kivy . و برای مثال این جواب (+) رو بررسی کنیم یا جواب های مشابه تا با آزمون و خطا بتونیم اون ویژگی مورد نظر رو راه بندازیمش.

  39. حسن

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

  40. حسن

    سلام آقای آصفی، این کد منه فقط نمیدونم چرا Button م حرکت نمیکنه:
    def on_touch_down(self, touch):
    self.btn.pos_hint[‘x’] = touch.pos[0]
    self.btn.pos_hint[‘y’] = touch.pos[1]
    print(self.btn.pos_hint)
    print(touch)
    #خروجی:
    #{‘x’: 61.0, ‘y’: 401.0}
    حتی btn.pos_hint هم برابر میشه با touch.pos، با هم مساوی اند، ولی نمیدونم چرا Button م به اون نقطه نمیره
    اگه میشه راهنماییم کنید، خیلی ممنون از پاسخگویی شما

    • مصطفی آصفی

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

  41. ايمن نجاتی (خریدار محصول)

    با سلام خدمت شما
    بنده اين دوره را خريدارى كردم
    ولى در هنگام انجام درس 13 براى خروجى گرفتن براى ويندوز به صورت يك فايل (–onefile)
    در كامند لاين روى اين قسمت توقف مى كنه و اصلا جلو نمى رود

    nt\build\aa\PYZ-00.pyz completed successfully.
    22308 INFO: checking Tree
    22312 INFO: Building Tree because Tree-03.toc is non existent
    22312 INFO: Building Tree Tree-03.toc
    22316 INFO: checking Tree
    22316 INFO: Building Tree because Tree-04.toc is non existent
    22317 INFO: Building Tree Tree-04.toc
    22322 INFO: checking Tree
    22323 INFO: Building Tree because Tree-05.toc is non existent
    22326 INFO: Building Tree Tree-05.toc
    22329 INFO: checking PKG
    22342 INFO: Building because toc changed
    22342 INFO: Building PKG (CArchive) aa.pkg
    لطفا راهنمايى بفرماييد

    • مصطفی آصفی

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

  42. فرزاد نادی (خریدار محصول)

    سلام
    من بالاخره تونستم با استفاده از لینوکس و بیلدوزر نسخه apk تولید کنم. ولی وقتی روی گوشی نصبش می کنم کرش میکنه و این پیام رو در لینوکس گزارش میکنه. نمیدونم باید چه کار کنم تا مشکل حل بشه

    Debian ‘dpkg’ package management program version 1.19.7 (amd64).
    This is free software; see the GNU General Public License version 2 or
    later for copying conditions. There is NO warranty.

    # Search for Git (git)
    # -> found at /usr/bin/git
    # Search for Cython (cython)
    # -> found at /usr/bin/cython
    # Search for Java compiler (javac)
    # -> found at /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
    # Search for Java keytool (keytool)
    # -> found at /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/keytool

    • مصطفی آصفی

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

  43. حسن

    سلام آقای آصفی
    ممنون از پاسخ های کامل شما
    فقط میخواستم چند تا سوال دیگه هم بپرسم تا مطمئن بشم:
    1.در کیوی هم میشه از فونت فارسی استفاده کرد؟ (در کیوی، نه در کیوی ام دی!)
    2. من که میخوام در اندروید برنامه درست کنم و در گوگل پلی، برنامه ام رو به فروش برسونم (باز هم تاکید میکنم که با خط فارسی و هر فونتی که خودم میخوام
    ، مثلا با فونت b nazanin) ، با قبول این شرایط آیا میتونم با همین پایتونی که بلد هستم، با زبون کیوی همچین برنامه هایی درست کنم؟
    ببخشید اگر سوالم تکراری بود و خیلی ممنون از پاسخگویی شما

    • مصطفی آصفی

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

      پی نوشت: کیوی برای کسانی مناسبه که دنبال اپ کراس پلتفرم هستن و همین طور استفاده از کتابخانه های خاص پایتون تو کد براشون مناسبه. اگه برنامه شما قراره صرفا اندروید باشه توصیه می کنم سراغ اندروید استودیو و زبان کاتلین برین. یادگیری اصول کاتلین (نه حرفه ای شدن) در حدی که بتونید یه اپ رو بالا بیارید در حد دیدن یه آموزش چند ساعتی کاتلین کافیه. بعد می تونید از آموزش اندروید با کاتلین هم رویش یا مجموعه های دیگه استفاده کنید.

  44. kingofkings298@gmail.com (خریدار محصول)

    سلام استاد من در اجرا مشکل دارم
    [INFO ] [Logger ] Record log in C:\Users\lenovo\.kivy\logs\kivy_22-02-25_4.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.3.3
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.1
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Program Files\Python37\python.exe”
    [INFO ] [Factory ] 186 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds (img_sdl2, img_pil, img_ffpyplayer ignored)
    [CRITICAL] [Text ] Unable to find any valuable Text provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
    sdl2 – ImportError: DLL load failed: The specified module could not be found.
    File “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\core\__init__.py”, line 62, in core_select_lib
    fromlist=[modulename], level=0)
    File “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\core\text\text_sdl2.py”, line 13, in
    from kivy.core.text._text_sdl2 import (_SurfaceContainer, _get_extents,

    pil – ModuleNotFoundError: No module named ‘PIL’
    File “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\core\__init__.py”, line 62, in core_select_lib
    fromlist=[modulename], level=0)
    File “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\core\text\text_pil.py”, line 7, in
    from PIL import Image, ImageFont, ImageDraw

    [CRITICAL] [App ] Unable to get a Text provider, abort.

    • مصطفی آصفی

      سلام به شما. به انتهای خطا دقت کنید. می گه ماژول PIL رو یافت نمی کنم. از دستور پایین استفاده کنید:
      pip install Pillow

  45. hasan

    چگونه در فایل kv فقط یک Button تعریف کنیم، ینی فقط تعریف کنیم، نه که در صفحه addش کنیم.
    که بعدا اگه نیاز بهش بود addش میکنیم

    • مصطفی آصفی

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

  46. hasan

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

    • مصطفی آصفی

      در این مورد همون طور که این بسته (+) صحبت کردیم میشه از فونت فارسی استفاده کرد اما دست خیلی باز نیست. البته اطلاعات من مربوط به کیوی ۱ هست و شاید این مورد الان با نسخه تازه حل شده باشه.
      پس در مورد امکان استفاده از فونت و زبان فارسی در کیوی ۲ تحقیق کنید و ضمنا توصیه می کنم این آموزش پای کیوت (+) رو هم بررسی کنید. البته پای کیوت برای خروجی گیری اندروید خیلی راه دست نیست ولی میشه (به ادعای خود سازنده ها این شدنی هست و حتی من یه مقاله هم در این مورد خوندم ولی من امتحان نکردم و می تونید تو نظرات اون آموزش پای کیوت که بالا لینک کردم، قبل از خرید و ورود به اون حوزه از آقای علیجانی باز بپرسید). پای کیوت کاملا فارسی رو پشتیبانی می کنه و یه دیزاینر هم داره که اگه فیلم معرفی اون دوره رو ببینید متوجه میشید.
      لطفا نتیجه تحقیق خودتون یا اگه بعدها کاری کردین، نتیجه توسعه خودتون رو اینجا به دوستانتون اعلام کنید (پاسخ نظرات برای باقی دوستان هم میره) که اگه مشکل حل شد دیگران با وضعیت امروز شما هم فردا از تجربه شما استفاده کنن.

  47. حسن

    بله ممنون، ببخشید یه سوال داشتم، سلام، چطوری باید در فایل kv وقتی بر روی یک باتن کلیک شد، مثلا فلان add widget ،label شود، نه که فقط text ش تغیر کنه ها! ، بلکه تازه add widget بشه، خیلی ممنون

    • مصطفی آصفی

      سلام به شما. بعد از این که بسته رو کامل تماشا کردین برای این که بتونید خودکفا بشید باید دست به گوگل باشید. مثلا همین سوال «how add widget press button kivy» رو با همین کلیدواژه های اصلی اگه گوگل کنید، این لینک (+) نمونه خوبی براتون گذاشته. از استک اورفلو معمولا می تونید تکه کدهای خوبی پیدا کنید.

  48. حسن

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

    • مصطفی آصفی

      سلام به شما. این مشکل به دلیل کدک سیستمتون هست. لطفا از پخش کننده رایگان VLC Player (+) استفاده کنید.

  49. فرزاد (خریدار محصول)

    سلام استاد
    با راهنمایی که کردید مشکل angle همون نسخه پایتون بود که تاکید کردم نسخه3.7.9 رو نصب کنه و درست شد در ادامه فرایند تولید apk این خطا رو دریافت کردم.

    STDERR:

    # Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create –dist_name=LarvaeCouter –bootstrap=sdl2 –requirements=python3==3.7.9,kivy,certifi==2021.10.8,charset-normalizer==2.0.10,docutils==0.18.1,idna==3.3,Kivy==2.0.0,kivy-deps.angle==0.3.1,kivy-deps.glew==0.3.0,kivy-deps.sdl2==0.3.1,Kivy-Garden==0.1.4,kivymd==0.104.2,nuymp==1.21.5,opencv-python==4.5.5.62,Pillow==9.0.0,plyer==2.0.0,Pygments==2.11.2,pypiwin32==223,pywin32==303,requests==2.27.1,urllib3==1.26.8 –arch armeabi-v7a –copy-libs –color=always –storage-dir=”/content/.buildozer/android/platform/build-armeabi-v7a” –ndk-api=21
    # ENVIRONMENT:
    # CUDNN_VERSION = ‘8.0.5.39’
    # PYDEVD_USE_FRAME_EVAL = ‘NO’
    # LD_LIBRARY_PATH = ‘/usr/local/nvidia/lib:/usr/local/nvidia/lib64’
    # CLOUDSDK_PYTHON = ‘python3’
    # USE_EPHEM = ‘1’
    # LANG = ‘en_US.UTF-8’
    # ENABLE_DIRECTORYPREFETCHER = ‘1’
    # HOSTNAME = ‘221f4466d2e7’
    # OLDPWD = ‘/’
    # CLOUDSDK_CONFIG = ‘/content/.config’
    # NVIDIA_VISIBLE_DEVICES = ‘all’
    # DATALAB_SETTINGS_OVERRIDES = ‘{“kernelManagerProxyPort”:6000,”kernelManagerProxyHost”:”172.28.0.3″,”jupyterArgs”:[“–ip=\\”172.28.0.2\\””],”debugAdapterMultiplexerPath”:”/usr/local/bin/dap_multiplexer”,”enableLsp”:true}’
    # ENV = ‘/root/.bashrc’
    # PAGER = ‘cat’
    # NCCL_VERSION = ‘2.7.8’
    # TF_FORCE_GPU_ALLOW_GROWTH = ‘true’
    # JPY_PARENT_PID = ’46’
    # NO_GCE_CHECK = ‘True’
    # PWD = ‘/content’
    # HOME = ‘/root’
    # LAST_FORCED_REBUILD = ‘20220106’
    # CLICOLOR = ‘1’
    # DEBIAN_FRONTEND = ‘noninteractive’
    # LIBRARY_PATH = ‘/usr/local/cuda/lib64/stubs’
    # GCE_METADATA_TIMEOUT = ‘0’
    # GLIBCPP_FORCE_NEW = ‘1’
    # TBE_CREDS_ADDR = ‘172.28.0.1:8008’
    # TERM = ‘xterm-color’
    # SHELL = ‘/bin/bash’
    # GCS_READ_CACHE_BLOCK_SIZE_MB = ’16’
    # PYTHONWARNINGS = ‘ignore:::pip._internal.cli.base_command’
    # MPLBACKEND = ‘module://ipykernel.pylab.backend_inline’
    # CUDA_VERSION = ‘11.1.1’
    # NVIDIA_DRIVER_CAPABILITIES = ‘compute,utility’
    # SHLVL = ‘1’
    # PYTHONPATH = ‘/env/python’
    # NVIDIA_REQUIRE_CUDA = (‘cuda>=11.1 brand=tesla,driver>=418,driver=440,driver=450,driver<451')
    # TBE_EPHEM_CREDS_ADDR = '172.28.0.1:8009'
    # COLAB_GPU = '0'
    # GLIBCXX_FORCE_NEW = '1'
    # PATH = '/root/.buildozer/android/platform/apache-ant-1.9.4/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/bin:/opt/bin'
    # LD_PRELOAD = '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4'
    # GIT_PAGER = 'cat'
    # _ = '/usr/local/bin/buildozer'
    # PACKAGES_PATH = '/root/.buildozer/android/packages'
    # ANDROIDSDK = '/root/.buildozer/android/platform/android-sdk'
    # ANDROIDNDK = '/root/.buildozer/android/platform/android-ndk-r19c'
    # ANDROIDAPI = '27'
    # ANDROIDMINAPI = '21'
    #
    # Buildozer failed to execute the last command
    # The error might be hidden in the log above this error
    # Please read the full log, and search for it before
    # raising an issue with buildozer itself.
    # In case of a bug report, please add a full log with log_level = 2

    • مصطفی آصفی

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

  50. فرزاد (خریدار محصول)

    سلام
    من برنامه را با کیوی نوشتم برای نسخه apk به مشکل خوردم این 4 کتابخونه روکه در فایل buildozer گذاشتم رو نمیشناسه
    kivy-deps.angle
    kivy-deps.glew
    kivy-deps.sdl2
    pywin32

    متن خطا
    ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none)
    ERROR: No matching distribution found for kivy-deps.angle

    وقتی این چهار کتابخونه رو پاک می کنم درست انجام میشه و نسخه apk ساخته میشه ولی بعد از نصب در گوشی، کرش میکنه و چیزی نشون نمیده

    لازم به ذکر است با google colab فرایند ساخت apk رو انجام دادم

  51. فرزاد

    سلام
    منبرنامه را با کیوی نوشتم برای نسخه apk به مشکل خوردم این 4 کتابخونه روکه در فایل buildozer گذاشتم رو نمیشناسه
    kivy-deps.angle
    kivy-deps.glew
    kivy-deps.sdl2
    pywin32

    متن خطا
    ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none)
    ERROR: No matching distribution found for kivy-deps.angle

    وقتی این چهار کتابخونه رو پاک می کنم درست انجام میشه و نسخه apk ساخته میشه ولی بعد از نصب در گوشی، کرش میکنه و چیزی نشون نمیده

    لازم به ذکر است با google colab فرایند ساخت apk رو انجام دادم

    • مصطفی آصفی

      سلام به شما. مطابق این لینک (+) آخرین نسخه angle از پایتون ۳.۶ تا ۳.۸ پشتیبانی می کنه. شما از پایتون بالاتر شاید استفاده می کنید. لطفا آموزش رو با نسخه کیوی و پایتون مشابه بنده پیش ببرین بعد نسخه ها رو آروم آروم ارتقا بدین.

  52. مهسا حسینی فر (خریدار محصول)

    سلام
    من مشکل زیر را چند وقت پیشارسال کردم خدمت شما :
    من نرم افزار paint(جلسه 12) را چندین بار بازنویسی کردم خروجی یک اسکرین خالی ست. حتی کدهای فایل پیوست را هم کپی میکنم همین طور است. وقتی مرحله به مرحله کد را تایپ میکنم تا قبل از اضافه کردن gridlayout فایل .kv خروجی دارم به محض اضافه نمودن آن اسکرین خالی دارم. دلیل این اتفاق چیست؟؟؟

    فرمودین لاگ ترمینال را ارسال کنم خدمتتون. ظاهرا خطایی نداره. کلا این سیستم با پروژه های دیگه هم مشکل دارد. ولی متوجه نمیشم مشکلش چیه. همین کدها روی سیستم دیگه بدون مشکل اجرا میشوند. حتی KitchenSink هم روی این سیستم اجرا نمیشه.
    [INFO ] [Logger ] Record log in C:\Users\m-hosseinifar\.kivy\logs\kivy_22-01-19_7.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\m-hosseinifar\AppData\Local\Programs\Python\Python38\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.8.7rc1 (tags/v3.8.7rc1:e320109, Dec 7 2020, 16:42:32) [MSC v.1927 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\m-hosseinifar\AppData\Local\Programs\Python\Python38\python.exe”
    [INFO ] [Factory ] 186 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
    [INFO ] [Window ] Provider: sdl2
    [INFO ] [Window ] Activate GLES2/ANGLE context
    [INFO ] [GL ] Using the “OpenGL” graphics system
    [INFO ] [GL ] Backend used
    [INFO ] [GL ] OpenGL version
    [INFO ] [GL ] OpenGL vendor

    [INFO ] [GL ] OpenGL renderer

    [INFO ] [GL ] OpenGL parsed version: 2, 0
    [INFO ] [GL ] Shading version

    [INFO ] [GL ] Texture max size
    [INFO ] [GL ] Texture max units
    [INFO ] [Window ] auto add sdl2 input provider
    [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
    [INFO ] [Text ] Provider: sdl2
    [INFO ] [Base ] Start application main loop
    [INFO ] [GL ] NPOT texture support is available

    • مصطفی آصفی

      سلام و پوزش از تاخیر. بله خطایی ظاهرا ندارین. روی سیستم های دیگه که گفتین مشکل ندارین از چه نسخه کیوی استفاده می کنین؟ همون طور که تو آپدیت آموزش هم درج کردم نسخه ۲ و ۱ کیوی یه مقدار متفاوت هستن و برای این آموزش بهتره مطابق نسخه بنده پیش برین بعدها که با دنیای کیوی آشنا شدین می تونید نسخه ۲ رو جایگزین و خطاها رو رفع کنید.
      یه زحمت بکشین یه venv بسازید و روی اون از پایتون 3.7 و کیوی 1.10 مثل آموزش بنده استفاده و نتیجه رو اعلام کنید.

  53. مهسا حسینی فر (خریدار محصول)

    سلام
    من نرم افزار paint(جلسه 12) را چندین بار بازنویسی کردم خروجی یک اسکرین خالی ست. حتی کدهای فایل پیوست را هم کپی میکنم همین طور است. وقتی مرحله به مرحله کد را تایپ میکنم تا قبل از اضافه کردن gridlayout فایل .kv خروجی دارم به محض اضافه نمودن آن اسکرین خالی دارم. دلیل این اتفاق چیست؟؟؟

    • مصطفی آصفی

      سلام به شما. اگه تا اینجا این مشکل رو نداشتین و فقط سر این پروژه به مشکل خوردین پس خوشبختانه مشکل سیستمی ندارین (مثلا عدم تطبیق معماری با نسخه نصب شده یا کد با نسخه نصب شده). چنین مواردی معمولا یه اشتباه ریز تو نوشتن فایل طراحی یا تو تابع init یا بیلد باعث مشکل رندر میشه ولی چون گفتین چند مرتبه بازنویسی کردید این احتمال هم ضعیف میشه. لاگ ترمینالتون رو بررسی کنید ببینید می تونید جایی که اخطار یا خطایی میده پیدا و اینجا گزارش کنید که بتونم بهتر نظر بدم؟‌

  54. mohmadbus@gmail.com (خریدار محصول)

    با سلام و خسته نباشید خدمت استاد گرامی این دوره، من امروز برای سومین بار این آموزش رو نگاه کردم حقیقتا و بدون بزرگنمایی و هرگونه دروغی، آقای آصفی یکی از باسواد ترین و خوش بیان ترین اساتیدی که من تا بحال دیدم. اینو با سند میگم من، چون دوره ی های Kivy و kivymd خیلی زیادی نداریم به زبان فارسی و حتی انگلیسی ولی این دوره ای که ایشون تدریس کردن به نظر من کامل ترین دوره موجود بوده . از اونجایی که این دو تا کتابخونه خیلی تغییر و تحول دارن و ممکنه با ارور های زیادی برخورد کنید اما این استاد گرامی تا حد زیادی این مشکلات رو پیش بینی و تدریس کردن . به شخصه من خودم هنوز ارور و دردسر دارم با این دو کتابخونه ولی خیلی لذت بردم که ایشان انقدر خوب اگاه و مسلط به این موضوع . واقعا دستشون درد نکنه و امیدوارم در همه ی مراحل زندگی موفق و سربلند باشن .

    • مصطفی آصفی

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

  55. محمد حسین هاشمی (خریدار محصول)

    سلام
    من بالاخره فایل APK رو برای یک بازی ساختم ولی وقتی نصب و ران میکنم، اجرا نمیشه
    این هم خطا هست، ممنون میشم راهنمایی کنید مشکل کجاست
    Listing ‘/home/hossein/Kivy/Galaxy/.buildozer/android/platform/build-armeabi-v7a/dists/myGalaxy__armeabi-v7a/_python_bundle/_python_bundle/site-packages/usr/local/bin’…
    [INFO]: Detected highest available build tools version to be 32.0.0
    [DEBUG]: -> running gradlew assembleDebug
    [DEBUG]:
    [DEBUG]: > Task :compileDebugJavaWithJavac
    [DEBUG]: Note: Some input files use or override a deprecated API.
    [DEBUG]: Note: Recompile with -Xlint:deprecation for details.
    [DEBUG]: Note: Some input files use unchecked or unsafe operations.
    [DEBUG]: Note: Recompile with -Xlint:unchecked for details.
    [DEBUG]:
    [DEBUG]: > Task :stripDebugDebugSymbols
    [DEBUG]: Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead.
    [DEBUG]: /home/hossein/.buildozer/android/platform/android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip:/home/hossein/Kivy/Galaxy/.buildozer/android/platform/build-armeabi-v7a/dists/myGalaxy__armeabi-v7a/build/intermediates/merged_native_libs/debug/out/lib/armeabi-v7a/gdb.setup: File format not recognized
    [DEBUG]:
    [DEBUG]: Unable to strip library /home/hossein/Kivy/Galaxy/.buildozer/android/platform/build-armeabi-v7a/dists/myGalaxy__armeabi-v7a/build/intermediates/merged_native_libs/debug/out/lib/armeabi-v7a/gdb.setup due to error 1 returned from /home/hossein/.buildozer/android/platform/android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip, packaging it as is.
    [DEBUG]:
    [DEBUG]: Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
    [DEBUG]: Use ‘–warning-mode all’ to show the individual deprecation warnings.
    [DEBUG]: See https://docs.gradle.org/6.4.1/userguide/command_line_interface.html#sec:command_line_warnings
    [DEBUG]:
    [DEBUG]: BUILD SUCCESSFUL in 6s
    [DEBUG]: 25 actionable tasks: 25 executed

    [INFO]: running cp /home/hossein/Kivy/Galaxy/.buildozer/android/platform/build-armeabi-v7a/dists/myGalaxy__armeabi-v7a/build/outputs/apk/debug/myGalaxy__armeabi-v7a-debug.apk myGalaxy__armeabi-v7a-debug-0.1-.apk
    WARNING: Received a –sdk argument, but this argument is deprecated and does nothing.
    No setup.py/pyproject.toml used, copying full private data into .apk.
    Applying Java source code patches…

    • مصطفی آصفی

      سلام به شما. لطفا دستور ساخت بیلدوزر رو همون طور که تو متن خطا اشاره کرده با –warning-mode=all اجرا کنید تا متن کامل خطا قابل مشاهده باشه. ممکنه یه خطای سینتکس تو یه فایل پایتون داشته باشید یا شاید نیاز به تغییر مشخصات رپر بیلد باشه.
      چون خودتون سورس رو دارید می بینید بهترین راه اینه که متن خطا یا بخش اصلی رو گوگل کنید که بتونید راهکارهای مختلفی که تو نت هست رو سریع تر روی سورس اجرا و نتیجه رو بررسی کنید.

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

  56. مهدی علیزاده (خریدار محصول)

    عرض سلام و احترام خدمت استاد گرامی.
    ببخشید 20speed دیگه ساپورت نمیکنه، گفتم شاید شما پیشنهاد دیگه ای داشته باشید، ممنون میشم.

    • مصطفی آصفی

      سلام به شما. از تیکنت سرویس کریو یا stunnel استفاده کنید امیدوارم که حل بشه. من به تازگی روی sdk این ها رو امتحان نکردم اما سرویس های تحریمی دیگه گوگل رو باز می کنن.

  57. reza.ranji010@gmail.com

    سلام و خسته نباشید خدمت استاد آصفی و تیم همرویش.
    استاد من هر دو بسته آموزشی یولو شما رو نگاه کردم. بسیار دوره جذاب و به درد بخوری بود. حتی تونستم yolo_tiny رو با دیتا‌های شخصی پیاده سازی کنم ولی
    در آخر آن دوره و در قسمت طوفان فکری شما به یک مورد اشاره کردید که، میشه یولو رو به کمک kivy به صورت یک اپ درستش کرد.
    میخاستم بدونم این دوره ی جامع kivy رو تهیه کنم میتونم به کمک kivy، یولو خودم رو به صورت یک اپ پیاده سازی بکنم؟ یا علاوه بر kivy باید یه پیش نیاز دیگه ای هم سپری کنم؟؟؟

    • مصطفی آصفی

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

  58. فرزاد نادی (خریدار محصول)

    سلام استاد
    من طبق آموزش یه Navigation Drawer ایجاد کردم و به درستیکار می کنه.در مرحله بعد در اسکیرن صفحه بهجای لیبل خواستم دوربین به همراه دو تا دکمه یکی با نام Play و دیگری Capture بذارم. برنامه اجرا میشه ولی دکمه اول که برای Play کردن دوربین هست نمایش داده نمیشه امکان داره کمک کنید بفهم مشکل چیه. متشکرم.
    کدی که نوشتم:

    from kivymd.app import MDApp
    from kivy.lang import Builder
    from kivy.uix.boxlayout import BoxLayout
    from kivy.properties import ObjectProperty
    import time

    KV = “””
    :
    orientation: ‘vertical’

    AnchorLayout:
    anchor_x: “center”
    size_hint_y: None
    height: header.height

    Image:
    id: header
    source: “Gorgij.jpg”
    size_hint: None, None
    size: “164dp”,”164dp”

    MDLabel:
    text: “Larvae Counting”
    font_style: “H6”
    size_hint_y: None
    height: self.texture_size[1]
    ScrollView:
    MDList:
    OneLineListItem:
    text: “Go to Screen 1”
    on_press:
    root.nav_drawer.set_state(“close”)
    root.screen_manager.current = “screen1”
    IconLeftWidget:
    icon: “folder”

    OneLineListItem:
    text: “Go to Screen 2”
    on_press:
    root.nav_drawer.set_state(“close”)
    root.screen_manager.current = “screen2”
    IconLeftWidget:
    icon: “folder”
    Screen:
    MDToolbar:
    title: “Toolbar!”
    pos_hint: {“top”:1}
    left_action_items:[[“menu”, lambda x: nav_drawer.set_state(“open”)]]

    MDBottomAppBar:
    MDToolbar:
    icon: “plus”
    type: “bottom”
    elevation: 10
    left_action_items: [[“home”, lambda x: x]]
    right_action_items: [[“magnify”, lambda x: x]]

    MDNavigationLayout:
    ScreenManager:
    id: screen_manager
    Screen:
    name: “screen1”
    Camera:
    id: camera
    resolution: (640, 480)
    play: False
    ToggleButton:
    text: ‘Play’
    on_press: camera.play = not camera.play
    size_hint_y: None
    height: ’48dp’
    Button:
    text: ‘Capture’
    size_hint_y: None
    height: ’48dp’
    on_press: root.capture()

    Screen:
    name: “screen2”
    MDLabel:
    text: “Screen 2”
    halign: “center”

    MDNavigationDrawer:
    id: nav_drawer

    CameraClick:
    nav_drawer: nav_drawer
    screen_manager: screen_manager

    “””

    class CameraClick(BoxLayout):
    nav_drawer = ObjectProperty()
    screen_manager = ObjectProperty()

    def capture(self):
    ”’
    Function to capture the images and give them the names
    according to their captured time and date.
    ”’
    camera = self.ids[‘camera’]
    timestr = time.strftime(“%Y%m%d_%H%M%S”)
    camera.export_to_png(“IMG_{}.png”.format(timestr))
    print(“Captured”)

    class TestCamera(MDApp):

    def build(self):
    return Builder.load_string(KV)

    TestCamera().run()

    • مصطفی آصفی

      سلام وقت بخیر. لطفا سورس کد طولانی ارسال نکنید بنده نمی رسم بررسی کنم. فقط کاری رو ه انجام می دین اگه خطایی دریافت می کنین بفرمایید که راهنمایی کنم.

  59. محمد مهدی (خریدار محصول)

    سلام استاد
    من برای نصب kivy مطابق مراحلی که در ویدیوها گفته بودید عمل کردم. در حال حاضر سایت kivy ورژن 2 رو برای نصب در سایت قرار داده است. موقع نصب kivy در مرحله python -m pip install kivy[base] kivy_examples سیستم من خطای
    (kivy_venv) C:\Users\mohammad>python -m pip install kivy[base] kivy_examples
    WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    ERROR: Could not find a version that satisfies the requirement kivy[base] (from versions: none)
    ERROR: No matching distribution found for kivy[base]
    رو میده و نمیدونم چکارش کنم.
    در ضمن من با پایتون 3.7.8 کار می کنم

    • مصطفی آصفی

      سلام به شما. جای دیگه هم مطرح کرده بودین خدمتتون توضیح دادم. این خطا از پایتون نیست. متن خطا رو دقت کنید. خطای پروکسی (اتصال) دارین.
      ProxyError(‘Cannot connect to proxy

      اما در مورد نصب کیوی دقت کنید:
      برای نصب کیوی 1.10 که بنده هم بر همون اساس آموزش دادم:
      مراحل و دستوراتی که تو فیلم نصب کیوی توضیح دادم الان در این نشانی (+) هستن. فقط دقت کنید که تو مراحل نصب موقع نصب خود کیوی باید نسخه رو مشخص کنید:
      pip install Kivy==1.10.1

      برای نصب کیوی نسخه ۲ (kivy 2) :
      مراحل نصب کیوی نسخه ۲ کمی فرق کرده. وابستگی ها رو باید با سینتکس متفاوتی نصب کنید. تو بخش نصب کیوی در وبسایت خودش بخش Kivy Dependencies (+) رو با دقت بخونید. داره میگه نصب وابستگی های لازم رو باید همزمان با نصب کیوی نسخه ۲ انجام بدین. برای مثال اگه به جای base موقع نصب بنویسید full تمام وابستگی‌های تیپیک نصب میشه:
      pip install kivy[full]

    • مصطفی آصفی

      توضیح پایین در مورد روزآمدی نصب کیوی نسخه 2 رو در فایل‌های دانلودی بسته هم گذاشتم.

  60. علی

    سلام استاد اگر میشه متن اون ئیشنیاز های قسمت تبدیل kivy به apk رو به من بدید

    ممنون میشم

    • مصطفی آصفی

      سلام به شما. به همون درس تبدیل به apk به صورت فایل متنی پیوست شده.
      البته الان نگاه کردم شما فراگیر این دوره نیستین وگرنه فایل رو می دیدین. متاسفانه منم دسترسی ندارم وگرنه متن فایل رو اینجا براتون می نوشتم.

  61. محمد وحید کوه کن (خریدار محصول)

    سلام و وقت بخیر .. استاد سوالی داشتم در مورد این که سورس کد خروجی نرم افزار پایتونی رو چطور میشه از دسترس عموم خارج کرد؟ مثلا فرض کنید وقتی با pyinstaller خروجی میگیریم فایل های .py و .pyc و pyd تولید میکنه که توسط بقیه قابل خوندنه. خواستم بدونم چطور میشه این مشکل رو حل کرد؟ یا حداقل استخراج سورس کد ها رو سخت کرد؟
    دلیل اصلی اینه که یک سری موارد مثل api key لینک پرداخت، پسورد دیتابیس سایت مرتبط به نرم افزار و مواردی از این قبیل داخل کد هست که طبیعتا نباید توسط بقیه قابل رویت باشه. دلیل دوم هم اینکه سورس کد نرم افزار من در مجموع حدود چهار هزار خط کد میشه خب وقتی این سورس در اختیار بقیه باشه براحتی هر کاری میتونن انجام بدن. ببخشید که طولانی شد واقعا امیدوارم شما بتونین کمک کنین ممنون میشم هر راه حلی بنظرتون میرسه بفرمایین

    • مصطفی آصفی

      سلام به شما آقای کوه کن. پای آموزش سایتون (+) هم این رو مطرح کرده بودین. اونجا براتون جواب دادم.

  62. Ho33ein

    سلام استاد
    Kivymd builder که قراره بیاد آیا میشه هم بهش کد اضافه کرد و هم کد هاشو تغییر داد؟

  63. Hassan

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

  64. Hassan

    سلام وقت بخیر استاد
    استاد یبار دیگه سوالم رو میکنم تا کاملا مطمئن بشم
    آیا میشه با kivy و kivymd اپ های بزرگ ساخت درحد واتساپ و دیجی کالا و اینستاگرام به همراه جنگو بک اند
    آیا قدرت اینکارو داره
    چون از خیلیا شنیدم گفتن ن
    میتونید نظرتون رو بگید خیلی مهمه واسمون که بعدا پشیمون نشیم
    و اینکه چرا میگن React native یا کاتلین چند برابر kivy هست
    از چه لحاظی میگن
    ممنون میشم🙏🌹

    • مصطفی آصفی

      سلام به شما. ببینید انتخاب یک ابزار به امکانات و نیازهای شما بستگی داره. کیوی اومده تا اگه یک برنامه نویس (یا گروه برنامه نویسی) قصد داره حتما از زبان پایتون برای تمام کارهاش استفاده کنه، بتونه اپلیکیشن موبایل هم به کمک کیوی یا پایتون بسازه. اگه شما قصد دارید لزوما با پایتون کار کنید و نمی‌خواید برای فرانت اند زبان دیگه‌ای مثل جاوا اسکریپت (برای ری اکت نیتیو) یا دارت (برای فلاتر) رو یاد بگیرید باید بهتون بگم که با Kivy و KiyMD شما می‌تونید تقریبا هر فرانت اندی مثل پیام رسان ها یا اپ‌های فروشگاهی رو بزنید. منتها اگه اپلیکیشن شما فارسی باشه کارتون سخته. پشتیبانی کیوی از زبان فارسی همون طور که تو بسته دوم توضیح دادم هنوز نقص داره. ضمنا کیوی برای ساخت بازی‌های دوبعدی با موبایل هم خوبه. می‌تونید با پایگیم (+) منطق بازی رو با پایتون بنویسید و تو ساختار کیوی قرار بدین و خروجی گوشی همراه بگیرید.
      در مور منسوخ شدن کیوی من چیزی نشنیدم اما این مشکل برای هر ابزاری ممکنه پیش بیاد. خیلی ذهن خودتون رو درگیر نکنید. گوگل پشتیبانی خودش رو یکباره از جاوا برداشت و زبان رسمی اندروید رو کاتلین اعلام کرد. شما باید به عنوان برنامه‌نویس عادت کنید که هر ابزاری ممکنه کلا عوض بشه یا اصلا کنار گذاشته بشه.
      در مورد بزرگتر بودن ری اکت نیتیو بله به طور کلی هم تیم توسعه و هم جامعه استفاده کننده‌های ری اکت نیتیو بسیار بزرگتر از کیوی هستن. این کمک می‌کنه که شما مشکلات خودتون رو بتونید بهتر حل کنید.
      جمع‌بندی:
      شما با کیوی می‌تونید اپلیکیشن‌هایی که گفتین رو بزنید. تقریبا هر ظاهری رو که بخواهید می‌تونید بزنید. ولی اگه زبان فارسی تو اپلیکیشن شما خیلی مهم باشه از اونجایی که برنامه‌نویس مبتدی هم هستین، کارتون سخته و توصیه می‌کنم از ری‌اکت نیتیو یا فلاتر (+) استفاده کنید.

  65. hseljoki@gmail.com

    سلام وقتتون بخیر استاد
    آیا میتونم با کمک kivy و kivymd فرانت اند و با کمک دیجنگو بک اند
    اپلیکیشنی مانند دیجی کالا بسازم؟

    • مصطفی آصفی

      سلام به شما. بله می‌تونید. البته KivyMD در مورد فارسی‌سازی ضعف‌هایی داره. ولی در کل بله همون طور که در این آموزش ساخت فروشگاه با جنگو (+) پیش‌ رفتیم شما هم می‌تونید پیش بیاید و بک اند رو با جنگو بزنید و فرانت اند رو که در اونجا با ری اکت زده شده بعدها خودتون در یک اپلیکیشن اجرا کنید.

      پی‌نوشت: تلفظ django به صورت جنگو درسته نه دیجنگو

  66. Ho33ein

    سلام خسته نباشید استاد
    استاد آیا میشه با kivy & kivymd اپ های قشنگ و حرفه ای ساخت مانند React Native

    • مصطفی آصفی

      سلام به شما. بله شدنیه. این فیلم مقایسه یک اپ با فلاتر و همون اپ با کیوی و کیوی ام دی (+) رو نشون میده. و ا ز این دست فیلم ها زیاد هست.
      البته انتخاب ابزار به نیاز شما بستگی داره. یک وقت هست یک بازی با مثلا پایتون و پای گیم (+) ساختید و در اون از کتابخونه های هوش مصنوعی پایتون بهره بردید که بازیکن لذت می بره و حالا نمی خواید یا نمی تونید این بازی رو با جاوا اسکریپیت بازنویسی کنید. اینجا کیوی یک ابزار خوبه که اجازه میده کد بازی رو ببرید در اون قالب و تبدیل به اپ موبایل کنید. در مورد اپ های کاربردی هم در بسیاری موارد این طوره.
      اما در مقابل یک وقتی هست شما قصد داری یک اپ فروشگاهی درست کنی که بخش عمده کارش رو هم داره از سرور می خونه. فقط یک ظاهر گرافیکی برای اطلاعات محصولات و … می خوای. اینجا زبان اپ شما هم به فرض فارسیه. برای این مورد کیوی گزینه مناسبی نیست مگه این که مشابه توضیحی که تو بسته دوم همین آموزش دادم مشکل زبان فارسی رو برای کامپوننت ها حل کنی.

      باید نیاز و امکانات رو بسنجی و ابزار رو انتخاب کنی.

  67. مهدی علیزاده (خریدار محصول)

    عرض سلام و احترام خدمت شما استاد گرامی
    من به جواب رسیدم و برای خودتون و احیانا کسان دیگری که به این مشکل خوردند گفتم اینجا هم فیدبک بدم. سوال و جواب رو تو لینک زیر گذاشتم.
    https://stackoverflow.com/questions/69024081/jnius-jnius-javaexception-class-not-found-bpackagedomain-packagename-servicena

    • مصطفی آصفی

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

  68. وحید (خریدار محصول)

    سلام استاد
    من زمانی که میخوام خروجی exe بگیرم ( در تمرین خروجی paint دو صفحه ای) برابر راهنمای kivy ابتدا:
    import os, sys
    from kivy.resources import resource_add_path, resource_find v,
    رو ایمپروت کردم و در پایان خط برنامه اصلی (main.py) :
    if __name__==”__main__”:
    if hasattr(sys, ‘_MEIPASS’):
    resource_add_path(os.path.join(sys._MEIPASS))
    myPaint().run()
    رو اضافه کردم
    الان موقع خروجی از خط اول فایل mspaint.kv ارور syntax میگیره
    در حالی که نهایتا فایل خود شما ر و کپی کردم ولی بازم همین ارور رو میده
    Syntax error in D:\learn\kivi\project\p1\mspaint.kv
    File “D:\learn\kivi\project\p1\mspaint.kv”, line 1
    Manager:
    ^
    SyntaxError: invalid syntax

    • مصطفی آصفی

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

  69. مهدی علیزاده (خریدار محصول)

    خیلی ممنونم که همیشه هستین و وقت میزارین، چون سوالم طولانی بود تو گیت نوشتم. سوال این بود که یه برنامه ساده نوشتم که از سرویس استفاده کنم. فایل هایی که دارم این هاست:
    : main.py
    ‍‍‍‍‍‍ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
    from kivy.app import App
    from kivy.uix.button import Button
    from jnius import autoclass

    class TestButton(Button):

    def run_test_service(self):
    service = autoclass(‘org.test.myapp.ServiceMyservice’)
    mActivity = autoclass(‘org.kivy.android.PythonActivity’).mActivity
    argument = “”
    service.start(mActivity, argument)

    class ServiceTestApp(App):
    def build(self):
    return TestButton()

    if __name__ == “__main__”:
    ServiceTestApp().run()
    ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
    buildozer.spec
    ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
    # (str) Title of your application
    title = My Application

    # (str) Package name
    package.name = myapp

    # (str) Package domain (needed for android/ios packaging)
    package.domain = org.test

    # (list) List of service to declare
    #services = Myservice:main.py
    ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

    وقتی برنامه رو ران میکنم و روی اندروید بازش میکنم، در حالت دیباگ این ارور رو دارم:

    jnius.jnius.JavaException: Class not found b’org/test/myapp/ServiceMyservice

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

    # (str) Package name
    package.name = oscservice

    # (str) Package domain (needed for android/ios packaging)
    package.domain = org.kivy

    و داخل کد:

    service = autoclass(‘org.kivy.oscservice.ServiceMyservice’)

    تو این مرحله مشکلم حل شد ولی وقتی میخوام ساین نرم افزار رو ایجاد کنم تو محیط ترمینال این ارور رو دارم:

    # ERROR: Trying to release a package that starts with org.kivy
    #
    # The package.domain org.kivy is reserved for the Kivy official
    # applications. Please use your own domain.
    #
    # If you are a Kivy developer, add an export in your shell
    # export BUILDOZER_ALLOW_KIVY_ORG_DOMAIN=1

    تو این مرحله هیچ سورسی پیدا نکردم که بتونم این مشکل رو حل کنم.

  70. مهدی علیزاده (خریدار محصول)

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

    • مصطفی آصفی

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

  71. طاها گلبن (خریدار محصول)

    استاد من چک کردم برنامه رو فهمیدم که مشکل کرش کردن برنامه توی اندروید بخاطر کد background_color هستش که اندروید با رنگ هایی که به دکمه ها و چیز های دیگه میدیم مشکل داره اما اگر هیچ رنگی به دکمه ها ندهیم برنامه در اندروید اجرا میشه و من واقعا نمیدونم چیکار کنم لطفا هر چی سریع تر راهنمایی کنید اگر این جوری باشه زبان کیوی ام دی و کیوی هیچ کاربردی ندارن فقط وقت مارو میگیره و اخر سر موقع خروجی گرفتن کلی اذیت میکنه و به هیچ نتیجه ای هم نمیرسیم

  72. طاها گلبن (خریدار محصول)

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

  73. وحید (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. رنگ پیش فرض فونت سفیده. این خطا ممکنه با توجه به کدی که نوشتید علت های مختلفی داشته باشه. مثلا شاید کدتون شبیه این لینک (+) به دلیل سنگین بودن Thread اصلی رو کند کرده و نمی گذاره برنامه بالا بیاد. گاهی کوئری های سنگین با دیتابیس و یا … ریسمان اصلی (UI) رو کند یا قفل میکنه که باید این طور کارها رو بندازین داخل ریسمان دیگه ای. البته اگه اپ شما اپ ساده ای هست و از این دست عملیات نداره احتمال بیشتری داره که ایراد از کدنویسی شما باشه مثل این لینک (+). گوگل کنید black screen kivy

  74. amirrezasobhi021@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. ببینید راه استانداردی در حال حاضر نیست. البته نمونه ‌هایی از کیوی استودیوی توسعه داده شده توسط افراد علاقه مند شبیه به این kivy studio موجود هست اما بنده راستش امتحانشون نکردم.
      در مورد پسوند فایل کافیه که در نمایش پسوند فایل یا file extension رو در ویندوز جستجو کنید. خیلی ساده میشه اون رو فعال کرد و به این شکل وقتی تغییر نام بدین فرمت هم عوض میشه.

  75. مهدی علیزاده (خریدار محصول)

    خیلی ممنونم. 20speed رو تهیه کردم و جواب بود.
    واقعا از راهنماییتون ممنونم

    • مصطفی آصفی

      سلام خوشحالم که حل شد. خیلی ممنون که اطلاع دادین.

  76. مهدی علیزاده (خریدار محصول)

    عرض سلام و احترام خدمت شما استاد عزیز
    ببخشید سوالی داشتم خدمتتون. بنده برای گرفتن فایل اندرویدی از vpn تیکنت استفاده میکردم و کارم هم انجام میشد(ubuntu==20.04, python==3.8). امروز همین کار رو بعد از مدت ها انجام دادم ولی علی رغم اینکه vpn متصل شده. خروجی با اروری مواجه میشم که گویا بدون vpn دستور رو اجرا میکنم. میخواستم در این باره ازتون راهنمایی بگیرم. ممنونم

    • مصطفی آصفی

      سلام به شما. بله ظاهرا تیکنت پلاس دیگه به راحتی به سرورهای گوگل وصل نمیشه. از 20speed استفاده کنید امیدوارم جواب بده.

  77. سالار دری

    سلام آقای آصفی، ممنون بابت دوره های جذاب و کاملی که ارايه میدید
    به نظر شما من این دوره رو تهیه کنم(یعنی kivy یاد بگیرم) یا دوره جامع کاتلین(یعنی کاتلین یاد بگیرم)
    یکسال هم هست پایتون کار میکنم(بازم تشکر چون از آموزش های شما خیلی استفاده کردم)
    نمیدونم kivy به خوبی کاتلین یا فلاتر و … هست یا نه
    شما پیشنهاد میدید چیکار کنم
    و اینکه خودمم حس میکنم ۱ سال کمه برای اولین زبان و باید بیشتر توی پایتون بمونم بعد برم سراغ زبان(زبان های) بعدی
    لطف بزرگی میکنید اگر راهنمایی کنید

    • مصطفی آصفی

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

  78. علیرضا شجاعی

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

    • مصطفی آصفی

      سلام به شما. سلامت باشید. ممنون از پیام دلگرم کننده شما.
      ببینید کیوی به لحاظ کار با API اندروید تقریبا محدودیتی نداره. برای مثال ما در پایان همین دوره تو پروژه ای که پیاده می کنیم در مورد کار با GPS به عنوان یک نمونه کار با تجهیزات بومی دستگاه ها صحبت می کنیم. این که چطور کدی بنویسیم که روی اندروید و iOS با سخت افزار ارتباط متناسب بگیریم. این مخزن (+)‌ هم نمونه کدهای دیگه ای داره که در پایان این دوره برای شما خیلی گویاتر میشن.

      کیوی دو محدودیت عمده داره:
      ۱- پلتفرم ها (به ویژه اندروید) به سرعت تغییر می کنه و کمی طول می کشه تا توسعه دهنده های کیوی یا کتابخونه های متن باز اون آخرین تغییرات رو به صورت پایتونی ارائه کنن.
      ۲- پشتیبانی کیوی از زبان فارسی همچنان محدوده. البته در طول دوره در این مورد صحبت کردیم اما همچنان مواردی هست ضعیف هستن. برای اپ هایی که خیلی به زبان فارسی نیازمند هستن کار تطبیق زبان سخت و در برخی موارد (مثل file chooser) همچنان با محدودیت مواجه هست. در عوض اگه برای مثال یه اپ بازی یا یه اپ کاربردی قصد دارین بزنین (به ویژه اگه از کتابخونه های خوب پایتون)‌ بشه استفاده کرد کیوی گزینه خوبیه.

  79. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی
    یک کتابخونه با kivymd با روش oop طراحی کردم که فقط با یک خط کد می تونم هر نوع اپی رو طراحی کنه
    و ویژگی ویجت ها و تعداد ویجت ها و نوع ویجت ها و … را با متد input مشخص میشه
    هر چند غیر اصولی ساخته میشه ولی در اخر یک فایل kv هم بما میده یعنی هم اپ رو داریم هم فایل kv اون رو
    می خواستم نظر شما رو در مورد این کتابخونه که نوشتم بدونم و یک سوال دیگه اینکه چطور می تونم از طراحی اپ درامد کسب کنم

    • مصطفی آصفی

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

  80. حسین مطهری فر (خریدار محصول)

    سلام
    به شیوه ای که گفتید خروجی exe گرفتم و برنامه به خوبی کار می کند( به صورت نمایش کل فایلهای وابسته). ولی وقتی به صورت onefile خروجی exe گرفتم در آخرین لحظه ارور زیر را می دهد و وارد برنامه نمی شود.
    Traceback (most recent call last):
    File “main.py”, line 361, in
    kvFile = Builder.load_file (‘most.kv’)
    File “kivy\lang\builder.py”, line 304, in load_file
    FileNotFoundError: [Errno 2] No such file or directory: ‘most.kv’
    [11076] Failed to execute script main

    • مصطفی آصفی

      سلام مجدد. خطا داره میگه که فایل exe فایل most.kv رو پیدا نمی کنه. شاید فایل spec رو به درستی تنظیم نکردین. این لینک (+) می تونه کمکتون کنه.

  81. حسین مطهری فر (خریدار محصول)

    سلام استاد
    چطور می توانم پنجره برنامه را تمام صفحه کنم البته تمام صفحه که دکمه minimize , maximize , close هم وجود داشته باشه.
    با دستور fulscreen تمام صفحه می شود و لی نوار بالای پنجره حذف می گردد. که مطلوب من نیست. kivy

    • مصطفی آصفی

      سلام به شما. گوگل کردن رو برای برنامه نویس حرفه ای شدن فراموش نکنید. این لینک (+) رو در رابطه با سوالتون ببینید.

  82. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی
    من یک متد نوشتم که یک ویجت می گیره و بعد ورودی های ویجت مثل textو size_hintو… را برامون پر می کنه
    def label( widget, text, text_size, font_size, size_hint,pos_hint,pos ):
    widget.text = text
    widget.font_size = font_size
    widget.text_size = text_size
    widget.size_hint = size_hint
    widget.pos_hint = pos_hint
    widget.pos = pos

    می خوام بعضی از ورودی ها مثل ویژگی pos می خوام رو حالت پیش فرض باشه
    اگر بخوام چیزی بهش ندم تو این متدی که استفاده کردم ارور میده
    چطور حالت پیش فرض خودش رو بدم مثل وقتی که به یک add layout میشه یک pos پیش فرض میگیره

    • مصطفی آصفی

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

  83. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی
    من یک متد نوشتم که یک ویجت می گیره و بعد ورودی های ویجت مثل textو size_hintو… را برامون پر می کنه
    def label( widget, text, text_size, font_size, size_hint,pos_hint,pos ):
    widget.text = text
    widget.font_size = font_size
    widget.text_size = text_size
    widget.size_hint = size_hint
    widget.pos_hint = pos_hint
    widget.pos = pos

    می خوام بعضی از ورودی ها مثل ویژگی pos می خوام رو حالت پیش فرض باشه
    اگر بخوام چیزی بهش ندم تو این متدی که استفاده کردم ارور میده
    چطور حالت پیش فرض خودش رو بدم مثل وقتی که به یک add layout میشه یک pos پیش فرض میگیره

  84. رضا محمدزاده (خریدار محصول)

    سلام مجدد
    فهمیدم مشکل از کجا بود این بود که هر ویجت یک id مخصوص به خودش رو داره
    وقتی یک ویجت رو با یک حلقه در یک دیکشنری append می کنیم انگار یک ویجت رو چندین بار با همان id کپی کردیم و وقتی به یک layout و add کنیم و ران بگیریم به ما ارور می دهد ولی وقتی یک لیست جدا خودمان از ویجت ها به صورت دستی ایجاد کنیم و بعد add کنیم ارور نمی دهد

    • مصطفی آصفی

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

      پی‌نوشت: من بین انبوه نظرات واقعیتش نظر شما رو ندیده بودم. الان که این جواب تازه خودتون رو دیدم متوجهش شدم.

  85. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی من متد زیر را برای ساختن چندین ویجت نوشتم , توی حلقه گفتم اپند کن ویجت رو به x و اخرش return کردم [ ]x , وقتی به یک layout ادد می کنم دیکشنری که از تابع return شده :
    :(widget)def loop
    [ ]=x
    :(0,3)for i in range
    .

    وقتی به یک layout ادد می کنم یکشنری که از تابع return شده و run می گیرم
    خطا میده:

    Traceback (most recent call last):
    File “H:\PYCHARM\ll\test2.py”, line 19, in
    c = with_loop(Button())
    TypeError: with_loop() missing 1 required positional argument: ‘type_of_widget’

  86. رضا محمدزاده (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. خیر این بخش رو باید تفکیک کنید (if بگذارید که مثلا اگه کامپیوتر بود از سلنیوم و اگه اندروید بود از فلان استفاده کن). برای خودکارسازی مرورگر در اندروید برای مثال می تونید Appium رو جستجو کنید.

  87. محمد وحید کوه کن (خریدار محصول)

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

    • مصطفی آصفی

      سلام و بسیار ممنونم که اطلاع دادین.

  88. amir mohammad (خریدار محصول)

    سلام استاد از pyinstaller خروجی kivymd هم گرفتم و مشکلم حل شد و اینجوری بود که یک چیزی رو import کردم و و به پروژه اضافه کردم و مشکل حل شد امیدوارم بقیه هم که مشکل دارن مشکلاتشان حل بشه

    • مصطفی آصفی

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

  89. رضا محمدزاده (خریدار محصول)

    ببخشید هنوز متوجه نشدم باید چکار کنم مشکل حل بشه

    • مصطفی آصفی

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

  90. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی
    نحوه نصب کیوی از سایت مرجع خودش عوض شده
    من بعد از اینکه یک پوشه venv ساختم
    python -m pip install kivy[ full ] kivy_examples توی venv نصب کردم بعد توی sublim text
    kivy رو ایمپورت کردم
    و روی cmd اجرا کردم ارور نداد متن زیر:
    [INFO ] [Logger ] Record log in C:\Users\kavosh\.kivy\logs\kivy_21-05-17_1.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.3.2
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\kavosh\kivy_venv\Scripts\python.exe”

    بعد توی جلسه ی first_app کد رو نوشتم و این ارور میاد:
    (kivy_venv) C:\Users\kavosh\Desktop>python salam.py
    [INFO ] [Logger ] Record log in C:\Users\kavosh\.kivy\logs\kivy_21-05-17_3.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.3.2
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\kavosh\kivy_venv\Scripts\python.exe”
    [ERROR ] [Clock ] Unable to import kivy._clock. Have you perhaps forgotten to compile kivy? Kivy contains Cython code which needs to be compiled. A missing kivy._clock often indicates the Cython code has not been compiled. Please follow the installation instructions and make sure to compile Kivy
    Traceback (most recent call last):
    File “salam.py”, line 1, in
    from kivy.app import App
    File “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\app.py”, line 411, in
    from kivy.base import runTouchApp, async_runTouchApp, stopTouchApp
    File “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\base.py”, line 28, in
    from kivy.clock import Clock
    File “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\clock.py”, line 466, in
    from kivy._clock import CyClockBase, ClockEvent, FreeClockEvent, \
    ModuleNotFoundError: No module named ‘kivy._clock’

    • مصطفی آصفی

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

  91. amirmohammad (خریدار محصول)

    سلام استاد puinstaller نمیتونه اصلا پروژه های kivymd رو خروجی بگیره یا روش خاصی داره چون من پروژه بدون kivymd را راحت خروجی گرفتم ولی پروژه kivymd رو نمیشه خروجی گرفت هر کار کردم نشد که نشد

    • مصطفی آصفی

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

  92. amirmohammad (خریدار محصول)

    سلام شما خودتون هیچ وقت جروجی واسه iosیا osxگرفتید . واسه linux و raspberry pi چی چون حتی هیچ اموزشی توی خود سایت kivy هم نیست که بتونه جروجی linux بده یا raspberry pi. کلا kivy میتونه واسه linuxو raspberry pi جروجی بده یا دروغه چون من هرچی توی نت گشتم اموزشی پیدا نکردم حالا نمیدونم اصلا این واقعی هست یا واسه اینکه kivy بزرگ بشه الکی گفتن که جروجی واسه linux هم میشه گرفت اگه میشه شما اموزشی سراغ دارید که بشه دید یا مقاله که بشه خوند من هیچی پیدا نکردم

    • مصطفی آصفی

      سلام به شما. برای خروجی گیری روی iOS می تونید این آموزش ایجاد بازی و خروجی روی iphone رو ببینید. خود کانال آقای سندبرگ یک خودآموز جامع گام به گام هم در این زمینه داره که باید توی ویدیوها پایین برید تا به حدود 2019 برسید.
      برای خروجی گیری روی لینوکس یا مک هم همون طور که در مورد ویندوز توضیح دادم می تونید از Pyinstaller استفاده کنید. آموزش خروجی گیری با پای اینستالر برای مک یا لینوکس رو به طور کلی جستجو کنید (نه لزوما مربوط به کیوی).

      پی‌نوشت: خروجی گیری از کیوی به طور کلی به خصوص وقتی که کتابخونه های مختلف پایتونی هم تو برنامه استفاده کرده باشید کار آسونی نیست. به خصوص که ممکنه یه کتابخونه به روز شده باشه ولی بیلدوزر یا پای اینستالر هنوز با اون روزآمدی تطبیق پیدا نکرده باشن. یا ممکنه نسخه جدید کتابخونه ای باگ داشته باشه. معمولا باید خطاهای مختلفی رو رفع کنید تا به خروجی برسید؛ اگه اپ خوبی برای ساخت تو ذهن داشته باشید که پایتون و کتابخونه‌هاش بتونن توش نقش مهمی ایفا کنن، ارزشش رو داره.

      پی‌نوشت 2: در حال حاضر کیوی رو برای توسعه اپ های فارسی توصیه نمی کنم.

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

  93. amirmohammad (خریدار محصول)

    روی اندروید که به نظر سخت تر میومد تونستم خروجی بگیرم ولی با pyinstaller هرکار میکنم نمیشه که نمیشه

    • مصطفی آصفی

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

  94. amirmohammad (خریدار محصول)

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

    • مصطفی آصفی

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

  95. محمد وحید کوه کن (خریدار محصول)

    سلام استاد بازم وقتتون بخیر.. من قبلا برای برنامه از فونت iransans استفاده میکردم به همون روش دستی که گفته بودین جایگزین روبوتو کردم و خیلی هم خوب جواب داد.. اما الان نسخه جدیدی که دیروز از ایران سنس منتشر شد خریداری کردم و به همون روش جایگزین کردم که متاسفانه دو تا حرف “ی” و “ر” به صورت مربعی نمایش داده میشن و اصلا نمیدونم مشکل از کجاست که بقیه حروف سالمن و این دو تا مشکل دارن.. خود طراح فونت هم جوابی براش نداشت.. خواهش میکنم باز هم مثل همیشه محبت کنین راهنمایی بفرمایین ممنون

    • مصطفی آصفی

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

  96. طاها گلبن (خریدار محصول)

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

  97. طاها گلبن (خریدار محصول)

    استاد وقتتون بخیر من با یه مشکل مواجه شدم که اگر تا فردا حل نشه نمیتونم نمره کار اموزیمو بگیرم مشکل من اینه که وقتی فایل اگزه از کیوی ام دی میگیرم موقع ران کردن فایل اگزه به مشکل بر میخورم تمام مراحلی هم که شما گفتین رو از خود سایت کیوی طی کردم و تونستم از فایل کیوی خروجی اگزه بگیرم و کار کرد اما از فایل کیوی ام دی خروجی اگزه میگیرم و موقع ران کردن فایل اگزه با ارور در سی ام دی مواجه میشم: C:\Users\taha\Desktop\prkh\dist>taha.exe
    [INFO ] [Logger ] Record log in C:\Users\taha\.kivy\logs\kivy_21-05-05_92.txt
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\taha\AppData\Local\Temp\_MEI60042\kivy\__init__.pyc”
    [INFO ] [Python ] v3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\taha\Desktop\prkh\dist\taha.exe”
    [INFO ] [KivyMD ] v0.104.1
    [INFO ] [Factory ] 186 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
    [INFO ] [Window ] Provider: sdl2
    [INFO ] [GL ] Using the “OpenGL” graphics system
    [INFO ] [GL ] GLEW initialization succeeded
    [INFO ] [GL ] Backend used
    [INFO ] [GL ] OpenGL version
    [INFO ] [GL ] OpenGL vendor

    [INFO ] [GL ] OpenGL renderer

    [INFO ] [GL ] OpenGL parsed version: 4, 3
    [INFO ] [GL ] Shading version

    [INFO ] [GL ] Texture max size
    [INFO ] [GL ] Texture max units
    [INFO ] [Window ] auto add sdl2 input provider
    [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
    [INFO ] [Text ] Provider: sdl2
    Traceback (most recent call last):
    File “main.py”, line 1, in
    from kivymd.app import MDApp
    File “”, line 983, in findand_load
    File “”, line 967, in findand_load_unlocked
    File “”, line 677, in loadunlocked
    File “PyInstaller\loader\pyimod03_importers.py”, line 540, in exec_module
    File “kivymd\app.py”, line 47, in
    File “”, line 983, in findand_load
    File “”, line 967, in findand_load_unlocked
    File “”, line 677, in loadunlocked
    File “PyInstaller\loader\pyimod03_importers.py”, line 540, in exec_module
    File “kivymd\theming.py”, line 42, in
    File “”, line 983, in findand_load
    File “”, line 967, in findand_load_unlocked
    File “”, line 677, in loadunlocked
    File “PyInstaller\loader\pyimod03_importers.py”, line 540, in exec_module
    File “kivymd\font_definitions.py”, line 49, in
    File “kivy\core\text\__init__.py”, line 315, in register
    OSError: File C:\Users\taha\AppData\Local\Temp\_MEI60042\kivymd\fonts\Roboto-Regular.ttf not found
    [1392] Failed to execute script main لطفن کمکم کنید کارم خیلی ضروریه .این هم محتویات داخل فایل اسپک من هست ایا نباید چیزی بهش اضافه کنم؟ # -*- mode: python ; coding: utf-8 -*-

    from kivy_deps import sdl2, glew

    block_cipher = None

    a = Analysis([‘C:\\Users\\taha\\Desktop\\pr\\main.py’],
    pathex=[‘C:\\Users\\taha\\Desktop\\prkh’],
    binaries=[],
    datas=[],
    hiddenimports=[],
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False)
    pyz = PYZ(a.pure, a.zipped_data,
    cipher=block_cipher)
    exe = EXE(pyz,Tree(‘C:\\Users\\taha\\Desktop\\pr’),
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
    [],
    name=’taha’,
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True )

    • مصطفی آصفی

      سلام به شما. من متاسفانه الان به سیستم دسترسی ندارم. چون عجله دارین ناچار همین جا بررسی کردم. مشکل از فونته. خطا داره میگه فونت roboto-regular رو پیدا نمی کنه.

  98. javid

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

    • مصطفی آصفی

      سلام به شما. بله مشکلی نداره. فقط همون طور که پایینم توضیح دادم و در بسته هم در بخش متریال دیزاین (بخش دوم) توضیح داده شده، توسعه اپ های فارسی زبان با کیوی دشواره و در بعضی بخشا مثل file chooser هنوز کامل نیست.

  99. tarasalehi1500@gmail.com

    سلام استاد خیلی خیلی مرسی از راهنماییتون با کلاسای شما واقعا تاثیر خیلی خوبی روم گذاشته شده ازتون سوال داشتم اون بخش جدیدی که به من گفتین تو دوتا کامنت قبل کی پخشش میکنید ؟؟؟؟ من منتظر اونم😅♥️

    • مصطفی آصفی

      سلام به شما. دوست عزیزم شما تا به حال دوره ای رو از هم رویش تهیه نکردین. نمی دونم چطور دوره ها رو دیدین که تاثیر داشته.
      لطفا آموزش های هم رویش رو فقط از هم رویش تهیه کنید. حداقل بهای ممکن برای آموزش ها گذاشته شده که هم عزیزان مثل شما بتونن تهیه کنن و هم اشتغال هم رویش پابرجا بمونه.
      در مورد آموزش پای کیوت هم انشالله به زودی در هم رویش منتشر میشه. هم رویش رو در شبکه های اجتماعی با شناسه hamruyesh دنبال کنید تا به موقع مطلع بشین.

  100. سمیه (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. سلامت باشید.
      اگه قراره که اپ شما یک آزمون فردی بگیره و شخص فقط آزمون رو بده و خودش رو ارزیابی کنه می تونه آفلاین باشه با دیتابیس برجا. در این صورت چون می بینم به تازگی بسته رو تهیه کردین توصیه می کنم آموزش رو تا پایان ببینید. تو بخش سوم که پروژه محور هست به ساخت دیتابیس هم می پردازیم.
      اما اگه نه؛ قرار باشه که کاربر آزمون رو بده و نتایجش جای دیگه ای برای مدیر سیستم ثبت بشه پس باید اپ تحت سرور باشه. در این صورت باز هم تو همون بخش سوم در مورد API هم صحبت شده. وقتی اون بخش رو دیدین و یاد گرفتین که با API در کیوی کار کنید باید برید و این آموزش Django REST رو ببینید که بتونید سرور رو هم با پایتون و جنگو بزنید (البته اگه به طور کلی با مفاهیم وب و جنگو آشنا نیستید اول این آموزش جنگو رو ببینید بعد آموزش Django REST).

  101. tarasalehi1500@gmail.com

    سلام استاد خسته نباشید من میخواستم یه اپلیکیشن موبایلی برای یک رستوران بسازم به زبان پایتون به واسطه اموزش های قبلی تسلط کامل دارم برای همین الان اومدم تا با استفاده از کیوی یک اپلیکیشن بسازم فقط سه تا سوال داشتم که ممنون میشم جواب بدید. سوال اول این که متوجه شدم که کیوی در فارسی کمی ضعف داره خواستم بپرسم اگر من به جای گزینه های خودم عکس بزارم کارم راه میوفته؟ مثلا به جای این که بخشی درست کنم به نام منو یک عکسی از منو بزارم داخل اپلیکیشنم که وقتی کاربر روی اون عکس بزنه وارد بخش منو بشه یا مثلا به جای اسم‌نوشیدنی ها عکس نوشیدنی هارو بزارم که اگر کاربر اون عکس رو انتخاب کنه اون نوشیدنی به سبد خریدش اضافه بشه. ایا این کار شدنیه؟ و سوال دوم این که این‌امکان که کاربر ها باهم‌در این اپلیکیشن در ارتباط باشن رو هم میشه ایجاد کرد با استفاده از این اموزش ها البته ارتباط نه به صورت خیلی حرفه ای در این حد که مثلا مشتریانی که یک غذا سفارش دادن باهم وارد یک گروه بشن و نوبت در اون گروه بهشون اعلام بشه. ایا میشه این امکان رو ایجاد کرد؟ و سوال سوم این که میتونیم هر روز که خواستیم تغیرات رو در داخل برنامه برای کاربران ایجاد کنیم؟ مثل اضافه کردن غذا یا بخش جدید؟

    خیلی ببخشید از زیاد حرف زدم ولی اگر جواب این سه تا سوال رو بدید من خیلی از مشکلاتم حل میشه و با استفاده از این دوره اپ خودمو میسازم خیلی خیلی ممنون🙏🌹🌹

    • مصطفی آصفی

      سلام به شما.سلامت باشین.
      در مورد بخش اول سوالتون ممکنه بتونید با گذاشتن عکس به جای متن مشکل رو حل کنید اما اپلیکیشن ها جزئیات زیاد دارن و نمی تونم قطعی نظری بدم که حتما با استفاده از این ترفند دیگه مشکلی نخواهید داشت.
      به جای کیوی از پای کیوت هم میشه استفاده کرد که انشالله به زودی آموزش اون هم در هم رویش خواهیم داشت. پای کیوت مشکل فارسی نویسی نداره اما خروجی گیری اندروید و iOS در اون به سادگی نیست.
      من توصیه می کنم شما این آموزش رو ببینید و آموزش پای کیوت هم که منتشر شد اون رو هم ببینید. بعد با آگاهی از امکاناتی که دارین بین کیوی و پای کیوت انتخاب کنید.
      در مورد بخش دوم سوالتون ببینید تعامل کاربران و تغییرات برنامه معمولا سروری باید مدیریت بشه. توصیه می کنم این آموزش Django REST رو ببینید که با پایتون بتونید سرور رو هم آماده کنید. وقتی به بخش سوم این آموزش کیوی برسید استفاده از API رو فرامی گیرید و از اون طرف هم می تونید با Django REST برای کارهای مختلف API تولید کنید. مثلا فهرست محصولات رستوران رو می تونید تو سرور تعریف کنید که هر وقت خواستید بدون تغییر اپلیکیشن فقط تو سرور فهرست رو به روز کنید و کاربرا بار بعد که اپ رو باز کردن تغییر تازه رو ببینن. اپ های بزرگ آنلاین این طور کار می کنن.

  102. رضا محمدزاده (خریدار محصول)

    سلام نحوه نصب کیوی تغییر کرده و چیز هایی که شما برای نصب کیوی در جلسه دوم توضیح دادید در سایت کیوی نیست اما من یک (venv) در پای چارم ساختم و با ترمینال پای چارم با دستور (python -m pip install –upgrade pip setuptools virtualenv)و (python -m pip install kivy[base] kivy_examples) کیوی رو ایمپورت کردم اولین کد در درس سوم را نوشتم اما با ارور (venv) H:\PYCHARM\kivyyy>python ff.py
    [INFO ] [Logger ] Record log in C:\Users\kavosh\.kivy\logs\kivy_21-04-29_4.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.3.2
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “H:\PYCHARM\kivyyy\venv\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 16:30:00) [MSC v.1900 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “H:\PYCHARM\kivyyy\venv\Scripts\python.exe”
    [INFO ] [Factory ] 186 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds, img_pil (img_sdl2, img_ffpyplayer ignored)
    [INFO ] [Text ] Provider: pil([‘text_sdl2’] ignored)
    [CRITICAL] [Window ] Unable to find any valuable Window provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
    sdl2 – ImportError: DLL load failed: The specified module could not be found.
    File “H:\PYCHARM\kivyyy\venv\lib\site-packages\kivy\core\__init__.py”, line 62, in core_select_lib
    fromlist=[modulename], level=0)
    File “H:\PYCHARM\kivyyy\venv\lib\site-packages\kivy\core\window\window_sdl2.py”, line 27, in
    from kivy.core.window._window_sdl2 import _WindowSDL2Storage

    [CRITICAL] [App ] Unable to get a Window, abort.

    • مصطفی آصفی

      سلام به شما. این مشکل لزوما مرتبط با نسخه جدید کیوی نیست. مشکلیه که در نسخه های قبلی هم کاربران با پیشنیازها داشتن. برای مثال این پرسش و پاسخ رو ببینید.

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

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

      پی‌نوشت – چون مشکلات نصب ابزارها مدام تغییر می کنه (به خصوص پایتون که کتابخونه ها زنجیزه ای به هم وابسته هستن) توصیه می کنم، خود خطای دریافتی رو گوگل کنید که خودکفا بشین.

  103. حسین مطهری فر (خریدار محصول)

    سلام هنگام تهیه apk تا 60 در صد هم پیش رفتم و سپس خطا داد.و پس از آن دیگه 1 درصد هم جلو نمیره و خطا تکرارا میشه. Apache ANT found at /home/hossein/.buildozer/android/platform/apache-ant-1.9.4
    # Android SDK found at /home/hossein/.buildozer/android/platform/android-sdk
    # Recommended android’s NDK version by p4a is: 19c
    # Android NDK found at /home/hossein/.buildozer/android/platform/android-ndk-r17c
    # Installing/updating SDK platform tools if necessary
    # Check configuration tokens
    # sdkmanager path “/home/hossein/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager” does not exist, sdkmanager is notinstalled
    hossein@ubuntu:~/Desktop/most_app$

    • مصطفی آصفی

      سلام. خطا نشون میده که sdk اندروید به درستی برای شما نصب نیست.
      sdkmanager is notinstalled
      این خطا معمولا به دلیل ضعف VPN هست. یه VPN پولی مناسب کرایه کنید که بدون افت سرعت و قطع شدن بتونید SDK و موارد لازم رو از سرور گوگل بگیرید. تیکنت بد نیست.

  104. reza.bigdeli.job@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

      سلام آقای بیگدل. متن خطای دریافتی رو بفرمایید تا منم اگه کاری به ذهنم رسید خدمتتون عرض کنم.

  105. محمد وحید کوه کن (خریدار محصول)

    با عرض سلام مجدد خدمت شما استاد بنده با استفاده از آموزش خوب شما در برنامه نسبتا سنگینی رو بر پایه کیوی برای ویندوز نوشتم و میخوام برای این اپ یک صفحه برای خرید اشتراک مثلا سه ماهه و 6 ماهه و… غیره قرار بدم و واقعا نمیدونم این کار رو به چه شکا انجام بدم مثلا اینکه چطور کاربر به صحفه پرداخت هدایت بشه نرم افزار چطور از این پرداخت مطمئن میشه؟ این اطلاعات کاربر رو چطور در یک دیتابیس ذخیره کنم و نرم افزار موقع login چطور این اطلاعات رو از دیتابیس دریافت کنه که مثلا اجازه ورود به کاربر بده یا نه.. پ.ن: من با استفاده از idpay لینک پرداخت برای پلن های مختلف رو ساختم و واقعا بقیه کار رو نمیدونم باید چه کنم؟ مثلا میشه یه صفحه با wordpress طراحی کرد که پرداخت ها اونجا شه و در همون دیتابیس نرم افزار ذخیره شه یا نه؟ در کل میخوام بدونم برایا این منظور چه آموزش هایی رو باید ببینم اگر آموزشی(ترجیحا با تدریس خودتون) هست ممنون میشم معرفی کنید.. بسیار متشکرم از وقتی که برای خوندن پیام بلند من گذاشتید

    • مصطفی آصفی

      سلام به شما. آقای کوه کن شما برای پیاده سازی درگاه پرداخت می تونید از API استفاده کنید.
      درگاه های پرداخت مثل زرین پال، این ها اغلب یه مجموعه Web API ارائه می کنن. فرآیند کار این طوره که شما از داخل اپ با صدا زدن API کاربر رو به درگاه پرداخت می فرستید و وقتی پرداخت کرد تو دیتابیس به نام اون کاربر یه شناسه پرداخت ثبت می کنید و مثلا وضعیتش رو تو یه فیلد مثلا 1 ثبت می کنید یعنی این کاربر فعاله (پرداخت کرده)
      راجع به صدا کردن و مفهوم API تو اپ صحیت کردیم. راجع به کار با دیتابیس هم الان اطلاعات لازم رو دارید. تو اپ یه دیتابیس ساختیم با هم.
      حالا کافیه همت کنید و برید مستندات یه درگاه پرداخت مثل زرین پال یا زیبال یا … رو در مورد API اون ها بخونید.

  106. حسین مطهری فر (خریدار محصول)

    جناب مهندس مشکل حل شد.در venv کتابخانه arabic_reshaper نصب نبود

    • مصطفی آصفی

      سلام و ممنونم که اطلاع دادین.

  107. حسین مطهری فر (خریدار محصول)

    پیرو سوال قبلی بنده هم در فایل main از arabic reshaper و bidi استفاده کردم و هم در فایل kv دستورات #:import a arabic_reshaper.reshape
    #:import f bidi.algorithm.get_display را استفاده کردم(برای فارسی سازی) که به خوبی کار می کنه ولی در ساخت فایل exe خطای exception : default configuration file c:\users\…\dist\penfit\arabc_reshaper\default-config.ini not found, check the module installation…Failed to execute script main____ لطفا راهنمایی جامع بفرمایید.( ظاهرا مشکل مربوط به فایل default-config.ini در arabic reshaper ).

  108. حسین مطهری فر (خریدار محصول)

    سلام پیرو مشکلم که جلوتر گفتم در خصوص اجرای فایل exe که نهایتا پنجره ای باز می شود و پس از 1 ثانیه بسته می شود متوجه خطا شدم._________ exception : default configuration file c:\users\…\dist\penfit\arabc_reshaper\default-config.ini not found, check the module installation…Failed to execute script main____ لطفا راهنمایی جامع بفرمایید. ظاهرا مشکل مربوط به فایل default-config.ini در arabic reshaper می باشد .

  109. حسین مطهری فر (خریدار محصول)

    سلام فرمودید قطعه کد در خصوص super و اینکه چرا نمیتوان به اتربیوت ها و متد های سایر کلاس اسکرین ها با اشاره به اسم آن کلاس و گذاشتن نقطه جلوی آن دسترسی داشت؟. همانند کلاس ها در python..مثلا استفاده از Page1.val.text جهت دسترسی داشتن به اتربیوت val در کلاس Page2, که در کلاس Page1 می باشد. در کد زیر پرا self ارگمان دوم است.و چرا باید از super استفاده کرد؟؟
    class WinningPopup(Popup):
    pass

    class MyScreenManager(ScreenManager):

    def __init__(self, **kwargs):
    super(MyScreenManager, self).__init__(**kwargs)
    self.current = “screen2” # display ScreenTwo

    class ScreenTwo(Screen):
    result = StringProperty(“Testing-1-2-3”)

    def __init__(self, **kwargs):
    super(ScreenTwo, self).__init__(**kwargs)
    self.Winning() # display popup

    def Winning(self):
    wp = WinningPopup()
    wp.ids.winning_label.text = self.result
    wp.open()

    class TestApp(App):

    def build(self):
    return MyScreenManager() ____________________________________________________________kv__________________________ #:kivy 1.10.0

    :
    id: winning_popup
    Label:
    id: winning_label

    :
    ScreenTwo:
    name: “screen2”

    : https://stackoverflow.com/questions/46543693/how-to-access-the-value-from-another-class-screen-kivy

    • مصطفی آصفی

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

  110. حسین مطهری فر (خریدار محصول)

    سلام پیرو مشکلم که جلوتر گفتم در خصوص اجرای فایل exe که نهایتا پنجره ای باز می شود و پس از 1 ثانیه بسته می شود متوجه خطا شدم._________ exception : default configuration file c:\users\…\dist\penfit\arabc_reshaper\default-config.ini not found, check the module installation…Failed to execute script main____ لطفا راهنمایی جامع بفرمایید.

  111. جاوید

    سلام وقت بخیر، آیا کیوی با مانگو دیبی به راحتی کار میکنه یا نه؟

    • مصطفی آصفی

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

  112. محمد وحید کوه کن (خریدار محصول)

    با عرض سلام و خسته نباشید خدمت جناب آصفی و تبریک بابت دوره جامع و خوبتون.. اول از همه خواستم تشکر کنم، من برای مسائل مختلف پایتون آموزش های زیادی از اساتید و سایت های مختلف دیدم ولی بجرات میگم بهترین کیفیت، مسئولیت پذیری، لحن و طرز بیان رو بین تمام اساتید دارید.. سوال بنده این هست که در kivy gridlayout و boxlayout سطر ها response خوبی نسبت به صفحه دارند ولی در kivymd این دو مورد نسبت به صفحه(بیشتر تغییر عمودی سایز صفحه منظوره) response خوبی ندارن و موقعیتشون نسبت به هم تغییر نمیکنه جوابی هم براش با سرچ پیدا نکردم چطور میتونم این مشکل رو حل کنم که ضمن تغییر فاصله متناسب سطر ها روی همدیگه نرن.. ممنون از شما

    • مصطفی آصفی

      سلام به شما. ممنونم از انرژی خوبتون و خوشحالم که آموزش براتون مفید بوده.
      راستش در این مورد به خصوص من تجربه مشابهی ندارم ولی چون سورس کد ویجت های kivy و kivymd هر دو موجوده توصیه می کنم اگه یه عملکردی تو کیوی خوبه و تو kivymd بده (با توجه به این که ویجت های کیوی ام دی از کیوی ارث می برن، برید سورس رو بررسی و رفتار لازم رو از یکی به دیگری وارد و یک ویجت اختصاصی ویژه خودتون تعریف کنید.

  113. حسین مطهری فر (خریدار محصول)

    سلام مجدد.ممکنه در خصوص متد super توضیح بدهید( توضیح پیشرفته) و اینکه چرا گاها self به عنوان ارگومان دوم استفاده میشه. مثلا super) Page1, self(…..

    • مصطفی آصفی

      سلام مجدد. ببینید چون این یه بحث فلسفی در برنامه نویسی هست، اگه با لینک به مستندات کیوی بگید برای مثال کدوم متد منظورتون هست بهتر می تونم براتون با همون مثال توضیح بدم.

  114. حسین مطهری فر (خریدار محصول)

    سلام استاد ممنون از آموزش عالیتان . بنده بعد از اینکه نتونستم خروجی apk بگیرم ( علیرغم تمام سرچ ها و آزمایش و خطا ها ) خواستم خروجی exe بگیرم و تمام مراحل را پیش رفتم و نهایتا در هنگام اجرای فایل exe ، لحظه ای پنجره سیاه رنگی باز می شود و اجرای برنامه متوقف می شود.( بدون هیچ ارور). اما با اجرای همان مراحل توانستم یک Label ساده را خروجی exe بگیرم.یعنی مشکل از برنامه هستش.برنامه در ide به خوبی کار می کند.پیشنها شما چیست؟؟؟

    • مصطفی آصفی

      سلام و ممنون از لطف شما. در مورد apk و exe هر دو کار سختی پیش رو دارید. ولی دوستان متعددی که فراگیر این دوره بودن اگه پایین تر بخونید (یا در بخش نظرات فصل ها به صورت جداگانه)،‌ نهایتا موفق میشن.
      در مورد فایل apk لاگ خطا رو گزارش کنید. در مورد exe این که پنجره موقتا باز میشه و بسته میشه هم باز علت های مختلفی ممکنه داشته باشه. طبیعتا تا خطایی گزارش نکنید نمی تونم کمک کنم.
      ولی توصیه می کنم این آموزش ساخت exe در پایتون و نظرات اون رو هم مطالعه کنید.

  115. رضا (خریدار محصول)

    سلام آقای آصفی امیدوارم حالتون خوب باشه
    به نظرتون میشه بر اساس اصل جداسازی دغدغه ها به جای نوشتن در فایل کیوی یا “”” “””=kv که خیلی زمان بر هستش در یک ماژول جداگونه اسکریپ پایتونی کد های مربوط به فرانت رو طوری بزنیم که ide کمکمون کنه و بعد ماژول رو ایمپورت کنیم؟

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

    • مصطفی آصفی

      سلام به شما. در مورد سوال اولتون ایده بدی نیست اما در مورد برنامه های پر ویجت به نظرم کار سخت تر میشه. این Kivy Studio رو هم توصیه می کنم ببینید.

      در مورد پایچارم 2021 خیلی ممنونم برای اشتراک گذاری تجربه ارزنده خودتون. حتما بررسی می کنم.

  116. | (خریدار محصول)

    البته سیستم عاملم لینوکس هست استاد

  117. | (خریدار محصول)

    من دستی نوشتم ولی تو ترمینال به ارور میخوره
    ارور:
    ERROR: Could not find a version that satisfies the requirement kivy_deps.gstreamer==0.1.*
    ERROR: No matching distribution found for kivy_deps.gstreamer==0.1.*

    ERROR: Could not find a version that satisfies the requirement kivy_deps.sdl2==0.1.*
    ERROR: No matching distribution found for kivy_deps.sdl2==0.1.*

  118. | (خریدار محصول)

    سلام استاد
    زمانی که میخوام kivy رو نصب کنم در ویديو ها دو دستور هست که شما وارد ترمینال میکنید که الان وجود نداره اگر این دو دستور رو نزنم اشکالی پیش نمیاد؟
    دستورات: python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*

    python -m pip install kivy_deps.gstreamer==0.1.*

    • مصطفی آصفی

      سلام به شما. بله در دستور نصب نسخه 2 این دو پیشنیاز حذف شده.
      من امتحان نکردم ولی احتمالا در خود اون نصب پیش فرض قرار داده شدن.
      نیازی نیست دستی بنویسیدشون.

  119. رضا (خریدار محصول)

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

    و برای تمرین بیشتر در شی گرایی،پیشنهاد میکنم این بسته رو تهیه کنید:
    https://hamruyesh.com/product/pygame-tutorial-python-game-development/

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

    • مصطفی آصفی

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

  120. | (خریدار محصول)

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

  121. alireza.rick@gmail.com (خریدار محصول)

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

  122. alireza.rick@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. ببینید در مورد بخش اول آموزش سورس ها ابتدایی هستند و در موارد لزوم به خود درس ها پیوست شدن.
      در مورد بخش های دوم (KivyMD و اپلیکیشن نقشه) هم که در گیت هاب هستن به راحتی می تونید کل سورس رو به صورت یک فایل زیپ دریافت کنید. تو صفحه مخزن گیت هاب پروژه (لینکی که پیوست شده) روی دکمه سبزرنگ Code بزنید و بعد روی Download Zip بزنید. دریافت کدها به این شکل خیلی ساده ست.

      پی‌نوشت: به عنوان برنامه نویس شما باید با گیت و گیت هاب راحت کار کنید. محیط گیت هاب خونه برنامه نویس هاست و بنده به عمد شما رو برای دریافت سورس به گیت هاب هدایت می کنم.
      برای آشنایی با گیت این آموزش رایگان گیت (+) رو ببینید. بعد یه آموزش گیت هاب رو هم تماشا کنید که حتی بتونید حرفه ای تر از سورس ها روی خود گیت هاب یا با کلون کردن اون ها استفاده کنید.

  123. Parham

    سلام استاد سایت شمارو یکی از دوستان به من معرفی کرد و من الان یه سوالی دارم و اون هم این که من با یادگیری کامل این بسته میتونم بازی مثل کوییز اف کینگ رو بسازم؟ من متوجه این موضوع شدم که برنامه کیوی برای برنامه نویسی به زبان فارسی یکم مشکل و ضعف داره برای همین این سوال رو میپرسم

    • مصطفی آصفی

      سلام به شما. بله به کمک کیوی و ترکیبش با پای گیم (+) می تونید با پایتون بازی تولید کنید. اگر بحث آنلاین بودن بازی رو بخواهید پیاده سازی کنید باید در پایان این دوره، آموزش Django REST هم ببینید که بتونید API تولید و در اپ خودتون استفاده کنید.
      البته بازی کوییز آف کینگز تا جایی که بنده اطلاع دارم نیازی به پای گیم و محیط بازی قهرمانی نداره. بیشتر اپلیکشین زیبا میخواد و محیط مسابقه فکریه.
      اگه روی استفاده از پایتون برای هوش مصنوعی در خود گوشی (مثلا با استفاده از تنسورفلو لایت) اصرار داشته باشید و همین طور حتما نیاز به توسعه کراس پلتفرم دارید، می‌تونید از کیوی استفاده کنید ولی برای استفاده از کیوی باید صبور باشید و زحمت زیادی بکشید که اول بتونید فرانت اند بازی رو کامل کنید. به خصوص این که برای فارسی سازی در کیوی در مواردی به دشواری میشه و در مواردی هم هنوز کار کامل نشده و اصلا نمیشه به خوبی فارسی سازی کرد.
      این طور نیست که شما صرفا با دیدن این آموزش و آموزش های جنگو بتونید یک بازی آنلاین ایجاد کنید. زحمت زیادی داره. به خصوص بحث گرافیک که خب در مورد بازی ها باید خیلی خاص باشه. با کیوی شما می تونید اپ های متریال زیبا درست کنید اما نه لزوما اپ های بازی با گرافیک متعارف.

      من توصیه می کنم برای شروع بازی سازی از یونیتی استفاده کنید. خیلی راحت تر هستید. دوبعدی و سه بعدی هم میشه کار کرد و خروجی اندروید و iOS هم میشه گرفت. بعد برای آنلاین کردن بازی از جنگو و پایتون در قلب سرور خودتون استفاده کنید. با Django REST (+) می تونید API بسازید و از دل یونیتی با سرور پایتونی ارتباط بگیرید. هوش مصنوعی هم در سرور می تونید پیاده کنید.

  124. | (خریدار محصول)

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

  125. | (خریدار محصول)

    هیچ اروری نمیده استاد فقط نقشه رو نشون نمیده

    • مصطفی آصفی

      سلام به شما. لطفا لاگ ترمینالتون رو بررسی کنید. و ضمنا دقت کنید کلیدتون برای استفاده از نقشه معتبر باشه.
      ممکنه که کدتون داره به درستی عمل می کنه اما سرویس دهنده نقشه در دسترس نیست. می تونید در اون بخش فراخوانی نقشه یک کد محک بگذارید. مثلا بخشی از داده های نقشه (مثلا مرکز نقشه) رو با print در ترمینال چاپ کنید ببینید مراحل گام به گام به درستی پیش می رن یا خیر.

  126. koshkian1000@gmail.com

    سلام میشه بگید با دیدن این دوره چند درصد از kivy رو یاد میگیریم

    • مصطفی آصفی

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

  127. rohimohamadamin@gmail.com (خریدار محصول)

    سلام استاد من داشتم برنامه اخر دوره شمارو مینوشتم ولی نه به اون شکلی که شما نوشتید شکلش این طوره که یک kv در بالا برنامه مینویسم و بعد توسط دستور load_string(kv( لودش میکنم ولی بالا نیماد نقشه (mapview) میخواستم بدونم نکته خاصی داره چون میشه با کلیک راست نقطه های صورتی در صفحه ایجاد کرد

    • مصطفی آصفی

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

  128. koshkian1000@gmail.com

    سلام میشه لطفا بگید با دیدن این دوره چند درصد از kivyرو یاد میگیریم لطفا درصدشو بگید

    • مصطفی آصفی

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

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

  129. rohimohamadamin@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

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

  130. rohimohamadamin@gmail.com (خریدار محصول)

    سلام استاد من صفحه گیتهاب شمارو چطوری پیدا کنم

  131. مجتبی مزروعی (خریدار محصول)

    سلام لطفا بفرمایید برنامه نویسی با فلاتر بهتر است یا کیوی
    من یک برنامه می خواهم بنویسم که روی پلتفرم های مختلف جواب دهد – در اینترنت در مورد کیوی نوشته بود حجم فایل نهایی آن به نسبت زبان های دیگر خیلی خیلی بالاست – آیا این مطلب صحیح است ؟ برای یک برنامه نویسی که به سیستم عامل وابسته نباشد فلاتر را پیشنهاد می دهید یا کیوی را ؟

    چند نکته
    برنامه ای که در نظر دارم بنویسم در زمینه معاملات ارزهای دیجیتال است لذا چند ویژگی باید داشته باشد
    1- سریع باشد و از اطلاعات لایو و سوکت استفاده کند
    2- قابلیت اتصال به سامانه های و api های مختلف را داشته باشد از قبیل ارسال پیامک – ارسال ایمیل- اتصال به ربات تلگرام – استعلام قیمت دلار و …
    3-زیبا باشد اما به تا زمانی که زیبابی مانع سرعت برنامه نشود
    4- بسیار مهم است که در پلتفرم های مختلف جواب دهد -ویندوز – اندروید –
    5- با زبان فارسی مشکلی نداشته باشد (البته زبان فارسی فقط برای گزینه های منو و متن کلید ها و پیغامها باید استفاده می شود )
    6-امکان انجام محاسبات در پس زمینه را داشته باشد با کمترین استفاده از منابع سخت افزاری سیستم – یعنی اطلاعات قیمت را رصد و محاسبات لازم را انجام دهد و در شرایط مشخص شده کار تعیین شده را انجام دهد.
    7-این برنامه مرتبا نیاز به توسعه و تغییر دارد تا نسخه قابل قبولی از آن خارج شود

    • مصطفی آصفی

      سلام به شما. ببینید انتخاب روش و ابزار توسعه در درجه اول به شرایط خود شما یا گروهتون بستگی داره و بعد به شرایط پروژه. بنده فقط می تونم چندین مقایسه بهتون بدم:
      – کیوی با پایتون نوشته میشه و فلاتر با دارت. بسته به زبان برنامه نویسی مورد علاقه ممکنه یکی یا دیگری رو انتخاب کنید. همین طور اگه API سرور رو با جنگو و پایتون نوشته باشید باید ببینید که با دو زبانی بودن بک اند و فرانت اند راحت هستید یا نه.
      – کدنویسی منطق برنامه به دلیل کتابخانه های متنوع پایتون معمولا ساده تره. در مقابل فلاتر برای طراحی رابط کاربری محیط توسعه بهتری داره.
      – از نظر سرعت رندر گرافیکی برنامه تقریبا هر دو یکسان هستن چون از GPU استفاده می کنن. البته بنده آزمایش دقیق سرعت نکردم. از نظر سعت پرداش الگوریتم باید سرعت زمان اجرای پایتون و دارت رو مقایسه کنید.
      – از نظر پشتیبانی زبان فارسی کیوی در حال حاضر مشکل داره. البته برای مواردی که گفتید می تونید شخصی سازی کنید ولی احتمالا دستتون تو فلاتر بازتره.
      – از نظر تیم پیشتیبانی و جامعه کاربران فلاتر رو گوگل حمایت می کنه و جامعه کاربران وسیع تری هم داره.
      – از نظر جواب دهی روی سیستم عامل های مختلف هر دو خوب هستن. حجم خروجی کیوی برای کاربر امروزی چندان بازدارنده نیست.
      – از نظر اتصال به API سیستم های مختلف مثل تلگرام معمولا از کتابخانه های جانبی استفاده میشه که در این مورد احتمالا پایتون به دلیل قدمت و جامعه کاربران وسیعش بهتره.

      پی‌نوشت: انتخاب سیستم توسعه شبیه سوال «مرغ اول بود یا تخم مرغ؟» با یک حلقه باطل سروکار داره. شما می خواهی از بین دو چیز یکی رو انتخاب کنی در حالی که شناختت از هر دو کافی نیست. معمولا بهتره برای شروع از یک نسخه ساده اپ کار رو شروع کنی و با ساده ترین سیستمی که می تونی. شما اگه همین الان پایتون کار خوبی هستی وقتت رو روی رفتن و یاد گرفتن فلاتر صرف نکن. حتی اگه به نظر بیاد که فلاتر می تونه برای توسعه فرانت اند (اپ) کمی بهتر باشه. یک اپ ساده با کیوی درست کن با حداقل امکانات UI و در مقابل بهترین استفاده رو از کتابخانه های پردازشی پایتون ببر که بهترین نتیجه رو به کاربر بدی. چنین اپ هایی معمولا کار اصلیشون در سرور هست که می تونی از Django REST (+) برای نوشتن API و برگردوندن نتایج استفاده کنی. در وهله اول هم روی خروجی همزمان چند سیستم عامل تمرکز «نکن» که کارت سخت بشه. صرفا خروجی اندروید رو بگیر که کاربر بیشتری داره. بعد این اپ رو منتشر کن بازخورد کاربرانت رو ببین. اگه باخورد خوب بود و اپ داشت خوب کار می کرد بعد دلگرم میشی که گام به گام روش وقت بگذاری و حتی اگر لازم شد یک مدل اقتصادی براش تعریف کنی، گروه تشکیل بدی و شاید فرانت اند (اپلیکیشن موبایل، دسکتاپ و وب) رو براش از نو با فلاتر یا ری اکت نیتیو (+) بنویسی. چنین اپ هایی کار اصلیشون در سرور انجام میشه و فرانت اند فقط نمایش دهنده هست. بیشتر وقتت رو روی سرور بگذار و خوب کار کردن الگوریتم هات.

      پی‌نوشت 2: لطفا پیش از درست کردن اپ کیوی آموزش جامع رو با دقت ببینید و اجرا کنید.

  132. محمد وجدانی

    سلام استاد خسته نباشید من این دوره روخریداری کردم وتوی قسمت5 این ارور روبهم میده نمیدونم مشکلش چیه ؟TabError: inconsistent use of tabs and spaces in indentation

    • مصطفی آصفی

      سلام. شما هم خسته نباشید.
      این خطای دندانه گذاری هست. یک جایی یا یک علامت : رو فراموش کردید یا یک Tab کم یا زیاد زدید.
      گاهی هم به دلیل باگ محیط توسعه این اتفاق میفته. اون خطی که این خطا رو براش گزارش می کنه می تونید تا انتهای خط بالا عقب بکشید و دوباره تب هاش رو با زدن تب روی صفحه کلید ایجاد کنید.

  133. محمد کوزه گر (خریدار محصول)

    ضمن عرض سلام و خسته نباشید و تشکر بابت دوره خوبی که تهیه کردید. من دو تاپکیج kivy و kivyMD رو کامل کار کردم . توی پکیج سوم که پروژه گردشگری هست توی قسمت 3 یه مشکل پیدا کردم نرم افزار بدون مشکل اجرا میشه اما ServicesMarkerPopup درست کار نمیکنه. یعنی وقتی روی نقاط تعریف شده توی نقشه میرم فقط توی ترمینال المانهای اون نقاط پرینت میشن اما هیچ مارکری روی نقشه نشون داده نمیشه . از MarkerMap هم استفاده کردم جواب نداد. جالبه که یک نمونه پروژ هم از گیت هاب kivy-garden/mapview گرفتم اونم همینطور بود یعنی همه چیز بدون خطا کار میکنه فقط هیچ مارکری روی نقشه نشون داده نمیشه. به نظرتون مشکل کجاست؟
    مشکل دیگ هم اینه که تا حالا هرچی تلاش کردم هنوز موفق نشدم توی لینوکس اوبونتو فایل APK یه برنامه ساده رو درست کنم. سرعت VPN هم ظاهراً بد نیست .
    یه پیشنهاد هم دارم. اگه یه دوره هم برای آموزش کار با openCV و YOLO و در کل استفاده از مدل های آموزش دیده ML مثل NLPو …تحت رابط کاربری کیوی تهیه کنید خیلی خوب میشه . علتش اینه که قاعدتاً برای برنامه های تجاری تحت آندروید استفاده از کیوی فعلاً خیلی منطقی نیست و آندورید استدیو یا B4Aخیلی قابل اطمینان تر هستند. اما برای برنامه های ML که تقریباً ناچاریم که با پایتون کار کنیم تنها گزینه چند سکویی مناسب همین کیوی هست. البته خودم یه تحقیق هایی کردم ولی مطمئناً شما مطالب زیادی رو میتونید تو این زمینه آموزش بدید.
    خیلی ممنون و متشکر

    • مصطفی آصفی

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

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

      به عنوان راهنمایی با توجه به این که شما فراگیر جنگو هم هستید، خدمتتون بگم که مباحث پردازش تصویر رو معمولا باید با یک نگاه هوش توزیع شده (+) با کمک سرور پیش ببرید. به ویژه آموزش Django REST که دیدم ظاهرا فراگیر اون هم هستید بعد از آموزش جنگو با دقت ببینید. یک بخشی از کار رو باید با فراخوانی API که در بسته آخر کیوی هم یاد گرفتید از سرور بخواهید براتون انجام بده و یولو هم باید اونجا کدهاش نوشته شده باشه و وزنش هم اونجا باشه چون حجم فایلش زیاده. البته برای تشخیص اشیا الگوریتم های ساده تر و کم حجم تری مثل Mobile SSD هم امروز هستند که در صورت نیاز به اجرای پردازش روی خود گوشی می تونید از اون ها یا مدل های Tiny Yolo هم استفاده کنید.

  134. alireza

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

    • مصطفی آصفی

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

  135. فاطمه (خریدار محصول)

    سلام استاد ممنون از راهنمایی هاتون
    ببخشید این همه سوال می پرسم .
    استاد مشکل قبلی حل شد و الان زمانی که سرچ میکنم موفق بودن رو چاپ میکنه اما نقشه جا ب جا نمیشه و خطا زیر رو میده :
    cur_mapview = cur_app.root.ids.mapview
    File “kivy\properties.pyx”, line 863, in kivy.properties.ObservableDict.__getattr__
    AttributeError: ‘super’ object has no attribute ‘__getattr__’

    • مصطفی آصفی

      سلام مجدد. این ایراد احتمالا به این دلیله که id در فایل KV شما استرینگ نیست. لطفا مطمئن بشید که مراحل رو دقیقا مشابه بنده طی می کنید.

  136. فاطمه (خریدار محصول)

    سلام استاد وقت به خیر
    من برای قسمت سرچ در برنامه مثل شما عمل کردم اما هر چیزی که تایپ میکنم تا پیدا کنه همش پیغام {‘code’: 5001, ‘message’: ‘unauthorized’, ‘status’: 401} رو میده چه اسم شهر چه اسم منطقه .
    کلید هم مخصوص خودم رو تهیه کردم. خطا نمیده ولی همش میگه غیرمجاز.

    • مصطفی آصفی

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

  137. rohimohamadamin@gmail.com (خریدار محصول)

    سلام استاد
    از چه vpn شما استفاده کردید ایا اموزشی دارید که من تو اوبونتو استفاده کنم برای دستوره buildozer android debug

    • مصطفی آصفی

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

  138. ابوالفضل حسن زاده

    سلام استاد خسته نباشید. استاد الان من kivy رو نصب کردم حالا طبق مستندات با دستور pip install kivy دقیقا مثل جنگو نصب شد.
    (kivy_venv) PS H:\> pip install kivy
    Using cached Kivy-2.0.0-cp38-cp38-win32.whl (3.8 MB)
    Collecting kivy-deps.angle~=0.3.0
    Using cached kivy_deps.angle-0.3.0-cp38-cp38-win32.whl (4.2 MB)
    Collecting kivy-deps.glew~=0.3.0
    Using cached kivy_deps.glew-0.3.0-cp38-cp38-win32.whl (126 kB)
    Collecting kivy-deps.sdl2~=0.3.1
    Using cached kivy_deps.sdl2-0.3.1-cp38-cp38-win32.whl (2.3 MB)
    Collecting Kivy-Garden>=0.1.4
    Using cached kivy-garden-0.1.4.tar.gz (6.8 kB)
    Collecting docutils
    Using cached docutils-0.16-py2.py3-none-any.whl (548 kB)
    Collecting pygments
    Using cached Pygments-2.7.3-py3-none-any.whl (950 kB)
    Collecting pypiwin32
    Using cached pypiwin32-223-py3-none-any.whl (1.7 kB)
    Collecting pywin32>=223
    Downloading pywin32-300-cp38-cp38-win32.whl (8.5 MB)
    |████████████████████████████████| 8.5 MB 24 kB/s
    Collecting requests
    Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
    |████████████████████████████████| 61 kB 20 kB/s
    Collecting certifi>=2017.4.17
    Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
    |████████████████████████████████| 147 kB 17 kB/s
    Collecting chardet=3.0.2
    Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
    |████████████████████████████████| 178 kB 19 kB/s
    Collecting idna=2.5
    Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
    |████████████████████████████████| 58 kB 32 kB/s
    Collecting urllib3=1.21.1
    Downloading urllib3-1.26.2-py2.py3-none-any.whl (136 kB)
    |████████████████████████████████| 136 kB 20 kB/s
    Using legacy ‘setup.py install’ for Kivy-Garden, since package ‘wheel’ is not installed.
    Installing collected packages: urllib3, idna, chardet, certifi, requests, pywin32, pypiwin32, pygments, Kivy-Garden, kivy-deps.sdl2, kivy-deps.glew, kivy-deps.angle, docutils, kivy
    Running setup.py install for Kivy-Garden … done
    Successfully installed Kivy-Garden-0.1.4 certifi-2020.12.5 chardet-4.0.0 docutils-0.16 idna-2.10 kivy-2.0.0 kivy-deps.angle-0.3.0 kivy-deps.glew-0.3.0 kivy-deps.sdl2-0.3.1 pygments-2.7.3 pypiwin32-223 pywin32-300 requests-2.25.1 urllib3-1.26.2
    به نظرتون همه موارد نصب شده ؟
    چون تویه اموزش های شما چند خط دستور نصب رو در ترمینال زدید اما من فقط یه دستور زدم.

    • مصطفی آصفی

      سلام به شما. بله ظاهرا در نسخه جدید کیوی (Kivy 2.0) نصب وابستگی ها به صورت دستی نیاز نیست. با این حال شما لطفا با این نسخه با دقت پیش برید و اگر جایی به خصوص در خروجی گیری اندروید و دسکتاپ به مشکل نسخه خوردید بگید تا یادداشت کنم برای روزآمدسازی بسته.
      مقصودم اینه که بفهمیم آیا با همین شیوه نصب ساده نسخه 2 ، مثال های پروژه به خوبی اجرا میشن؟ خروجی گیری ها بدون مشکل انجام میشن؟ که اگر این طور بود اصلا درس مربوط به نصب کیوی رو مجدد و با دستورالعمل نسخه 2 بگیرم و در بسته قرار بدم.

  139. محمدحسین ماجدی نیا (خریدار محصول)

    سلام استاد وقت شما بخیر
    من پکیج طلایی رو خریداری کردم خیلی آموزش خوب و مفیدی بود
    فقط در فصل اول، همین بخش خروجی apk گرفتن، به یک مشکل خوردم:

    وقتی روی گوشی، usb debugging را فعال میکنم، اون پیغام RSA key رو نشون نمیده
    و مشکل دیگر اینکه وقتی deploy run رو مینویسم، کد بدون مشکل اجرا و تموم میشه ولی اپلیکیشن روی گوشیم نصب و اجرا نمیشه (البته به طور مجزا که فایل apk رو انتقال ددم به گوشی و اجرا کردم، در اجرا مشکلی نداشت)

    چجور باید این مشکل اجرا نشدن اپ بعد از دستور deploy run رو برطرف کنم؟

    • مصطفی آصفی

      سلام و ممنون از محبت شما.
      علت هر دو مشکلتون اینه که حالت USB Debugging به درستی روی گوشیتون فعال نیست.
      بعد از فعال کردن حالت توسعه دهنده (Developer Option) گزینه USB debugging رو یکی دو مرتبه در حالتی که کابل متصل هست قطع و وصل کنید تا پیام RSA ظاهر بشه.
      گاهی هم اتصال گوشی یه مرتبه به حالت Charging only تنظیم شده که بعد از اتصال کابل باید اول از بخش نوتیفیکیشن ها اتصال USB رو به حالت شارژ و انتقال فایل همزمان تغییر بدین که امکان تبادل فایل بین کامپیوتر و گوشی بعال بشه.

  140. فاطمه (خریدار محصول)

    سلام استاد
    من در نصب بیلدوزر به مشکل خوردم که مشکلم رو در گیت هاب هم مطرح کردم اما نتیجه ای نگرفتم و نتونستم رفع کنم
    لینک صفحه ای که مشکل رو در گیت هاب گذاشتم https://github.com/kivy/buildozer/issues/1270

    • مصطفی آصفی

      سلام به شما. اگه همه مسیر نصب بیلدوز رو دقیقا مثل چیزی که در درس 14 بسته اول طی کردم طی کرده باشید دو احتمال هست:
      احتمال اول: موقع دریافت NDK خطایی رخ داده (یا VPN خیلی قوی نیست یک لحظه قطع شده و فایلی مخدوش، یا اون y تایید شرایط گوگل رو در ترمینال نزدید).
      در این نشانی گیت هاب (+) هم مشابه شما گزارشی هست که اونجا هم احتمال اصلی همین راهنمایی شده.
      برای حل این مشکل پوشه .buildozer رو حذف و مراحل رو از نو طی کنید. اگر حل نشد NDK رو از نو به صورت دستی نصب و در مسیر .buildozer/android/platform/ قرار بدین. اگر باز هم مشکل برجا بود راه های مشابه در نشانی مذکور رو بررسی کنید.

      احتمال دوم: اگر مراحل بالا رو با یک VPN خوب رفتید و مشکل حل نشد این نشانی تطبیق SDK و NDK (+) رو هم ببینید. شاید نسبت به زمانی که من آموزش رو ضبط می کردم تغییری در نسخه مشکل رو حل کنه.

      پی‌نوشت: من موقع ضبط درس 14 بسته اول بدون اغراق یک هفته شبانه روز ضبط می کردم و به مشکل می خوردم تا در نهایت متوجه شدم یک سری قلق ها برای اون زمان وجود داره (که در قالب نصب کتابخونه های پیشنیاز جمع بندی کردم). با توجه به این که بیلدوزر به بسته های زیادی وابسته هست که این ها ممکنه تغییراتی داشته باشن در تعارض با هم،‌ همیشه احتمال خطا در نسخه های تازه هست. به ویژه که این روزا نسخه جدید کیوی هم رونمایی شده.

  141. احسان (خریدار محصول)

    سلام من چند روز پیش آموزش kivy از شما خریدم موقع تمرین با این error مواجه شدم میشه کمک کنیدOpenGL version detected: 1.1

    Version: b’1.1.0′
    Vendor: b’Microsoft Corporation’
    Renderer: b’GDI Generic’

    Try upgrading your graphics drivers and/or your graphics hardware in case of problems.

    درایور کارت گرافیک آپدیت کردم البته لپتاپ قدیمی هست برای من کار با پاتون خیلی مهمه , کارت گرافیک nvidia هست و نرم افزاری هست که در ورژن opengl در اینتل 2.1 نشان می دهدThe application will leave now

  142. rohimohamadamin@gmail.com (خریدار محصول)

    سلام مجدد
    نسخه کیوی:v1.11.1
    نسخه پایتون:v2.7.17
    روش به دست اوردنشم اینطوری بود که ترمینال رو باز کردم و رفتم تو پایتون و بعد import kivy رو زدم

    • مصطفی آصفی

      سلام به شما. پیش از import کردن باید کیوی رو نصب کنید. کیوی در پایتون به صورت پیش‌فرض موجود نیست.
      روش نصب کیوی در لینوکس رو که در درس دوم (بسته اول) توضیح دادم، به صورت دقیق دنبال کنید. ترجیحا از پایتون 3.7 استفاده کنید.

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

      دوستانی که در مراحل اول آموزش هستند، توصیه می‌کنم نسخه 1.11.1 رو مطابق بنده پیش بیان. اما اگر در هر صورت مایل به استفاده از آخرین نسخه هستید، این مقاله رو در مورد نکات انتشار و نصب Kivy 2 (+) مطالعه کنید.

  143. rohimohamadamin@gmail.com (خریدار محصول)

    سلام خدمت استاد عزیز ببخشید من فایل example.spec رو ساختم و اون تغیراتی که در اموزش اعمال کردید رو انجام دادم و به این ارور خوردم
    File “amin12.spec”, line 3, in
    from kivy_deps import sdl2, glew, gstreamer
    ModuleNotFoundError: No module named ‘kivy_deps’
    در سیستم عامل ابونتو
    میشه راهنمایی کنید؟

    • مصطفی آصفی

      سلام به شما. احتمالا کیوی به درستی نصب نشده. چه نسخه ای از کیوی رو نصب کردید؟ ورژن کیوی رو بررسی و اعلام کنید.

  144. rohimohamadamin@gmail.com (خریدار محصول)

    سلام من pyinstaller رو نصب کردم ولی نمیدونم چرا موقع تبدلی پایتون به exe این ارور رو میده
    ارور:usr/bin/python: No module named PyInnstaller
    سیستم عاملم ابونتو هستش

    • مصطفی آصفی

      سلام به شما. مطابق این خطا شما اشتباه تیاپی دارید: No module named PyInnstaller و با دو تا n نوشتید.
      با این حال به طور کلی در مورد خطای No module named دو احتمال هست
      1- کتابخونه رو در محیطی نصب کردید و فراخوانی رو در محیطی دیگه دارید انجام می دید. مثلا نصب رو در اسکریپت های پایتون سیستم انجام داده باشید اما موقع فراخوانی از داخل یک محیط مجازی کار می کنید یا برعکس.
      2- نام ماژول رو به درستی صدا نمی کنید. موقع صدا زدن دقت کنید که نام PyInstaller به این شکل باید استفاده بشه.

  145. سحر

    سلام استاد
    نصب کیوی در سایتش تغییر کرده . اگر من مثل ویدیو شما پیش برم مشکلی پیش میاد؟

    • مصطفی آصفی

      سلام به شما.
      بله نباید مشکلی باشه. در نسخه kivy 2.0.0 در بخش نصب از روی pip اون دستور نصب پیش نیازها رو اشاره نکرده مستقیم. شما نصب kivy 2 رو مطابق دستورالعمل خودش انجام بدین و در ترمینال کتابخانه های نصب شده رو بررسی کنید. اگه با نسخه هایی بالاتر از اونچه ما به صورت دستی نصب کردیم (در درس دوم) اون کتابخونه ها نصب شده بودن، خب پس نیازی به اون ها نیست. اگر نه اون ها رو هم جداگانه نصب کنید.
      باز بررسی کنید اگر مشکلی پیش اومد اطلاع بدین. البته برای طرح سوال با ایمیلی که بسته رو دریافت کردید وارد بشید. این ایمیل شما در شما فراگیران بسته ثبت نشده.

  146. محمدمتین محمدی (خریدار محصول)

    شرمنده فرق pos_hint با size_hint رو میشه بفرمایید!

    • مصطفی آصفی

      سلام. size_hint به اندازه ویجت نسبت به لیوت دربرگیرنده اون اشاره داره. برای مثال مقدار پیش‌فرض اون (1,1) به معنی این هست که ویجت از نظر عرض و ارتفاع تمام عرض و ارتفاع در دسترس لیوت دربرگیرنده خودش رو پر کنه (عرضش هم اندازه عرض مادرش و ارتفاعش هم همین طور)
      pos_hint هم برای تنظیم موقعیت ویجت فرزند داخل لیوت مادرش هست. اون رو به صورت یک دیکشنری تعریف می کنیم. برای مثال اگر بخواهیم مرز بالای ویجتمون 10 درصد از مرز بالای لیوت مادرش فاصله داشته باشه (به بیان دیگه مرزش بالاش از ارتفاع 90 درصدی ارتفاع مادرش شروع بشه) می تونیم به صورت پایین بنویسیم:
      widget = Widget(pos_hint={‘top’: 0.9})

      همون طور که می بینید شما با size_hint هم می تونستی کاری که بالا کردی رو هم مثلا با نوشتن (1,0.9) انجام بدی. منتها همیشه این طور نیست. گاهی شما باید هر دوی این ها در اختیارت باشن تا یک طرح منعطف و خاصی رو ایجاد کنی.

      پی‌نوشت: اگه اشتباه نکنم تو درس 16 بسته سوم (پروژه ساخت اپلیکیشن گردشگری) یک کاربرد مناسبی از تفاوت این دو داریم.

  147. محمدمتین محمدی (خریدار محصول)

    سلام استاد ببخشید کیوی استودیو آمد یا نه؟

    • مصطفی آصفی

      سلام به شما. به صورت رسمی توسط خود سازندگان کیوی یا KivyMD هنوز نه. هر چند این Kivy Studio (+) رو می تونید آزمایش کنید.

  148. مهدی علیزاده (خریدار محصول)

    سلام ببخشید یه سوال داشتم
    مشکلم زبان فارسیه به همین خاطر تو استک اورفلو و انجمن کیوی کسی نمیدونسته و بهم جوابی ندادن.
    من برای arabic-reshaper به مشکل خوردم. نرم افزار تو ویندوز و لینوکس به خوبی کار میکنه ولی وقتی تو اندروید نصب میکنم متاسفانه کار نمیکنه. اونو دیباگش کردم متوجه شدم این کتابخونه با این که تو requirment فایل *.spec واردش کردم اونو برام اضافه نکرده و به خاطر این کتابخونه نرم افزار کار نمیکنه.
    تنها چیزی که به من کمک شد استفاده از Recipes بود با این آدرس: https://python-for-android.readthedocs.io/en/latest/recipes/ . من اینو با توجه به کار خودم نوشتم :
    from pythonforandroid.recipe import PythonRecipe
    class ArabicReshaperRecipe(PythonRecipe):
    url = ‘https://github.com/mpcabd/python-arabic-reshaper/archive/master.zip’
    depends = [‘python3’, ‘numpy’,’sys’,’unittest’]
    site_packages_name = ‘arabic_reshaper’
    recipe = ArabicReshaperRecipe()
    حالا نمیدونم اینو کجا و با چه اسمی ذخیره کنم؟
    اگه راه دیگه ای هست برای استفاده از زبان فارسی؟

  149. فاطمه (خریدار محصول)

    سلام استاد
    استاد من یک نمونه کد کیوی در گیت هاب با این نشانی https://github.com/JoshNas/Coffee پیدا کردم
    دیتابیسی که انتخاب کرده sqlite نیست؟
    اگز بخواهیم این کد رو اجرا بگیریم باید از چه دیتابیسی استفاده کنیم ؟

    • مصطفی آصفی

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

  150. محمدمتین محمدی

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

    • مصطفی آصفی

      سلام به شما. بستگی به پروژه شما داره. اما به عنوان یک پایتون کار طبیعتا پیشنهاد می کنم بین این دو بسته حتما کیوی رو ببینید.

  151. حسین

    سلام
    آموزش شامل برنامه نویسی ios هم هست؟ چون توی سر فصل ها نیست.

    • مصطفی آصفی

      سلام و پوزش از تاخیر. خروجی گیری برای iOS در این آموزش انجام نشده ولی بر اساس روند خروچی گیری شرح داده شده می تونید تعمیم بدید.

  152. فاطمه شاطری (خریدار محصول)

    سلام استاد وقت به خیر
    در قسمت نصب در لینوکس من به این خطا بر خوردم
    ایا خطا به این ربط داره که من قبلش python رو نصب کرده بودم

    E: Could not get lock /var/lib/dpkg/lock-frontend – open (11: Resource temporarily unavailable)
    E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

    • مصطفی آصفی

      سلام به شما. این خطا می گه به دلیل در جریان بودن Updater یا یک apt پکیج هست. نمی گذاره شما به منابع مورد نظر دسترسی پیدا کنید چون توسط اون ها مشغول هستن. می تونید منتظر بشید یا از دستور پایین برای کشتن باقی پردازش ها استفاده کنید:
      sudo killall apt apt-get
      این جواب (+) رو هم ببینید گزینه های دیگه هم در اون پیشنهاد شده.

  153. علی عباسی

    سلام و درود.
    من برنامه نویس php و لاراول کار هستم برای طراحی اپلیکیشن شما چه روشی رو پیشنهاد میکنین؟؟؟ ری اکت نیتیو ، فلاتر یا فریم ورک کیوی ؟

    • مصطفی آصفی

      سلام به شما. ببینید بستگی به پروژه شما، آینده توسعه اون، ویژگی های پروژه و دانش قبلی و همین طور علاقه و راحتی شما داره.
      بنده نمی تونم بدون شناخت، مورد خاصی رو به دیگری ارجحیت بدم و پیشنهاد کنم. باید دید:
      برای مثال آیا به کتابخونه های ویژه پایتون نیاز دارید؟ آیا با پایتون راحت تر هستید یا جاوا اسکریپت؟ آیا پروژه نیازهای خاصی داره؟ در این صورت در مورد هر فریمورک جستجو کنید امکان پیاده سازی اون ها رو. آیا در آینده نیاز به توسعه تیم برای پشتیبانی پروژه دارید؟ این رو در نظر بگیرید. آیا نسخه دسکتاپ یا موبایل اولویت دارن؟ یا وب اپ هم نیاز دارید؟ آیا رندر گرافیکی اپ براتون خیلی مهمه؟ آیا سرعت توسعه و وجود امکانات تیپیک براتون مهمه؟

  154. سعید (خریدار محصول)

    سلام استاد
    من طبق گفته ی شما، پایتون 3.8 رو که فرمودین خرابه، حذف کردم و کاملا پاکش کردم و رفتم پایتون3.7 رو نصب کردم روی کامپیوترم
    اما الان مثل قبل نیست و وقتی کد های پیش نیاز اولیه کیوی رو میزنم این نوشته ها میان و خیلی هم نامفهومن
    آیا چیزی میشه از اینا فهمید ؟
    عکسش داخل این لینکه :
    file:///C:/Users/IdEaL%20RayAnEh/Desktop/Untitled.png

    • مصطفی آصفی

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

  155. محمدرضا

    سلام خسته نباشید استاد ببخشید یک سوال داشتم
    من خودم پایتون کارم و الان برنامه نویسی وب با پایتون انجام میدم
    میخواستم بدونم منی ک الان میخوام وارد اندروید بشم
    بنظر شما بهتره با کیوی شروع کنم یا نه اخه میگفتن الان زیادی کیوی قدرتمند نیست و از این حرفا
    آیا در زمینه متریال بودن هم حرفی برای گفتن داره ؟
    یا نه برم سراغ جاوا و از جاوا شروع کنم یا کاتلین به نظر من مسیر کیوی راحش کمتره و نیاز به زبان جدیدی نیست
    و میخواستم بدونم که آیا با کیوی میشه پروژه های بزرگی مثل واتس اپ یا تلگرام به همون وسعت و قوی بودن ساخت یا خیر چند وقته ذهنم خیلی مشغوله وفقط فکر میکنم و از کد نویسی دور شدم لطفا سریع تر راهنمایی کنید ممنون میشم

    • مصطفی آصفی

      سلام. سوال شما از چند جنبه قابل بررسی هست.
      1- اگر شما قصد دارید در آینده اندروید کار حرفه ای بشید و در واحد اندروید یک شرکتی کار کنید قطعا در حال حاضر بهترین کار یادگیری اندروید با کاتلین هست که می تونید بعد از دیدن آموزش سینتکس کاتلین از این آموزش اندروید (+) استفاده کنید.
      2- اگر شما قصد دارید کراس پلتفرم خروجی بگیرید (شاید برای استارتاپ خودتون یا دیگری) و پایتون کار خیلی خوبی هستید و کتابخونه‌ها و ابزارهای پایتونی رو خوب می‌شناسید کیوی گزینه خیلی خوبی هست و هر اپی رو می تونید با اون بزنید. پشتیابی متریال هم داره. در بخش دوم همین آموزش مفصل به پیاده سازی و اصولی متریال دیزاین در کیوی پرداخته شده. فقط دقت کنید که پشتیبانی کیوی از زبان فارسی همچنان خوب نیست و تا قلق کار رو یاد بگیرید اذیت داره. هر چند که در این بسته به این موضوع هم پرداخته شده اما هنوز باگ هایی رو فراگیران و جامعه کدنویسان در گیت هاب کیوی گزارش می کنند. اما در مورد اپ های انگلیسی زبان تقریبا هر اپی رو می تونید بزنید.
      دقت کنید که واتس اپ و تلگرام که مثال زدید بخش عمده بزرگیشون در بخش سرورشون هست نه در بخش اپ. برای استارتاپ های کوچک و متوسط برای بک اند هم از پایتون می تونید استفاده کنید.

      3- یک موضوعی رو خوب دقت کنید. در انتخاب یک ابزار برای کدنویسی خب راحت بودن با یک زبان یا فریمورک خیلی موضوع مهمیه اما مهم تر از اون نیازهای خود اون پروژه هست. جدیدترین قابلیت های سنسورینگ اندروید قطعا در SDK اندروید استودیو اول توسط خود گوگل گذاشته میشه. پس اگه پروژه شما به قابلیت های جدید وابستگی شدید داره سیستم های کراس پلتفرم باید بدونید که معمولا کمی عقب تر از نیتیو هستن.

  156. سعید (خریدار محصول)

    استاد پایتونم 3.8 بود اشتباه گفتم…
    ممکنه از نسخه پایتون باشه ؟
    راستی قبلا که کد رو میزدم برای دانلود بهم خطا میداد ولی الان اینو میگه :
    Requirement already satisfied: kivy_deps.gstreamer==0.1.* in C:\Users\IdEaL RayAnEh\Desktop\kivy_venv\Lib\site-packages r
    اون r آخرش اضافی بود… خودم نوشتم تا ساختمان کد به همون ترتیبی باشه که در قالب خطا میده

    • مصطفی آصفی

      سلام مجدد. بله کیوی با نسخه 3.8 پایتون مشکل داره. یک venv با پایتون 3.7 درست کنید و کیوی رو در اون نصب کنید.
      اگه با ایجاد محیط مجازی یا virtualenv آشنا نیستید این آموزش رایگان venv (+) رو ببینید.

  157. سعید (خریدار محصول)

    سلام و خسته نباشید.
    من در جلسه دوم گیر کردم . مشکل من در برنامه cmd اینه که من کد زیر رو برای نصب پیش نیاز های کیوی، پیست میکنم ولی نصب نمیشه… در ضمن پایتون من 3.7 هست.
    python -m pip install kivy==1.11.1
    مشکلی شما میبینید ؟

    • مصطفی آصفی

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

  158. امیرحسین علیجانی

    سلام و عرض خسته نباشید و تشکر بابت کیفیت بسیار عالی اموزش ها
    ببخشید میخواستم بدونم ایا میشه با Kivy برنامه ای نوشت که در پس زمینه ی سیستم اجرا بشه ؟

  159. مهدی علیزاده (خریدار محصول)

    با سلام و احترام خدمت شما
    ممنونم از پاسخ شما.
    من تو این قسمت هنوز مشکل دارم. الان میخوام تو محیط لینوکس خروجی اندرویدی بگیرم.اطلاعاتی که دارم اینه:ورژن پایتون پیشفرض اوبونتو20.04 پایتون 3.8 هستش که کیوی این ورژن پیاتون رو پشتیبانی نمیکنه و بنابرین بیلدوزر خروجی اندرویدی نمیده. برای این کار تو اوبونتو venv رو نصب و فعال کردم. ولی چون پیشفرض سیستم٬ پایتون3.8 هست محیط مجازی هم با همون ورژن ایجاد میشه. بازم همون مشکل پابرجاست. سوالم اینه الان باید پایتون 3.7 رو چطوری رو حالت پیشفرض لینوکس یا محیط مجازی داخل لینوکس قرار بدم؟ البته من پایتون 3.7 هم نصب کردم.

  160. مهدی علیزاده (خریدار محصول)

    ممنون از راهنماییتون وی پی ان خریداری شد و مشکل حل شد.
    یه سوال دیگه دارم خدمتتون: برای تبدیل به apk. بیلدوزر نیاز به نصب کیوی داره؟؟؟
    اگر بله چطور میتونم ورژن پایتون3.8 را به 3.7 تغییر بدم که بتونم کیوی رو نصب کنم؟؟؟

    • مصطفی آصفی

      سلام به شما. می تونید همزمان چند نسخه از پایتون رو نصب و با نسخه مورد نظر یک محیط مجازی ایجاد کنید و در این محیط کیوی رو نصب کنید. واژه venv رو در هم رویش جستجو کنید در مورد محیط مجازی یک آموزش هست.

    • مصطفی آصفی

      سلام به شما. می بخشید دیر شد جوابتون. بله الان متوجه شدم. شما از لینوکس استفاده می کنید. این پاسخ (+)‌ رو برای نصب نسخه خاص پایتون روی اوبوتو ببینید مراحل رو گام به گام طی کنید.

  161. مهدی علیزاده (خریدار محصول)

    سلام
    من روی سیستمم اوبونتو 20.04 رو نصب کردم، برای پکیج apk نیاز به فیلتر شکن هست.
    من فیلتر شکن های مختلفی رو تست کردم. از Tor گرفته تا نمونه هایی مثل lantern. تنها چیزایی که خوب جواب میدن افزونه های مرورگرند که برای ترمینال جوابگو نیستند. با توجه به این که برای تولید apk نیاز به فیلترشکن هست، اگر ممکنه کمک بفرمایین، ازین مرحله به سلامت عبور کنیم 😀

    • مصطفی آصفی

      سلام به شما. گمان می کنم در جریان آموزش تاکید کرده باشم که از vpn های رایگان نمی تونید استفاده کنید و باید کرایه کنید. مجموعه هایی مثل تیکنت مفید هستن.
      خرید vpn رو گوگل کنید.

  162. Hesamodin Behmanesh (خریدار محصول)

    سلام استاد وقت بخیر
    من هرچه سعی می کنم که طبق آموزش کیوی رو نصب کنم ارورهای قرمز رنگ بشرح زیر رو میده :
    ERROR: Command errored out with exit status 1:
    command: ‘C:\Users\Behmanesh\AppData\Local\Programs\Python\Python38\python.exe’ -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\Behmanesh\\AppData\\Local\\Temp\\pip-install-ckh_b3hv\\kivy\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\Behmanesh\\AppData\\Local\\Temp\\pip-install-ckh_b3hv\\kivy\\setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\Behmanesh\AppData\Local\Temp\pip-pip-egg-info-rw4cuh09’
    cwd: C:\Users\Behmanesh\AppData\Local\Temp\pip-install-ckh_b3hv\kivy\
    Complete output (395 lines):

    —————————————-
    ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

    • مصطفی آصفی

      سلام به شما. برای نصب کیوی از پایتون 3.7 استفاده کنید.

  163. رضا فرزانه پور

    سلام و درود
    ضمن عرض درودی و تشکر مجدد از شما و مجموعه هم رویش بابت فراهم نمودن این بستر،
    آقای آصفی بنده در زمان تخفیف بخش قابل توجهی از دوره های شما و سایر اساتید رو خریداری کردم و واقعا ممنونم از این فرصت تخفیف که با توجه یه منصفانه بودن قیمت دوره ها باز هم در اختیار کاربران قرار میدید
    ولی متاسفانه به علت عدم داشتن رمز پویا و یه سری مشکلات دیگه از خرید این دوره و یکسری از دوره های دیگر شما جا موندم و تا فرصت بعدی تخفیف هم نمیتونم صبر کنم ( برای دیدن آموزش های شما صبر جایز نیست )بنابراین اگر لطف کنید استثنا با توجه به اینکه مدت زیادی از تخفیف نگذشته به عنوان یه خریدار چندین دوره ، شما در مقام مدرس دوره یه کد تخفیف ۳۰ درصدی لطف کنید بدید( طبعا اگر درصد بیشتری هم باشه با توجه به بودجه دوره های بیشتری در لیست خریدم جا میگیره ) تا این دوره جامع کیوی و دوره جامع صفر تا صد برنامه نویسی پایتون شما رو هم خریداری کنم کمال تشکر رو دارم( قصد خرید چندین دوره رو دارم دانشجویی لطفا رفتار بشه:))
    با احترام

    • مصطفی آصفی

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

  164. سعید هاشمیان (خریدار محصول)

    سلام،
    خیلی ممنون از پاسخگویی شما.
    در مورد همون اسپلش آمورش میدید داخل این دوره ؟ حالا خیالم راحت شد خیلی ممنون از دوره خوبتون

    • مصطفی آصفی

      سلام سلامت باشید. مستقیم این مورد رو توضیح ندادم ولی در مورد شخصی سازی تنظیمات مشابه این صحبت شده. با توضیحی که داده شده اگر دوره رو کامل و با دقت ببینید با کمی کاوش می تونید تنظیم لازم در فایل بیلدوزر رو برای تغییر تصویر اسپلش (splash) انجام بدید یا به طور کلی اون عکس رو حذف کنید.

  165. سعید هاشمیان (خریدار محصول)

    چرا مثلا برنامه ای مثل واتساپ یا مثلا مایکت که با پایتون بخشی از اونها نوشته شده یا مثلا فیس بوک یا یوتیوب، تبلیغی ندارن ؟ در صورتی که ما معمولا اول برنامه هامون تبلیغ اون زبان برنامه نویسی یا کتابخونه اش رو داریم ؟
    بجز این دلیل که شاید لایسنس خریدن دلیل دیگه ای داره ؟

    • مصطفی آصفی

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

  166. سعید هاشمیان (خریدار محصول)

    سلام استاد عزیزم…
    خیلی ممنونم ممنون، زحمت کشیدید این دوره رو طراحی کردید.
    اما استاد عزیز وگرامی من، من که هدفم بسیار بسیار بزرگ هست و دارم تلاش می کنم با سایت خوب شما آموزش ببینم و در حد جهانی و بین المللی برنامه نویسی کنم …
    حالا بنده یه سوال دارم… استاد چرا از اول توضیحات نگفتید هر برنامه ای که با کیوی ساخته بشه اولش تبلیغ کیوی نمایان میشه ؟ استاد برای من 98 تومان پول زیادیه و وقت کافی ندارم چون حالا یه کارمندم و شب ها بعد اینکه خانواده می خوابند به آموزش مشغول میشوم ، منتها الان که اپ خروجی تون رو به طور اتفاقی دیدم، متوجه شدم اول برنامه های کیوی تبلیغ داره 🙁
    استاد من خیلی ناراحتم … و به همین دلیل دنبال این میگردم که به بنده کمک کنید تا یه جوری این تبلیغ رو حذف کنم 🙁
    استاد من خیلی ناراضی ام که چرا این اتفاق افتاده ، لطفا لطفا کمکم کنید، ممنونم که برا ما وقت میزارید…
    در ضمن نحوه آموزش دادن تون به قدری خوب بود که دیگه از سایت های مختلف دیگه آموزش نمیخرم و طرفدار شما شدم… ممنون

    • مصطفی آصفی

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

  167. فاطمه شاطری

    سلام استاد وقت به خیر
    با این آموزش میتونیم برنامه ایی مثل دیجی کالا درست کرد ؟؟
    و بیشتر آموزش تو لینوکس هستش یا ویندوز؟

    • مصطفی آصفی

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

      پی‌نوشت: این آموزش Django REST (+) در زمینه طراحی سرور و یک سیستم API با پایتون برای حرف زدن با سرور و داده‌های اون می تونه راهگشا باشه.

      پی‌نوست 2: آموزش در محیط ویندوز انجام شده اما برای خروجی گیری اندروید به لینوکس نیاز هست که در بخش های مربوط به این کار بنده یک لینوکس کنار ویندوز نصب کردم و کار رو گام به گام در این لینوکس برای خروجی گیری اندروید آموزش دادم.

  168. مهدی

    سلام و عرض احترام
    ممنون از زحماتتون برای ارائه آموزش های بسیار عالی شما.
    با عرض معذرت سرفصل هارو که نگاه میکردم چیزی با عنوان خروجی گرفتن ios ندیدم، تو این آموزش در این باره توضیحی وجود داره؟

    • مصطفی آصفی

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

  169. پوریا

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

    • مصطفی آصفی

      سلام مجدد. لطفا توضیحات دوره رو با دقت مطالعه کنید. این دوره از سه بخش تشکیل شده که پروژه نهایی در بخش سوم هست. روی لینک بخش سوم (اپلیکیشن نقشه گردشگری) کلیک کنید و فیلم معرفی و توضیحات اون رو با دقت بررسی کنید.
      در حقیقت شما هم می تونید این سه بسته رو جدا جدا دریافت کنید و هم به صورت یکجا در قالب این بسته جامع.

  170. پوریا

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

    • مصطفی آصفی

      سلام دوست عزیز. مقایسه فریمورک‌ها کار ساده‌ای نیست. بنده فقط پیشنهاد خودم رو برای شما می‌گم. شما حتما باز هم جستجو کنید اما وسواس نداشته باشید. از یکجایی باید شروع کنید که شاید بعدها همون مسیرتون بشه شاید هم عوض بشه.
      یه نکته جالب در این مورد اینه که حتی اگر تمام عوامل فنی یک فریمورک رو پیشنهاد کنند اما شما با کدنویسی در اون حس راحتی نکنید در نهایت باید کنارش بگذارید.
      پیشنهاد من اینه که شما با Django (+) و سپس Django REST (+) شروع کنید برای سمت سرورتون و API ها رو چنان که در بخش آخر همین آموزش جامع اشاره شده در Kivy پردازش کنید برای کاربران گوشی های هوشمند. برای کاربران وب هم ممکنه از خود جنگو یا React یا انگولار یا … استفاده کنید.
      بعدها ممکنه ترکیب اصلاح بشه. کاری که توسعه دهنده های اینستاگرام کردند هم همین بود. با جنگو در دو هفته نسخه اولیه رو بالا اوردند. الان اما اینستاگرام کنار جنگو از چندین فریمورک بهره می بره.
      در رابطه با ربات تلگرام می‌تونید این آموزش ساخت ربات تلگرام با پایتون (+) رو ببینید. تقریبا امروز همه نوع پروتوتایپینگ و پروژه های گوناگون با پایتون ممکن هست.

  171. مسیح

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

    • مصطفی آصفی

      سلام به شما. بله و ضمنا توجه کنید که بخش عمده کار این اپ‌ها سمت سرور هست.
      بخش اپلیکیشن کاربر رو می‌تونید با کیوی بزنید.
      بخش سرور که عملا داده‌های کاربر رو در خودش نگه می‌داره هم جداگانه باید کار بشه.
      که اگر بخواهید با پایتون بزنید توصیه می کنم آموزش جنگو (+) و بعد Django REST (+) رو ببینید.
      و یادتون باشه که زدن یک اپ پیام رسان حتی با دیدن این آموزش‌ها نیاز به تلاش زیادی داره.

  172. moradifardin171@gmail.com (خریدار محصول)

    پایتون ۳.۷ استفاده کردم

  173. moradifardin171@gmail.com (خریدار محصول)

    “C:\Users\smart land\PycharmProjects\ccc\venv\Scripts\python.exe” “C:/Users/smart land/PycharmProjects/ccc/cccapp/newapp.py”
    [INFO ] [Logger ] Record log in C:\Users\smart land\.kivy\logs\kivy_20-07-03_45.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.1.18
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.1.12
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.1.23
    [INFO ] [Kivy ] v1.11.1
    [INFO ] [Kivy ] Installed at “C:\Users\smart land\PycharmProjects\ccc\venv\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.4rc1 (tags/v3.7.4rc1:b26441ee1f, Jun 18 2019, 23:26:33) [MSC v.1916 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\smart land\PycharmProjects\ccc\venv\Scripts\python.exe”
    [INFO ] [KivyMD ] v0.104.1
    [INFO ] [Factory ] 184 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
    [INFO ] [Window ] Provider: sdl2

  174. moradifardin171@gmail.com (خریدار محصول)

    میشه از واتساپ یا تلگرام یا جای براتون عکس بفرستم

    • مصطفی آصفی

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

  175. moradifardin171@gmail.com (خریدار محصول)

    همه چی رو طبق اموزشها جلو بردم

  176. moradifardin171@gmail.com (خریدار محصول)

    جناب مهندس خطایی که میده
    process finished with exit code -1073741819 (0*c0000005)

    • مصطفی آصفی

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

  177. moradifardin171@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

      سلام. سلامت باشید. لطفا خطایی که دریافت می کنید رو اینجا بنویسید (یا دست کم بخش اصلی اون رو) تا بتونم راهنمایی کنم. راستی یادتون باشه که در حال حاضر کیوی رو باید با پایتون 3.7 استفاده کنید. با پایتون 3.8 باگ داره.

  178. محمد امین شریفی

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

    • مصطفی آصفی

      سلام به شما. بعد از خرید لینک دانلود رو در حساب کاربری و ایمیل ثبت نامی خواهید داشت.
      در مورد کیوی باید بگم جذابیت و اولویت توسعه کیوی از دو نظر قابل بحثه: 1- برنامه نویسی پایتون 2- توسعه کراس پلتفرم یا چندسکویی

      توضیح 1: زبان پایتون ساده نویس، منعطف و دارای کتابخونه های زیادی در حوزه های مختلف از علوم و مهندسی گرفته تا هوش مصنوعی و … هست. اگه شما پایتون کار باشید توسعه با کیوی برای ساختن اپ گزینه اول محسوب میشه. این که بشه یک اپ ساخت که مثلا از پردازش تصویر و کتایخونه های پایتون در این زمینه بهره می بره گزینه چذابیه. و …
      اگه پایتون کار نیستید، برای آموختن سریع پایتون این آموزش رایگان پایتون (+) و برای آموختن عمیق و تمرین روزانه این آموزش مقدماتی تا پیشرفته پایتون (+) رو ببینید.

      توضیح 2: اگه لازمه اپلیکیشن شما حالا یا در آینده روی چند سکو (اندروید، iOS و دسکتاپ) کار کنه در این صورت انتخاب یک پلتفرم توسعه چندسکویی راهکار خوبیه و کیوی در این زمینه گزینه مناسبیه. اما اگر شما یک اپ تجاری می خواید که فقط روی اندروید کار کنه و در برنامه نویسی سطح آشناییتون با جاوا/کاتلین و پایتون یک اندازه هست در این صورت با اندروید استودیو و مثلا این آموزش اندروید با کاتلین (+) شروع کنید بهتره.

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

  179. محمدحسين فدوي اميري

    خیلی خیلی ممنونم از اموزش کیوی.
    خیلی وقت بود دنبالش بودم

    • مصطفی آصفی

      سلام و ممنون از محبت شما. امیدوارم تاثیر مفیدی در آینده حرفه‌ای عزیزان داشته باشه

  180. Codmusic.ir@gmail.com

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

    • مصطفی آصفی

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

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

نظرات کاربران در خصوص دوره 

180 دیدگاه برای آموزش کیوی (بسته جامع) __ ساخت اپ موبایل و دسکتاپ با پایتون و Kivy

  1. RrReza7591 (خریدار محصول)

    سلام ببخشید یه سوال داشتم واسه ساخت برنامه اندروید با کیوی روی ماشین مجازی وقتی کد sudo apt-get install build-essential ccache git libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 python2.7 python2.7-dev zip unzip openjdk-8-jdk python3-pip autoconf libtool pkg-config zlib1g-dev zlib1g:i386 libncurses5-dev libltdl-dev libffi-dev libssl-dev autotools-dev libncursesw5-dev libtinfo5 cmake رو میزنم این اخطار رو میده با وجود فیلتر شکن E: Package ‘libpangox-1.0-0:i386’ has no installation candidate E: Unable to locate package libidn11:i386و وقتی میخام خروجی بگیرم خطای جاوا میده من طبق اموزشاتون پیش رفتم بازم اخطار میده ممنون میشم راهنمایی کنید یا اگه راهی داره بگید انجام بدم

    • مصطفی آصفی

      سلام وقت بخیر. دو تا خطا این جا گزارش کردین که اولی میگه نمی تونه libpangox-1.0.0:i386 رو براش کاندیدای نصبی پیدا کنه علتش اینه که اسمش باید این شکلی نوشته بشه libpango1.0-0
      و دمی می گه نمی تونم بسته libidn11:i386 رو پیدا کنم که باید با دستور sudo apt-get install -y libidn11 اول اینو نصب کنید.
      برای پیدا کردن اسم درست بسته ها تو لیست پکیج ها مثلا همون libpango دستور apt-cache search libpango رو اجرا کنید.

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

  2. kingmahdi123870 (خریدار محصول)

    سلام وقتتون بخیر من طبق آموزش کیوی رو در cmd نصب میکنم اما وقتی کد pip install kivy==1.10.1 رو میزنم یه دانلود 23 مگابایتی انجام میده و بعد نوشته های طولانی زیر رو میاره و ارور میده فایل ها رو هم تست میکنم میگه کیوی نصب نیست
    ارور:
    Requirement already satisfied: kivy_examples in c:\users\king\kivy_venv\lib\site-packages (1.11.1), constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    Compiling C:\Users\king\AppData\Local\Temp\pip-install-25uvgpik\kivy_1079d230851c4000b100a81fba3beafc\kivy\graphics/svg.pyx because it changed.
    [1/1] Cythonizing C:\Users\king\AppData\Local\Temp\pip-install-25uvgpik\kivy_1079d230851c4000b100a81fba3beafc\kivy\graphics/svg.pyx
    [INFO ] building ‘kivy.graphics.svg’ extension
    error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/
    [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for kivy
    Failed to build kivy
    ERROR: Could not build wheels for kivy, which is required to install pyproject.toml-based projects
    ارور خیلی طولانی تره این آخرشه
    لطفا بگید چکار کنم

    • مصطفی آصفی

      سلام وقت بخیر. نسخه پایتون قدیمی تری مثلا پایتون ۳.۷ رو روی محیط مجازی (+) استفاده کنید. یا بر اساس راهنمایی این تاپیک (+) کیوی رو از سورس کد نصب کنید.

  3. یوسف پودینه مقدم

    سلام
    با استفاده از google colab ,به خطاهای زیر می رسه و فرایند قطع میشه:

    !pip install buildozer

    !pip install cython==0.29.19

    !sudo apt-get install -y \
    python3-pip \
    build-essential \
    git \
    python3 \
    python3-dev \
    ffmpeg \
    libsdl2-dev \
    libsdl2-image-dev \
    libsdl2-mixer-dev \
    libsdl2-ttf-dev \
    libportmidi-dev \
    libswscale-dev \
    libavformat-dev \
    libavcodec-dev \
    zlib1g-dev

    !sudo apt-get install -y \
    libgstreamer1.0 \
    gstreamer1.0-plugins-base \
    gstreamer1.0-plugins-good

    !sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssl libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libncursesw5-dev libffi-dev uuid-dev libffi6

    !sudo apt-get install libffi-dev

    !buildozer init

    !buildozer -v android debug

    ==============================================================================
    ==============================================================================

    !sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssl libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libncursesw5-dev libffi-dev uuid-dev libffi6

    Reading package lists… Done
    Building dependency tree… Done
    Reading state information… Done
    E: Unable to locate package libffi6

    ==============================================================================
    !buildozer -v android debug

    # Command failed: [‘/usr/bin/python3’, ‘-m’, ‘pythonforandroid.toolchain’, ‘create’, ‘–dist_name=myapp’, ‘–bootstrap=sdl2’, ‘–requirements=python3,kivy’, ‘–arch=arm64-v8a’, ‘–arch=armeabi-v7a’, ‘–copy-libs’, ‘–color=always’, ‘–storage-dir=/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a’, ‘–ndk-api=21’, ‘–ignore-setup-py’, ‘–debug’]
    # ENVIRONMENT:
    # SHELL = ‘/bin/bash’
    # NV_LIBCUBLAS_VERSION = ‘12.2.5.6-1’
    # NVIDIA_VISIBLE_DEVICES = ‘all’
    # COLAB_JUPYTER_TRANSPORT = ‘ipc’
    # NV_NVML_DEV_VERSION = ‘12.2.140-1’
    # NV_CUDNN_PACKAGE_NAME = ‘libcudnn8’
    # CGROUP_MEMORY_EVENTS = ‘/sys/fs/cgroup/memory.events /var/colab/cgroup/jupyter-children/memory.events’
    # NV_LIBNCCL_DEV_PACKAGE = ‘libnccl-dev=2.19.3-1+cuda12.2’
    # NV_LIBNCCL_DEV_PACKAGE_VERSION = ‘2.19.3-1’
    # VM_GCE_METADATA_HOST = ‘169.254.169.253’
    # HOSTNAME = ’15b14f8212ad’
    # LANGUAGE = ‘en_US’
    # TBE_RUNTIME_ADDR = ‘172.28.0.1:8011’
    # GCE_METADATA_TIMEOUT = ‘3’
    # NVIDIA_REQUIRE_CUDA = (‘cuda>=12.2 brand=tesla,driver>=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=470,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver=525,driver<526')
    # NV_LIBCUBLAS_DEV_PACKAGE = 'libcublas-dev-12-2=12.2.5.6-1'
    # NV_NVTX_VERSION = '12.2.140-1'
    # COLAB_JUPYTER_IP = '172.28.0.12'
    # NV_CUDA_CUDART_DEV_VERSION = '12.2.140-1'
    # NV_LIBCUSPARSE_VERSION = '12.1.2.141-1'
    # COLAB_LANGUAGE_SERVER_PROXY_ROOT_URL = 'http://172.28.0.1:8013/&#039;
    # NV_LIBNPP_VERSION = '12.2.1.4-1'
    # NCCL_VERSION = '2.19.3-1'
    # KMP_LISTEN_PORT = '6000'
    # TF_FORCE_GPU_ALLOW_GROWTH = 'true'
    # ENV = '/root/.bashrc'
    # PWD = '/content'
    # COLAB_LANGUAGE_SERVER_PROXY_REQUEST_TIMEOUT = '30s'
    # TBE_EPHEM_CREDS_ADDR = '172.28.0.1:8009'
    # TBE_CREDS_ADDR = '172.28.0.1:8008'
    # NV_CUDNN_PACKAGE = 'libcudnn8=8.9.6.50-1+cuda12.2'
    # NVIDIA_DRIVER_CAPABILITIES = 'compute,utility'
    # COLAB_JUPYTER_TOKEN = ''
    # LAST_FORCED_REBUILD = '20240104'
    # NV_NVPROF_DEV_PACKAGE = 'cuda-nvprof-12-2=12.2.142-1'
    # NV_LIBNPP_PACKAGE = 'libnpp-12-2=12.2.1.4-1'
    # NV_LIBNCCL_DEV_PACKAGE_NAME = 'libnccl-dev'
    # TCLLIBPATH = '/usr/share/tcltk/tcllib1.20'
    # NV_LIBCUBLAS_DEV_VERSION = '12.2.5.6-1'
    # COLAB_KERNEL_MANAGER_PROXY_HOST = '172.28.0.12'
    # NVIDIA_PRODUCT_NAME = 'CUDA'
    # NV_LIBCUBLAS_DEV_PACKAGE_NAME = 'libcublas-dev-12-2'
    # USE_AUTH_EPHEM = '1'
    # NV_CUDA_CUDART_VERSION = '12.2.140-1'
    # COLAB_WARMUP_DEFAULTS = '1'
    # HOME = '/root'
    # LANG = 'en_US.UTF-8'
    # COLUMNS = '100'
    # CUDA_VERSION = '12.2.2'
    # CLOUDSDK_CONFIG = '/content/.config'
    # NV_LIBCUBLAS_PACKAGE = 'libcublas-12-2=12.2.5.6-1'
    # NV_CUDA_NSIGHT_COMPUTE_DEV_PACKAGE = 'cuda-nsight-compute-12-2=12.2.2-1'
    # COLAB_RELEASE_TAG = 'release-colab_20240111-060117_RC01'
    # PYDEVD_USE_FRAME_EVAL = 'NO'
    # KMP_TARGET_PORT = '9000'
    # CLICOLOR = '1'
    # KMP_EXTRA_ARGS = ('–logtostderr –listen_host=172.28.0.12 –target_host=172.28.0.12 '
    '–tunnel_background_save_url=https://colab.research.google.com/tun/m/cc48301118ce562b961b3c22d803539adc1e0c19/m-s-8p90y6bmv5vg '
    '–tunnel_background_save_delay=10s '
    '–tunnel_periodic_background_save_frequency=30m0s '
    '–enable_output_coalescing=true –output_coalescing_required=true')
    # NV_LIBNPP_DEV_PACKAGE = 'libnpp-dev-12-2=12.2.1.4-1'
    # COLAB_LANGUAGE_SERVER_PROXY_LSP_DIRS = '/datalab/web/pyright/typeshed-fallback/stdlib,/usr/local/lib/python3.10/dist-packages'
    # NV_LIBCUBLAS_PACKAGE_NAME = 'libcublas-12-2'
    # COLAB_KERNEL_MANAGER_PROXY_PORT = '6000'
    # CLOUDSDK_PYTHON = 'python3'
    # NV_LIBNPP_DEV_VERSION = '12.2.1.4-1'
    # ENABLE_DIRECTORYPREFETCHER = '1'
    # NO_GCE_CHECK = 'False'
    # JPY_PARENT_PID = '81'
    # PYTHONPATH = '/env/python'
    # TERM = 'xterm-color'
    # NV_LIBCUSPARSE_DEV_VERSION = '12.1.2.141-1'
    # GIT_PAGER = 'cat'
    # LIBRARY_PATH = '/usr/local/cuda/lib64/stubs'
    # NV_CUDNN_VERSION = '8.9.6.50'
    # SHLVL = '0'
    # PAGER = 'cat'
    # COLAB_LANGUAGE_SERVER_PROXY = '/usr/colab/bin/language_service'
    # NV_CUDA_LIB_VERSION = '12.2.2-1'
    # NVARCH = 'x86_64'
    # NV_CUDNN_PACKAGE_DEV = 'libcudnn8-dev=8.9.6.50-1+cuda12.2'
    # NV_CUDA_COMPAT_PACKAGE = 'cuda-compat-12-2'
    # MPLBACKEND = 'module://ipykernel.pylab.backend_inline'
    # NV_LIBNCCL_PACKAGE = 'libnccl2=2.19.3-1+cuda12.2'
    # LD_LIBRARY_PATH = '/usr/local/nvidia/lib:/usr/local/nvidia/lib64'
    # COLAB_GPU = ''
    # GCS_READ_CACHE_BLOCK_SIZE_MB = '16'
    # NV_CUDA_NSIGHT_COMPUTE_VERSION = '12.2.2-1'
    # NV_NVPROF_VERSION = '12.2.142-1'
    # LC_ALL = 'en_US.UTF-8'
    # COLAB_FILE_HANDLER_ADDR = 'localhost:3453'
    # PATH = '/root/.buildozer/android/platform/apache-ant-1.9.4/bin:/opt/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/bin'
    # NV_LIBNCCL_PACKAGE_NAME = 'libnccl2'
    # COLAB_DEBUG_ADAPTER_MUX_PATH = '/usr/local/bin/dap_multiplexer'
    # NV_LIBNCCL_PACKAGE_VERSION = '2.19.3-1'
    # PYTHONWARNINGS = 'ignore:::pip._internal.cli.base_command'
    # DEBIAN_FRONTEND = 'noninteractive'
    # COLAB_BACKEND_VERSION = 'next'
    # OLDPWD = '/'
    # _ = '/usr/local/bin/buildozer'
    # PACKAGES_PATH = '/root/.buildozer/android/packages'
    # ANDROIDSDK = '/root/.buildozer/android/platform/android-sdk'
    # ANDROIDNDK = '/root/.buildozer/android/platform/android-ndk-r25b'
    # ANDROIDAPI = '31'
    # ANDROIDMINAPI = '21'
    #
    # Buildozer failed to execute the last command
    # The error might be hidden in the log above this error
    # Please read the full log, and search for it before
    # raising an issue with buildozer itself.
    # In case of a bug report, please add a full log with log_level = 2

    • مصطفی آصفی

      سلام دوباره. تجربه کار کیوی روی کولب رو ندارم ولی شکست سیستم انگار به خاطر مشکل بیلدوزر روی ‘pythonforandroid.toolchain هست. این راهنما (+)‌ رو ببینید.

  4. یوسف

    من برای تبدیل از https://colab.google استفاده کردم
    یک سری دستور که آماده بود
    طبق گفته ها از فیلتر شکن هم استفاده کردم

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

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

    من فردا مراحل رو انجام می دم و اررو ها و پیام ها رو اینجا می ذارم

  5. یوسف پودینه مقدم

    سلام
    من یک برنامه نوشتم که محاسبه ای هست و فعلا دو صفحه هست، در تبدیل به فایل apk مشکل دارم و با روش‌های گفته شده موفق نشدم
    برنامه رو قرار هست گسترش بدم ولی فعلا باید خروجی apk تا اینجا بگیرم تا ادامه گسترش برنامه رو بدم.
    امکان این هست که فایل های kv و py رو که نوشتم رو برای شما از طریقی ارسال کنم و شما فرایند تبدیل رو انجام بدید؟

    • مصطفی آصفی

      سلام وقت بخیر. نه متاسفانه من به خاطر شلوغی کارام نمی تونم براتون انجام بدم. ولی شما متن خطایی که دریافت می کنید رو اینجا بنویسید هم فکری می کنیم.

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

  6. فاطمه خانی (خریدار محصول)

    سلام
    من تونستم از فایل های kivy_examples خروجی exe بگیرم و کار هم می کنند .من یک برنامه ساده که فقط یک label را return میکنه نوشتم و exe برنامه خودم را هم گرفتم اما ب بسم الله وقتی vosk (offline speech recognition) را import می کنم فایل exe اجرا نمیشه( فقط Import میکنم هیچ خط کد دیگه ای نمینویسم). console را در فایل spec برابر false میکنم تا ارور را ببینم. این ارور را نمایش میده ( اسم فایلم ‘main’ هستش): Failed to execute script ‘main’ due to unhandled exception:maximum recursion depth exceeded while calling a python object
    تحقیق که کردم گفتند که فایل های vosk را باید در datas در فایل spec اضافه کرد. اما باز هم نتیجه فرقی نکرد.

    • مصطفی آصفی

      سلام وقت بخیر. من تجربه ای روی این کتابخونه ندارم ولی فکر نمی کنم مشکل از کیوی باشه. احتمالا کتابخونه ای که استفاده می کنید باید با نسخه متفاوتی از پایتون یا کیوی نصب بشه. این خطای maximum recursion depth exceeded رو جستجو و راه های برطرف کردن اون رو به طور کلی درپایتون بررسی کنید.

  7. رضا محمدی (خریدار محصول)

    با سلام و وقت بخیر استاد من بخشی از یک نرم افزار دسکتاپ رو نوشتم و میخواستم ازش خروجی exe بگیرم تا فایل نصبیش رو داشته باشم برای اینکار از auto py to exe استفاده کردم الان بیش از ۲۷ ۲۸ ساعته لپتاپ خاموش نشده و درحال convert شدنه آیا این مسئله عادیه ؟ یا من قسمتی رو اشتباه انجام میدم ؟

    • مصطفی آصفی

      سلام وقت بخیر. تا جایی که می دونم طبیعی نیست و باید خیلی ساده تر باشه. این درس رایگان خروجی exe رو ببینید.

  8. فرزانه همدانچی (خریدار محصول)

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

    • مصطفی آصفی

      سلام وقت بخیر. نظرتون پاک نشده منتها تو بخش نظرات آموزش مقدماتی kivy (+) پرسیده بودین. مراجعه کنید یه مقدار پایین برید هستش من الان دیدمش.

  9. امیرحسین تیموریان (خریدار محصول)

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

    • مصطفی آصفی

      سلام وقت بخیر. مطابق توضیحی که تو بخش فارسی سازی دادم امتحان کردین و نشد؟ با arabic_reshaper کاراکترها رو بچینید و پاس بدین.

  10. عرشیا (خریدار محصول)

    خیلی ممنون از آموزش فوق العاده تون من اگر بخوام برای اپلیکیشنم ورود و ثبت نام داشته باشم چجوری باید اینکارو کنم؟

  11. امین عباسی (خریدار محصول)

    باسلام و عرض ادب، من این دوره را تازه تهیه کردم. میخواستم ببینم باتوجه به اینکه فیلم‌های آموزشی بر اساس نسخه 1.10 هستش اگر نسخه 2 را نصب کنیم و براساس فیلم‌ها پیش بریم مشکل خاصی پیش می آید؟

    • مصطفی آصفی

      سلام وقت بخیر، بهتره اول با نسخه ۱ پیش برید یه دور آموزشو ببینید و اجرا کنید بعد که درکش کردید برگردید و با نسخه تازه کار کنید.

  12. behdadcn2@gmail.com (خریدار محصول)

    سلام وقت بخیر استاد – ویدئو شماره 10 صدا نداره

    • مصطفی آصفی

      سلام وقت بخیر. لطفا با vlc Player (+) تماشا کنید مشکل حل میشه.

  13. کاظم کاوه (خریدار محصول)

    سلام استاد درس ساخت PaintApp صدا نداره دانلود میکنیم. مشکل داره این فایل؟

    • روابط عمومی هم رویش

      با سلام همراه گرامی برای پخش فیلم های دریافتی از هم رویش از پلیر رایگان VLC استفاده نمایید تا کدک های سیستم شما تکمیل باشد. جهت دانلود پلیر می توانید به لینک زیر مراجعه فرمایید https://www.videolan.org/vlc/

  14. کاظم کاوه (خریدار محصول)

    سلام استاد. من وقتی کدها را می نویسم ارور زیر را می گیرد.
    Traceback (most recent call last):
    File “c:/Users/kazem/Desktop/2.py”, line 1, in
    from kivy.app import App
    ModuleNotFoundError: No module named ‘kivy.app’; ‘kivy’ is not a package

    • مصطفی آصفی

      سلام به شما. به خطا دقت کنید:
      No module named ‘kivy.app’; ‘kivy’ is not a package
      داره میگه ماژولی به اسم کیوی پیدا نمی کنه. ممکنه کیوی به درستی نصب نشده یا نصب شده ولی روی این پایتونی که دارید کد رو باهاش اجرا می کنید.

  15. مژگان

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

    • مصطفی آصفی

      سلام به شما. خود وبسایت کیوی توضیحش کافیه.
      در مورد کیوی نسخه ۱ این لینک نصب kivy روی osx (+)‌ رو ببینید.
      در مورد کیوی نسخه ۲ هم این لینک نصب کیوی روی مک (+) رو ببینید.

  16. مهدی (خریدار محصول)

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

  17. مهدی (خریدار محصول)

    با سلام و ارادت
    استاد برای خروج از اپ باید از چه دستوری استفاده کنیم تا بعد از خروج پنجره برنامه کوچک شود و روی آیکون برنامه برود؟
    از اینا استفاده کردم ولی موقع خروج انگار برنامه کرش میکنه و اونطور نرم خارج نمیشه
    os._exit(n)
    sys.exit(0)
    MDApp.get_running_app().stop()
    Window.close()
    سپاس

    • مصطفی آصفی

      سلام به شما. از on stop استفاده کنید. این نمونه کد (+) رو ببینید.

  18. امیر (خریدار محصول)

    فونت های پیشفرض رو مثل تو فیلم با ایران سنس جایگزین کردم
    ولی راهی برای راست چی کردن navigation drawer پیدا نکردم
    هم منو از سمت راست باز بشه، هم آیکون بیاد سمت راست متن تو گزینه های منو
    ممنون میشم راهنمایی کنید

    • مصطفی آصفی

      سلام مجدد. این لینک (+) رو ببینید. زیر مجموعه ContentNavigationDrawer یک anchor_x: “left” تعریف کرده برای عکس بالا نویگیشن. با الهام از اون میشه موقعیت آیکن ها رو مدیریت کرد.

  19. امیر (خریدار محصول)

    حل شد استاد
    در مورد راست چین کردن منو راهنمایی کنید ممنون میشم

    • مصطفی آصفی

      ممنونم که اطلاع دادین و ممنون میشم اگه هم بفرمایید که مشکل کجا بود و چکار کردید؟

  20. امیر (خریدار محصول)

    سلام مجدد
    با تشکر از آموزش خوبتون
    برای استفاده از متن فارسی در گزینه های navigation drawer روش های گفته شده با استفاده از araic shaper و bidi کار نمیکنه!
    تو لیبل و دکمه و اینا درسته ولی من تو OneLineIconListItem
    مینویسم:
    OneLineIconListItem:
    font_name: “iransans.ttf”
    text:get_display(arabic_reshaper.reshape(“ویرایش پروفایل”))برای من مربع برمیگردونه و انگار این روش تو اسم آیتم ها کار نمیکنه
    ممنون میشم راهنمایی کنید خیلی واجبه

    • مصطفی آصفی

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

  21. امیر

    سلام وقت بخیر
    آیا خروجی گرفتن برای ios در دوره توضیح داده شده؟
    اگر کدنویسی پیشفرض برای اندروید باشه، چقدر برای ios باید کد و تغییر بدیم؟ یا همون یکبار کدنویسی برای خروجی اندروید و ios کافیست؟

    • مصطفی آصفی

      سلام به شما. خیر خروجی iOS نگرفتیم. ریز سرفصل ها رو توصیه می کنم با دقت بررسی بفرمایید.
      در مورد سوالتون باید بگم بستگی به این داره که چقدر از ویژگی های بومی دستگاه استفاده می کنید. تو بخش آخر این بسته جایی که برای مثال داریم از GPS استفاده می کنیم می بینید که داخل کد بخش هایی هست که میشه جداکرد که مثلا اگر این بخش از کد داره روی گوشی اندروید اجرا میشه به این شکل وصل بشه اگه روی دسکتاپ به این شکل. جز این مورد بحث SDK هسته iOS هم هست. ممکنه که شما کتابخونه ای استفاده می کنید که موقع خروجی گیری اندروید مشکلی نداره ولی موقع خروجی گیری iOS چون توسعه دهنده های اون کتابخونه نسخه سازگار با این دستگاه رو به روز نکردن اونجا مشکل ایجاد می کنه. در کل اگه شما این موارد رو مدیریت کنید بله با یک بار کد خروجی برای جاهای مختلف کار می کنه. اما خب مدیریت کردن این موارد خودش کاریه که نیاز به صبر و تجربه داره.

  22. قاسمی (خریدار محصول)

    عرض سلام و ادب خدمت جناب آقای مهندس آصفی بزرگوار
    آموزش بسیار ارزنده ای بود س‍باس فراوان بابت زحمات بی دریغ شما.
    بنده قصد داشتم یک ابلیکیشن Image Processing برای اندروید بنویسم. برنامه بر روی لینوکس به درستی قابل اجراست و خروجی apk تولید می شود اما در موبایل در همان لحظه اول بعد از نصب کرش کرده و خارج می شود. خیلی سرچ کردم تمام راه حل هایی که دیدم رو تست کردم نتیجه ای نداشت! در برخی نظرات نوشته شده که در توسعه های جدید از ndk و sdk دیگر opencv قابل اجرا نیست!
    سوالم این بود که اخیرا خروجی apk با opencv داشتید و یا جایی مشاهده کردید؟

    • مصطفی آصفی

      سلام و ممنون از لطف شما. من تازگی اپلیکیشن بینایی کامپیوتر روی کیوی کار نکردم و نمی تونم قطعی بگم ولی سعی می کنم چند تا رشته فکری رو باهاتون به اشتراک بگذارم شاید مفید باشه.
      ۱- بعید می دونم opencv رو اندروید کنار بگذاره. من الان تو یوتیوب زدم android opencv و فیلم هایی تا دو هفته پیش هم موجود بودن.
      ۲- این که اپلیکیشن کرش می کنه و خارج میشه شاید ایراد دیگه ای باشه. باید لاگتون رو می فرستادین (بخش های خطا نه همه بخش ها) که بشه بهتر نظر داد
      ۳- بیلدوزر کمی از توسعه sdk و ndk عقب هست و همیشه تعیین نسخه خوب sdk و ndk برای یه پروژه کیوی و بیلدورز چالش بزرگیه.
      ۴- بخش اوپن سی وی اپتون رو کامنت کنید ببینید در کل sdk نصب شده درست کار می کنه؟ اگه درست کار کرد اونوقت میشه روی موارد بالا تمرکز بهتری داشت.

  23. aghelan.mf96@gmail.com (خریدار محصول)

    سلام وقت بخیر
    من وقتی از پروژه نقاشی به صورت تک فایل خروجی میگیرم برای ویندوز به این قسمت (style_app = Builder.load_file(“mypaint.kv”)) گیر میدهد و میگوید این فایل وجود ندارد. مشکل از چی هست ؟

    • مصطفی آصفی

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

      پی‌نوشت: لطفا متن خطایی که دریافت می کنید رو ارسال کنید که بشه دقیق تر نظر داد.

  24. ammar ramyar (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. دقت کنید که برای فراخوانی فایل kv باید حتما builder استفاده کنید.
      from kivy.lang.builder import Builder
      Builder.load_file(‘my.kv’)

      یا اگه محتوای فایل kv رو می خواید توی خود فایل پایتونی بنویسید:
      Builder.load_string(“””
      :
      Label:
      text: “example example”
      “””)

      پی‌نوشت: حتما دقت کنید نسخه کیوی که نصب می کنید تو مراحل آموزش مشابه من (۱) باشه.
      پی‌نوشت: تکه کدهای بالا اگه براتون خوب نمایش داده نمیشه کپی کنید و تو ویرایشگر کد خودتون بررسی‌شون کنید.

  25. محمد وحید کوه کن (خریدار محصول)

    سلام استاد وقت بخیر خسته نباشید
    من سعی دارم از یه پروژه kivymd خروجی بگیرم اما با ارور زیر مواجه میشم:

    Traceback (most recent call last):
    8948 WARNING: stderr: Traceback (most recent call last):
    File “C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\depend\imphook.py”, line 387, in _load_hook_module
    8948 WARNING: stderr: File “C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\depend\imphook.py”, line 387, in _load_hook_module
    self._hook_module = importlib_load_source(self.hook_module_name, self.hook_filename)
    8949 WARNING: stderr: self._hook_module = importlib_load_source(self.hook_module_name, self.hook_filename)
    File “C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\compat.py”, line 608, in importlib_load_source
    8951 WARNING: stderr: File “C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\compat.py”, line 608, in importlib_load_source
    return mod_loader.load_module()

    —————–
    9024 WARNING: stderr: PyInstaller.exceptions.ImportErrorWhenRunningHook: Failed to import module __PyInstaller_hooks_0_kivy required by hook for module C:\Users\Achilles\PycharmProjects\P
    andas\venv\lib\site-packages\PyInstaller\hooks\hook-kivy.py. Please check whether module __PyInstaller_hooks_0_kivy actually exists and whether the hook is compatible with your version of
    C:\Users\Achilles\PycharmProjects\Pandas\venv\lib\site-packages\PyInstaller\hooks\hook-kivy.py: You might want to read more about hooks in the manual and provide a pull-request to improv
    e PyInstaller.

    پروژه رو به روش lazyloading نوشتم(هر اسکرین به همراه فایل kv جداگانه در یک فولدر قرار دارند) و توی pycharm هم به خوبی کار میکنه
    در ضمن نسخه کتابخانه ها هم به این ترتیب هست:
    kivy==2.0.0
    kivymd==0.104.2
    pyinstaller==5.4.1
    ممنون میشم راهنمایی بفرمایید واقعا متوجه نمیشم مشکل کجاست

    • مصطفی آصفی

      سلام وقتتون بخیر. همیشه متن خطا رو گوگل کنید. ضمنا متن اصلی خطا تو کیوی از بخش Warning شروع میشه تا به Failed برسید جایی.
      متن خطا داره داره این قسمت میگه:
      Please check whether module __PyInstaller_hooks_0_kivy actually exists and whether the hook is compatible with your version of C:UsersAchillesPycharmProjectsPandasvenvlibsite-packagesPyInstallerhookshook-kivy.py
      یعنی بررسی کنید که فایل هوک موجود باشه و نسخه اون هم سازگار باشه. احتمالا یه راهکاری که ممکنه جواب بده حذف نصب پای اینستالر و نصب نسخه پایین تر (۴.۵.۱ مثلا) هست.

      ولی برای این که برای آینده هم با درک دقیق تر با پای اینستالر تو کیوی کار کنید توصیه می کنیم این لینک (+) رو بخونید. تو این لینک هم می تونید سریع ببینید که تو بخش Analysis چطور hookpath رو میشه در صورتی که دستی نصب و به پای اینستالر اضافه کردید مسیرش رو اینجا تعریف کنید.

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

  26. Mahdi.emadi@yahoo.com (خریدار محصول)

    سلام استاد وقت بخیر
    من یک برنامه اندروید نوشتم ولی متاسفانه سورس کد ها \اک شدن ولی apk ریلیز شده رو دارم آیا میتونم از apk به فایل های اصلی دسترسی داشته باشم؟
    با تشکر

    • مصطفی آصفی

      سلام به شما. ابزارهایی برای دیکامپایل کدهای اندروید هست. گوگل کنید decompile android apk

  27. مهسا حسینی فر (خریدار محصول)

    سلام و خسته نباشد
    بنده در طراحی اپلیکیشنم به مشکلی برخوردم. در کد زیر کلاس SplashScreenچه طور میتونم به screen تعریف شده در فایل .py دیگری با نام Login دسترسی داشته باشم؟
    from kivymd.app import MDApp
    from kivy.lang import Builder
    from kivy.uix.screenmanager import ScreenManager,Screen
    from kivy.clock import Clock
    from kivy.properties import ObjectProperty
    from Login import Login

    #Login Screen
    class WindowManager(ScreenManager):
    pass
    class SplashScreen(Screen):
    def on_enter(self, *args):
    Clock.schedule_once(Login,5)
    class StartPage(MDApp):
    def build(self):
    return Builder.load_file(‘logo.kv’)

    if __name__ == ‘__main__’:
    StartPage().run()

  28. مهسا حسینی فر (خریدار محصول)

    سلام روز بخیر
    حسینی فر هستم چندین بار مزاحمتون شدم برای طراحی اپلیکیشنم. به راهنماییتون در پیاده سازی نیاز دارم ممنون میشم کمکم کنید:
    1- صفحه اولم که خیلی سادست: مثل صفحات اول دیجی کالا و اسنپ که چند ثانیه نمایش داده میشن لوگو و نام اپلیکیشن رو نمایش میدن و اتوماتیک وارد صفحه بعد که مثلا login هست بشه. ولی نمیتونم اون قسمت اتوماتیکش رو پیاده کنم و حتما باید کلیک انجام شه.
    2- فعلا کدهام به شکل زیر هست:
    main.py

    from kivymd.app import MDApp
    from kivy.lang import Builder
    from kivy.uix.screenmanager import Screen,ScreenManager
    from kivy.properties import ObjectProperty
    from kivymd.uix.relativelayout import MDRelativeLayout
    from kivy.clock import Clock

    class Manager(ScreenManager):
    pass

    class LogoScreen(Screen):
    pass

    class LoginScreen(Screen):
    pass

    class ClickableTextFieldRound(MDRelativeLayout):
    pass

    class StartPage(MDApp):
    def build(self):
    return Builder.load_file(‘logo.kv’)

    # Press the green button in the gutter to run the script.
    if __name__ == ‘__main__’:
    StartPage().run()

    logo.kv:
    :

    MDTextField:
    hint_text:’Username’
    helper_text: “this field is required”
    pos_hint:{ “center_y”: 0.9}

    MDTextField:
    id: text_field
    hint_text:’Password’
    password: True
    icon_left: “key-variant”
    pos_hint:{ “center_y”: 0.7}

    MDIconButton:
    icon: “eye-off”
    pos_hint: {“center_y”: .7}
    pos: text_field.width – self.width + dp(8), 0
    theme_text_color: “Hint”
    on_release:
    self.icon = “eye” if self.icon == “eye-off” else “eye-off”
    text_field.password = False if text_field.password is True else True

    MDFlatButton:
    text:’Forgot password?’
    pos_hint: {“center_y”: .6}
    on_press:app.ForgotPassword

    MDFillRoundFlatButton:
    text:’Log In’
    font_size:’20’
    pos_hint:{‘center_x’:0.5,’center_y’:0.5}
    on_press:app.Logger

    MDFlatButton:
    text:’Create account’
    pos_hint:{‘center_y’:.3}
    on_press:app.NewAcoount

    Manager:
    LogoScreen:
    LoginScreen:

    :
    MDScreen:
    name:’first’
    size:root.size
    MDIconButton:
    icon:’alpha-l-circle’
    width:20
    pos_hint: {“center_x”: .5, “center_y”: .6}
    on_release:
    root.manager.transition.direction=’left’
    root.manager.transition.duration=3
    root.manager.current=’login’
    MDLabel:
    text:’LOGO Name’
    pos_hint:{ “center_y”: 0.2}
    halign: “center”

    :
    name:’login’
    MDScreen:

    MDCard:
    orientation:’vertical’
    size_hint: None, None
    size: 400, 500
    pos_hint: {“center_x”: 0.5, “center_y”: 0.5}
    padding: 25
    spacing: 25

    ClickableTextFieldRound:
    width: “300dp”

    نمیدونم چه طور میتونم بخش مربوط به login رو از logo.kv جدا کنم و در فایل جداگانه دیگه ای به نام login.kv بنویسم. درواقع میخوام از screen موجود در یک فایل.kv بتونم به screen موجود در فایل .kv پارامترهارو ارسال کنم

    • مصطفی آصفی

      سلام به شما خانم حسینی فر. برای ساخت صفحه ورود اپلیکیشن (splash) از متد on_enter() کلاس Screen استفاده کنید. این لینک (+) یک نمونه از پیاده سازی اسپلش در KiyMD رو می‌تونید ببینید.

  29. مهدی عمادی (خریدار محصول)

    با سلام استاد آصفی
    من یک اپ نوشتم با استفاده از pandas فایل apk بدون هیچ اشکالی تولید میشه ولی روی گوشی اجرا نمیشه.
    وقتی خطوط مربوط به pandas رو حذف میکنم درست میشه.
    داخل buildozer در بخش ریکورمنت pandad رو هم وارد کردم میشه راهنماییم کنید برای استفاده از pandas چه باید کرد؟

    • مصطفی آصفی

      سلام به شما. احتمال داره pandas (پانداس) رو به بخش requirements تو buildozer spec اضافه نکرده باشین.

      کتابخونه هایی مثل پانداس یا نامپای یا ریکوئست و … رو باید به پیشنیازها تو بیلدوزر اضافه کرد. حتی گاهی باید نسخه دقیق هم مشخص کرد. مثلا:‌
      requirements = python3==3.7.5,kivy==2.0.0,numpy,pandas

  30. راشین لطیفی (خریدار محصول)

    سلام مجدد
    استاد واسه MDdatatable چطور میشه فارسیش کرداطلاعاتم از mysql میخونه
    لطفا زودتر جواب بدین تافردا وقت دارم تمومش کنم

    • مصطفی آصفی

      سلام و می بخشین که بخش نظرات رو روزانه نمی بینم جوابتون دیر شد. من تجربه این مورد رو ندارم اما به نظرم می تونید همون رویه که برای TextInput گفتم رو لطفا امتحان کنید. سورس کد MDdatatable (+) رو دقت کنید. یه table_data دارین که ObjectProperty هست. اون رو باید ارث ببرین و با arabic_reshaper باهاش کار کنید تا متن فارسی رو هم پوشش بده.

  31. راشین لطیفی (خریدار محصول)

    سلام مهندس اصفی
    من میخام text یک textinput که بهش id دادم بگیرم ولی همش خطا میده چندروزه درگیرشم
    id:search_b
    ودرپایتون
    record=self.ids[str(“search_b”)].text
    کدبالا درسته؟
    وکجا تعریفش کنم که پایتون بشناسش؟

    • مصطفی آصفی

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

  32. فرزاد نادی (خریدار محصول)

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

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

    دوم خطای ۳۲ بیتی به جای ۶۴ بیتی این مورد در هر کتابخونه ای امکان داره بر بخورید البته احتمالش کمه ولی من در مورد کتابخونه opencv بهش برخوردم علتش این بود که در در فایل buildozer.spec در قسمت کتابخونه های مورد نیاز opencv-python گذاشته بودم در حالی که باید opencv تنها میذاشتم و در مراحل بعد که opencv تنها میذاستم تاثیری نداشت چون وقتی میخواست دانلود کنه میدید فایلهایی را با همون نام از قبل وجود داشته و دیگه دانلود نمیکرد بنابراین اگه دارید نام یه کتابخونه یا حتی نسخه اون رو تغییر میدید برای احتیاط حتما پوشه buildozer ساخته شده رو پاک کنید مجدد دیباگ کنید.

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

    در آخر از آقای آصفی هم تشکر میکنم و هم عذرخواهی حالا که نگاه میکنم بعضی از سوالاتم چون مسیر رو اشتباه میرفتم یه چیز گنگ و نامربوط بوده

    موفق باشید

    • مصطفی آصفی

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

  33. Mahdi.emadi@yahoo.com (خریدار محصول)

    با سلام استاد آصفی عزیز
    یک اپ موبایل با پایتون و کیوی نوشته ام و نیاز دارد هر روز یک اکسل و چند عکس(مجموعا زیر 10 گیگ) را من جایی بارگزاری کنم و برنامه روزانه به آن پایگاه وصل شود و با آن اطلاعات آپدیت شود.
    کجا میتونم آن اکسل و تصاویر را بارگزاری کنم تا هر روز برنامه به آن دسترسی داشته باشد؟
    چون پروژه بیشتر جنبه آموزشی دارد اگه امکانش هست پایگاه اقتصادی تر و یا رایگان معرفی کنید ممنون میشوم.
    سپاس

    • مصطفی آصفی

      سلام به شما. این روشی که استفاده کردین اصولی نیست. من راه اصولی رو می گم و پاسخ سوالتون هم جدا پایین میدم.
      راه اصولی اینه که فایل روی سرور باشه و شما عملیاتی که با فایلتون انجام میدن هم روی سرور بنویسین. مثلا با جنگو پایتون. بعد API هایی درست کنید که با صدا کردن اون ها از داخل اپ کیوی عملیات مورد نظرتون توسط سرور انجام میشه و پاسخش به اپ داده میشه. شبیه کار با API که تو بخش سوم بسته جامع کیوی هم براتون مثال زدم.
      منتها اگه نخواین این روش رو برید شاید آپلود فایل روی OneDrive یا Google Drive و کار با اون ها توسط پایتون بتونه کمکتون کنه. این فیلم رو برای اتصال به OneDrive از پایتون (+)‌ و این فیلم هم برای اتصال به Google Drive با پایتون (+) بررسی کنید.

  34. فرزاد نادی (خریدار محصول)

    سلام آقای آصفی
    خیلی از راهنمایی های شما ممنونم من خروجی اپم رو گرفتم و خیلی عالی کار می کنه. فقط یه مشکل خیلی مهم دارم من تو قسمتی از اپی که طراحی کردم از OpenCV استفاده کردم و دکمه هایی که در اون cv2 رو import کردم خطای زیر رو میده. خیلی برام مهمه لطفا کمک کنید. این هم بگم در فایل buildozer.spec در قسمت requirement هم opencv رو گذاشتم هم opencv-python ولی در هر حالت خطا میده

    ImportError: dlopen failed: “/data/user/0/org.kivymd.myApp/files/app/_python_bundle/site-packages/cv2/cv2.so” is 64-bit instead of 32-bit

    • مصطفی آصفی

      سلام به شما. خوشحالم که به خروجی رسیدین. باریکلا. این مشکل اینجا (+) هم حل نشده مونده. لطفا نسخه ۱.۱۱ کیوی و opencv قدیمی تر رو تو محیط مجازی امتحان و نتیجه رو اعلام کنید.

  35. hasan

    سلام به آقای آصفی،
    من یه کد نوشتم که با تاچ بر روی صفحه پرینت میکنه مقدار تاچ رو،
    وقتی برنامه رو اجرا میکنم و تاچ میکنم هیچ چیزی پرینت نمیشه
    بعدش که میخوام برنامه رو ببندم روی دکمه close برنامه که در سمت راست بالای برنامه است میزنم ولی برنامه بسته نمیشه و در قسمت پایین(run) مینویسه:
    [INFO ] [Base ] Leaving application in progress…
    [INFO ] [Base ] Start application main loop
    (هنوز برنامه باز است) و الان که بر روی صفحه تاچ میکنم position تاچ رو مینویسه

    و الان که برنامه رو میبندم(ینی برای بار دوم که میبندم) بسته میشه و در قسمت run مینویسه:
    [INFO ] [Base ] Leaving application in progress…
    ینی درکل پنج خط پایین قسمت run به این شکل است:
    [INFO ] [Base ] Start application main loop
    [INFO ] [Base ] Leaving application in progress…
    [INFO ] [Base ] Start application main loop

    [INFO ] [Base ] Leaving application in progress…
    خیلی عجیب نیست؟ شما تا به حال با چنین چیزی برخورد نکردید؟
    نمیدونم توضیحاتم کامل بود یا نه و منظورم رو فهمیدید یا نه؟ ولی به هر حال این کد من است:
    from kivy.app import App
    from kivy.uix.widget import Widget

    class paint_app(Widget):
    def on_touch_down(self, touch):
    print(touch)

    class Myapp(App):
    def build(self):
    return paint_app()

    Myapp().run()

    • مصطفی آصفی

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

  36. فرزاد نادی (خریدار محصول)

    سلام آقای آصفی
    وقت بخیر
    من همچنان در خروجی گرفتن apk مشکل دارم ولی متاستفانه بخش نظرات رو خیلی دیر پاسخ می دهید امکان داره یه ارتباط مستقیم تری داشته باشیم بحث خروجی apk گرفتن طوری هست که نیاز هست تعاملی تر باشه می دونم براتون مشکل میشه ولی جوری باشه روزی 1 پاسخ از شما دریافت کنیم و پیگیر کار باشیم تا به نتیجه برسیم من واقعا در خروجی گرفتن به مشکل خوردم و کارم متوقف شده

    • مصطفی آصفی

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

  37. شهرزاد ستایش (خریدار محصول)

    با سلام و خداقوت آموزش ها عالی هستن . فقط استاد میشه آموزش apkکردن برنامه ARرا هم بسازید و بذارید تو سایت که تهیه کنیم ؟ من آموزش kivy را هم تهیه کردم ولی نمیتونم این AR را برای گوشی تبدیل کنم . ممنون میشم

    • مصطفی آصفی

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

  38. فرزاد نادی (خریدار محصول)

    سلام آقای آصفی
    وقت بخیر
    گفته بودم تونستم از برنامه ای که نوشتم apk بگیرم ولی کرش میکنه فرمودید فایل log رو بفرستم در قسمت نظرات جایی برای ارسال فایل ندیدم ولی قسمت مهم log رو اینجا قرار میدم لطفا راهنمایی کنید چند ماه هست درگیر تولید apk هستم متشکرم.

    [DEBUG]: -> running gradlew assembleDebug
    [DEBUG]:
    [DEBUG]: > Configure project :
    [DEBUG]: WARNING: The option setting ‘android.bundle.enableUncompressedNativeLibs=false’ is experimental and unsupported.
    [DEBUG]: The current default is ‘true’.
    [DEBUG]:

    [DEBUG]: > Task :compileDebugJavaWithJavac
    [DEBUG]: ebugJNote: Some input files use or override a deprecated API.
    [DEBUG]: rm a Note: Recompile with -Xlint:deprecation for details.
    [DEBUG]: Note: Some input files use unchecked or unsafe operations.
    [DEBUG]: Note: Recompile with -Xlint:unchecked for details.
    [DEBUG]:
    [DEBUG]: > Task :stripDebugDebugSymbols
    [DEBUG]: Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead.
    [DEBUG]: /root/.buildozer/android/platform/android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip:/home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/intermediates/merged_native_libs/debug/out/lib/armeabi-v7a/gdb.setup: File format not recognized
    [DEBUG]:
    [DEBUG]: Unable to strip library /home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/intermediates/merged_native_libs/debug/out/lib/armeabi-v7a/gdb.setup due to error 1 returned from /root/.buildozer/android/platform/android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip, packaging it as is.
    [DEBUG]: /root/.buildozer/android/platform/android-ndk-r19c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip:/home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/intermediates/merged_native_libs/debug/out/lib/arm64-v8a/gdb.setup: File format not recognized
    [DEBUG]:
    [DEBUG]: Unable to strip library /home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/intermediates/merged_native_libs/debug/out/lib/arm64-v8a/gdb.setup due to error 1 returned from /root/.buildozer/android/platform/android-ndk-r19c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip, packaging it as is.
    [DEBUG]:
    [DEBUG]: Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
    [DEBUG]: Use ‘–warning-mode all’ to show the individual deprecation warnings.G]:
    [DEBUG]: See https://docs.gradle.org/6.4.1/userguide/command_line_interface.html#sec:command_line_warnings
    [DEBUG]:
    [DEBUG]: BUILD SUCCESSFUL in 22s
    [DEBUG]: 25 actionable tasks: 25 executed

    [INFO]: running cp /home/x0/Desktop/farzadof/MyLarvae/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/myLarvae/build/outputs/apk/debug/myLarvae-debug.apk myLarvae-debug-0.1-.apk
    WARNING: Received a –sdk argument, but this argument is deprecated and does nothing.
    No setup.py/pyproject.toml used, copying full private data into .apk.
    Applying Java source code patches…
    Applying patch: src/patches/SDLActivity.java.patch
    # Android packaging done!
    # APK myLarvae-0.1-arm64-v8a_armeabi-v7a-debug.apk available in the bin directory
    # Run ‘/root/.buildozer/android/platform/android-sdk/platform-tools/adb devices’
    # Cwd None
    List of devices attached

    # Application pushed.
    # Waiting for application to start.

    • مصطفی آصفی

      سلام مجدد و پوزش از تاخیر. ازتون می خوام که خودتون هم لاگتون رو بخونید. این خیلی تو خودکفا شدن خودتون و پرسیدن سوال های درست از خودتون به شما کمک می کنه.
      ببینید الان این لاگی که فرستادین یه سری هشدار داره که باید در آینده جدی گرفته بشن اما در کل هم بیلد موفق بوده و هم ساخت apk . یک خط به آخر هم Application pushed رو داریم که می گه ارسال شد به دستگاه.
      شما بیلد سالم دارین ولی اجرای ناموفق apk . در نتیجه نیاز دارین اون اکسپشنی که اندروید بهتون میده رو ببینید. مثلا باید گوگل کنیم : how to see android log in kivy . و برای مثال این جواب (+) رو بررسی کنیم یا جواب های مشابه تا با آزمون و خطا بتونیم اون ویژگی مورد نظر رو راه بندازیمش.

  39. حسن

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

  40. حسن

    سلام آقای آصفی، این کد منه فقط نمیدونم چرا Button م حرکت نمیکنه:
    def on_touch_down(self, touch):
    self.btn.pos_hint[‘x’] = touch.pos[0]
    self.btn.pos_hint[‘y’] = touch.pos[1]
    print(self.btn.pos_hint)
    print(touch)
    #خروجی:
    #{‘x’: 61.0, ‘y’: 401.0}
    حتی btn.pos_hint هم برابر میشه با touch.pos، با هم مساوی اند، ولی نمیدونم چرا Button م به اون نقطه نمیره
    اگه میشه راهنماییم کنید، خیلی ممنون از پاسخگویی شما

    • مصطفی آصفی

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

  41. ايمن نجاتی (خریدار محصول)

    با سلام خدمت شما
    بنده اين دوره را خريدارى كردم
    ولى در هنگام انجام درس 13 براى خروجى گرفتن براى ويندوز به صورت يك فايل (–onefile)
    در كامند لاين روى اين قسمت توقف مى كنه و اصلا جلو نمى رود

    nt\build\aa\PYZ-00.pyz completed successfully.
    22308 INFO: checking Tree
    22312 INFO: Building Tree because Tree-03.toc is non existent
    22312 INFO: Building Tree Tree-03.toc
    22316 INFO: checking Tree
    22316 INFO: Building Tree because Tree-04.toc is non existent
    22317 INFO: Building Tree Tree-04.toc
    22322 INFO: checking Tree
    22323 INFO: Building Tree because Tree-05.toc is non existent
    22326 INFO: Building Tree Tree-05.toc
    22329 INFO: checking PKG
    22342 INFO: Building because toc changed
    22342 INFO: Building PKG (CArchive) aa.pkg
    لطفا راهنمايى بفرماييد

    • مصطفی آصفی

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

  42. فرزاد نادی (خریدار محصول)

    سلام
    من بالاخره تونستم با استفاده از لینوکس و بیلدوزر نسخه apk تولید کنم. ولی وقتی روی گوشی نصبش می کنم کرش میکنه و این پیام رو در لینوکس گزارش میکنه. نمیدونم باید چه کار کنم تا مشکل حل بشه

    Debian ‘dpkg’ package management program version 1.19.7 (amd64).
    This is free software; see the GNU General Public License version 2 or
    later for copying conditions. There is NO warranty.

    # Search for Git (git)
    # -> found at /usr/bin/git
    # Search for Cython (cython)
    # -> found at /usr/bin/cython
    # Search for Java compiler (javac)
    # -> found at /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
    # Search for Java keytool (keytool)
    # -> found at /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/keytool

    • مصطفی آصفی

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

  43. حسن

    سلام آقای آصفی
    ممنون از پاسخ های کامل شما
    فقط میخواستم چند تا سوال دیگه هم بپرسم تا مطمئن بشم:
    1.در کیوی هم میشه از فونت فارسی استفاده کرد؟ (در کیوی، نه در کیوی ام دی!)
    2. من که میخوام در اندروید برنامه درست کنم و در گوگل پلی، برنامه ام رو به فروش برسونم (باز هم تاکید میکنم که با خط فارسی و هر فونتی که خودم میخوام
    ، مثلا با فونت b nazanin) ، با قبول این شرایط آیا میتونم با همین پایتونی که بلد هستم، با زبون کیوی همچین برنامه هایی درست کنم؟
    ببخشید اگر سوالم تکراری بود و خیلی ممنون از پاسخگویی شما

    • مصطفی آصفی

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

      پی نوشت: کیوی برای کسانی مناسبه که دنبال اپ کراس پلتفرم هستن و همین طور استفاده از کتابخانه های خاص پایتون تو کد براشون مناسبه. اگه برنامه شما قراره صرفا اندروید باشه توصیه می کنم سراغ اندروید استودیو و زبان کاتلین برین. یادگیری اصول کاتلین (نه حرفه ای شدن) در حدی که بتونید یه اپ رو بالا بیارید در حد دیدن یه آموزش چند ساعتی کاتلین کافیه. بعد می تونید از آموزش اندروید با کاتلین هم رویش یا مجموعه های دیگه استفاده کنید.

  44. kingofkings298@gmail.com (خریدار محصول)

    سلام استاد من در اجرا مشکل دارم
    [INFO ] [Logger ] Record log in C:\Users\lenovo\.kivy\logs\kivy_22-02-25_4.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.3.3
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.1
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Program Files\Python37\python.exe”
    [INFO ] [Factory ] 186 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds (img_sdl2, img_pil, img_ffpyplayer ignored)
    [CRITICAL] [Text ] Unable to find any valuable Text provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
    sdl2 – ImportError: DLL load failed: The specified module could not be found.
    File “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\core\__init__.py”, line 62, in core_select_lib
    fromlist=[modulename], level=0)
    File “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\core\text\text_sdl2.py”, line 13, in
    from kivy.core.text._text_sdl2 import (_SurfaceContainer, _get_extents,

    pil – ModuleNotFoundError: No module named ‘PIL’
    File “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\core\__init__.py”, line 62, in core_select_lib
    fromlist=[modulename], level=0)
    File “C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\kivy\core\text\text_pil.py”, line 7, in
    from PIL import Image, ImageFont, ImageDraw

    [CRITICAL] [App ] Unable to get a Text provider, abort.

    • مصطفی آصفی

      سلام به شما. به انتهای خطا دقت کنید. می گه ماژول PIL رو یافت نمی کنم. از دستور پایین استفاده کنید:
      pip install Pillow

  45. hasan

    چگونه در فایل kv فقط یک Button تعریف کنیم، ینی فقط تعریف کنیم، نه که در صفحه addش کنیم.
    که بعدا اگه نیاز بهش بود addش میکنیم

    • مصطفی آصفی

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

  46. hasan

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

    • مصطفی آصفی

      در این مورد همون طور که این بسته (+) صحبت کردیم میشه از فونت فارسی استفاده کرد اما دست خیلی باز نیست. البته اطلاعات من مربوط به کیوی ۱ هست و شاید این مورد الان با نسخه تازه حل شده باشه.
      پس در مورد امکان استفاده از فونت و زبان فارسی در کیوی ۲ تحقیق کنید و ضمنا توصیه می کنم این آموزش پای کیوت (+) رو هم بررسی کنید. البته پای کیوت برای خروجی گیری اندروید خیلی راه دست نیست ولی میشه (به ادعای خود سازنده ها این شدنی هست و حتی من یه مقاله هم در این مورد خوندم ولی من امتحان نکردم و می تونید تو نظرات اون آموزش پای کیوت که بالا لینک کردم، قبل از خرید و ورود به اون حوزه از آقای علیجانی باز بپرسید). پای کیوت کاملا فارسی رو پشتیبانی می کنه و یه دیزاینر هم داره که اگه فیلم معرفی اون دوره رو ببینید متوجه میشید.
      لطفا نتیجه تحقیق خودتون یا اگه بعدها کاری کردین، نتیجه توسعه خودتون رو اینجا به دوستانتون اعلام کنید (پاسخ نظرات برای باقی دوستان هم میره) که اگه مشکل حل شد دیگران با وضعیت امروز شما هم فردا از تجربه شما استفاده کنن.

  47. حسن

    بله ممنون، ببخشید یه سوال داشتم، سلام، چطوری باید در فایل kv وقتی بر روی یک باتن کلیک شد، مثلا فلان add widget ،label شود، نه که فقط text ش تغیر کنه ها! ، بلکه تازه add widget بشه، خیلی ممنون

    • مصطفی آصفی

      سلام به شما. بعد از این که بسته رو کامل تماشا کردین برای این که بتونید خودکفا بشید باید دست به گوگل باشید. مثلا همین سوال «how add widget press button kivy» رو با همین کلیدواژه های اصلی اگه گوگل کنید، این لینک (+) نمونه خوبی براتون گذاشته. از استک اورفلو معمولا می تونید تکه کدهای خوبی پیدا کنید.

  48. حسن

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

    • مصطفی آصفی

      سلام به شما. این مشکل به دلیل کدک سیستمتون هست. لطفا از پخش کننده رایگان VLC Player (+) استفاده کنید.

  49. فرزاد (خریدار محصول)

    سلام استاد
    با راهنمایی که کردید مشکل angle همون نسخه پایتون بود که تاکید کردم نسخه3.7.9 رو نصب کنه و درست شد در ادامه فرایند تولید apk این خطا رو دریافت کردم.

    STDERR:

    # Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create –dist_name=LarvaeCouter –bootstrap=sdl2 –requirements=python3==3.7.9,kivy,certifi==2021.10.8,charset-normalizer==2.0.10,docutils==0.18.1,idna==3.3,Kivy==2.0.0,kivy-deps.angle==0.3.1,kivy-deps.glew==0.3.0,kivy-deps.sdl2==0.3.1,Kivy-Garden==0.1.4,kivymd==0.104.2,nuymp==1.21.5,opencv-python==4.5.5.62,Pillow==9.0.0,plyer==2.0.0,Pygments==2.11.2,pypiwin32==223,pywin32==303,requests==2.27.1,urllib3==1.26.8 –arch armeabi-v7a –copy-libs –color=always –storage-dir=”/content/.buildozer/android/platform/build-armeabi-v7a” –ndk-api=21
    # ENVIRONMENT:
    # CUDNN_VERSION = ‘8.0.5.39’
    # PYDEVD_USE_FRAME_EVAL = ‘NO’
    # LD_LIBRARY_PATH = ‘/usr/local/nvidia/lib:/usr/local/nvidia/lib64’
    # CLOUDSDK_PYTHON = ‘python3’
    # USE_EPHEM = ‘1’
    # LANG = ‘en_US.UTF-8’
    # ENABLE_DIRECTORYPREFETCHER = ‘1’
    # HOSTNAME = ‘221f4466d2e7’
    # OLDPWD = ‘/’
    # CLOUDSDK_CONFIG = ‘/content/.config’
    # NVIDIA_VISIBLE_DEVICES = ‘all’
    # DATALAB_SETTINGS_OVERRIDES = ‘{“kernelManagerProxyPort”:6000,”kernelManagerProxyHost”:”172.28.0.3″,”jupyterArgs”:[“–ip=\\”172.28.0.2\\””],”debugAdapterMultiplexerPath”:”/usr/local/bin/dap_multiplexer”,”enableLsp”:true}’
    # ENV = ‘/root/.bashrc’
    # PAGER = ‘cat’
    # NCCL_VERSION = ‘2.7.8’
    # TF_FORCE_GPU_ALLOW_GROWTH = ‘true’
    # JPY_PARENT_PID = ’46’
    # NO_GCE_CHECK = ‘True’
    # PWD = ‘/content’
    # HOME = ‘/root’
    # LAST_FORCED_REBUILD = ‘20220106’
    # CLICOLOR = ‘1’
    # DEBIAN_FRONTEND = ‘noninteractive’
    # LIBRARY_PATH = ‘/usr/local/cuda/lib64/stubs’
    # GCE_METADATA_TIMEOUT = ‘0’
    # GLIBCPP_FORCE_NEW = ‘1’
    # TBE_CREDS_ADDR = ‘172.28.0.1:8008’
    # TERM = ‘xterm-color’
    # SHELL = ‘/bin/bash’
    # GCS_READ_CACHE_BLOCK_SIZE_MB = ’16’
    # PYTHONWARNINGS = ‘ignore:::pip._internal.cli.base_command’
    # MPLBACKEND = ‘module://ipykernel.pylab.backend_inline’
    # CUDA_VERSION = ‘11.1.1’
    # NVIDIA_DRIVER_CAPABILITIES = ‘compute,utility’
    # SHLVL = ‘1’
    # PYTHONPATH = ‘/env/python’
    # NVIDIA_REQUIRE_CUDA = (‘cuda>=11.1 brand=tesla,driver>=418,driver=440,driver=450,driver<451')
    # TBE_EPHEM_CREDS_ADDR = '172.28.0.1:8009'
    # COLAB_GPU = '0'
    # GLIBCXX_FORCE_NEW = '1'
    # PATH = '/root/.buildozer/android/platform/apache-ant-1.9.4/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/bin:/opt/bin'
    # LD_PRELOAD = '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4'
    # GIT_PAGER = 'cat'
    # _ = '/usr/local/bin/buildozer'
    # PACKAGES_PATH = '/root/.buildozer/android/packages'
    # ANDROIDSDK = '/root/.buildozer/android/platform/android-sdk'
    # ANDROIDNDK = '/root/.buildozer/android/platform/android-ndk-r19c'
    # ANDROIDAPI = '27'
    # ANDROIDMINAPI = '21'
    #
    # Buildozer failed to execute the last command
    # The error might be hidden in the log above this error
    # Please read the full log, and search for it before
    # raising an issue with buildozer itself.
    # In case of a bug report, please add a full log with log_level = 2

    • مصطفی آصفی

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

  50. فرزاد (خریدار محصول)

    سلام
    من برنامه را با کیوی نوشتم برای نسخه apk به مشکل خوردم این 4 کتابخونه روکه در فایل buildozer گذاشتم رو نمیشناسه
    kivy-deps.angle
    kivy-deps.glew
    kivy-deps.sdl2
    pywin32

    متن خطا
    ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none)
    ERROR: No matching distribution found for kivy-deps.angle

    وقتی این چهار کتابخونه رو پاک می کنم درست انجام میشه و نسخه apk ساخته میشه ولی بعد از نصب در گوشی، کرش میکنه و چیزی نشون نمیده

    لازم به ذکر است با google colab فرایند ساخت apk رو انجام دادم

  51. فرزاد

    سلام
    منبرنامه را با کیوی نوشتم برای نسخه apk به مشکل خوردم این 4 کتابخونه روکه در فایل buildozer گذاشتم رو نمیشناسه
    kivy-deps.angle
    kivy-deps.glew
    kivy-deps.sdl2
    pywin32

    متن خطا
    ERROR: Could not find a version that satisfies the requirement kivy-deps.angle (from versions: none)
    ERROR: No matching distribution found for kivy-deps.angle

    وقتی این چهار کتابخونه رو پاک می کنم درست انجام میشه و نسخه apk ساخته میشه ولی بعد از نصب در گوشی، کرش میکنه و چیزی نشون نمیده

    لازم به ذکر است با google colab فرایند ساخت apk رو انجام دادم

    • مصطفی آصفی

      سلام به شما. مطابق این لینک (+) آخرین نسخه angle از پایتون ۳.۶ تا ۳.۸ پشتیبانی می کنه. شما از پایتون بالاتر شاید استفاده می کنید. لطفا آموزش رو با نسخه کیوی و پایتون مشابه بنده پیش ببرین بعد نسخه ها رو آروم آروم ارتقا بدین.

  52. مهسا حسینی فر (خریدار محصول)

    سلام
    من مشکل زیر را چند وقت پیشارسال کردم خدمت شما :
    من نرم افزار paint(جلسه 12) را چندین بار بازنویسی کردم خروجی یک اسکرین خالی ست. حتی کدهای فایل پیوست را هم کپی میکنم همین طور است. وقتی مرحله به مرحله کد را تایپ میکنم تا قبل از اضافه کردن gridlayout فایل .kv خروجی دارم به محض اضافه نمودن آن اسکرین خالی دارم. دلیل این اتفاق چیست؟؟؟

    فرمودین لاگ ترمینال را ارسال کنم خدمتتون. ظاهرا خطایی نداره. کلا این سیستم با پروژه های دیگه هم مشکل دارد. ولی متوجه نمیشم مشکلش چیه. همین کدها روی سیستم دیگه بدون مشکل اجرا میشوند. حتی KitchenSink هم روی این سیستم اجرا نمیشه.
    [INFO ] [Logger ] Record log in C:\Users\m-hosseinifar\.kivy\logs\kivy_22-01-19_7.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\m-hosseinifar\AppData\Local\Programs\Python\Python38\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.8.7rc1 (tags/v3.8.7rc1:e320109, Dec 7 2020, 16:42:32) [MSC v.1927 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\m-hosseinifar\AppData\Local\Programs\Python\Python38\python.exe”
    [INFO ] [Factory ] 186 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
    [INFO ] [Window ] Provider: sdl2
    [INFO ] [Window ] Activate GLES2/ANGLE context
    [INFO ] [GL ] Using the “OpenGL” graphics system
    [INFO ] [GL ] Backend used
    [INFO ] [GL ] OpenGL version
    [INFO ] [GL ] OpenGL vendor

    [INFO ] [GL ] OpenGL renderer

    [INFO ] [GL ] OpenGL parsed version: 2, 0
    [INFO ] [GL ] Shading version

    [INFO ] [GL ] Texture max size
    [INFO ] [GL ] Texture max units
    [INFO ] [Window ] auto add sdl2 input provider
    [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
    [INFO ] [Text ] Provider: sdl2
    [INFO ] [Base ] Start application main loop
    [INFO ] [GL ] NPOT texture support is available

    • مصطفی آصفی

      سلام و پوزش از تاخیر. بله خطایی ظاهرا ندارین. روی سیستم های دیگه که گفتین مشکل ندارین از چه نسخه کیوی استفاده می کنین؟ همون طور که تو آپدیت آموزش هم درج کردم نسخه ۲ و ۱ کیوی یه مقدار متفاوت هستن و برای این آموزش بهتره مطابق نسخه بنده پیش برین بعدها که با دنیای کیوی آشنا شدین می تونید نسخه ۲ رو جایگزین و خطاها رو رفع کنید.
      یه زحمت بکشین یه venv بسازید و روی اون از پایتون 3.7 و کیوی 1.10 مثل آموزش بنده استفاده و نتیجه رو اعلام کنید.

  53. مهسا حسینی فر (خریدار محصول)

    سلام
    من نرم افزار paint(جلسه 12) را چندین بار بازنویسی کردم خروجی یک اسکرین خالی ست. حتی کدهای فایل پیوست را هم کپی میکنم همین طور است. وقتی مرحله به مرحله کد را تایپ میکنم تا قبل از اضافه کردن gridlayout فایل .kv خروجی دارم به محض اضافه نمودن آن اسکرین خالی دارم. دلیل این اتفاق چیست؟؟؟

    • مصطفی آصفی

      سلام به شما. اگه تا اینجا این مشکل رو نداشتین و فقط سر این پروژه به مشکل خوردین پس خوشبختانه مشکل سیستمی ندارین (مثلا عدم تطبیق معماری با نسخه نصب شده یا کد با نسخه نصب شده). چنین مواردی معمولا یه اشتباه ریز تو نوشتن فایل طراحی یا تو تابع init یا بیلد باعث مشکل رندر میشه ولی چون گفتین چند مرتبه بازنویسی کردید این احتمال هم ضعیف میشه. لاگ ترمینالتون رو بررسی کنید ببینید می تونید جایی که اخطار یا خطایی میده پیدا و اینجا گزارش کنید که بتونم بهتر نظر بدم؟‌

  54. mohmadbus@gmail.com (خریدار محصول)

    با سلام و خسته نباشید خدمت استاد گرامی این دوره، من امروز برای سومین بار این آموزش رو نگاه کردم حقیقتا و بدون بزرگنمایی و هرگونه دروغی، آقای آصفی یکی از باسواد ترین و خوش بیان ترین اساتیدی که من تا بحال دیدم. اینو با سند میگم من، چون دوره ی های Kivy و kivymd خیلی زیادی نداریم به زبان فارسی و حتی انگلیسی ولی این دوره ای که ایشون تدریس کردن به نظر من کامل ترین دوره موجود بوده . از اونجایی که این دو تا کتابخونه خیلی تغییر و تحول دارن و ممکنه با ارور های زیادی برخورد کنید اما این استاد گرامی تا حد زیادی این مشکلات رو پیش بینی و تدریس کردن . به شخصه من خودم هنوز ارور و دردسر دارم با این دو کتابخونه ولی خیلی لذت بردم که ایشان انقدر خوب اگاه و مسلط به این موضوع . واقعا دستشون درد نکنه و امیدوارم در همه ی مراحل زندگی موفق و سربلند باشن .

    • مصطفی آصفی

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

  55. محمد حسین هاشمی (خریدار محصول)

    سلام
    من بالاخره فایل APK رو برای یک بازی ساختم ولی وقتی نصب و ران میکنم، اجرا نمیشه
    این هم خطا هست، ممنون میشم راهنمایی کنید مشکل کجاست
    Listing ‘/home/hossein/Kivy/Galaxy/.buildozer/android/platform/build-armeabi-v7a/dists/myGalaxy__armeabi-v7a/_python_bundle/_python_bundle/site-packages/usr/local/bin’…
    [INFO]: Detected highest available build tools version to be 32.0.0
    [DEBUG]: -> running gradlew assembleDebug
    [DEBUG]:
    [DEBUG]: > Task :compileDebugJavaWithJavac
    [DEBUG]: Note: Some input files use or override a deprecated API.
    [DEBUG]: Note: Recompile with -Xlint:deprecation for details.
    [DEBUG]: Note: Some input files use unchecked or unsafe operations.
    [DEBUG]: Note: Recompile with -Xlint:unchecked for details.
    [DEBUG]:
    [DEBUG]: > Task :stripDebugDebugSymbols
    [DEBUG]: Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead.
    [DEBUG]: /home/hossein/.buildozer/android/platform/android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip:/home/hossein/Kivy/Galaxy/.buildozer/android/platform/build-armeabi-v7a/dists/myGalaxy__armeabi-v7a/build/intermediates/merged_native_libs/debug/out/lib/armeabi-v7a/gdb.setup: File format not recognized
    [DEBUG]:
    [DEBUG]: Unable to strip library /home/hossein/Kivy/Galaxy/.buildozer/android/platform/build-armeabi-v7a/dists/myGalaxy__armeabi-v7a/build/intermediates/merged_native_libs/debug/out/lib/armeabi-v7a/gdb.setup due to error 1 returned from /home/hossein/.buildozer/android/platform/android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip, packaging it as is.
    [DEBUG]:
    [DEBUG]: Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
    [DEBUG]: Use ‘–warning-mode all’ to show the individual deprecation warnings.
    [DEBUG]: See https://docs.gradle.org/6.4.1/userguide/command_line_interface.html#sec:command_line_warnings
    [DEBUG]:
    [DEBUG]: BUILD SUCCESSFUL in 6s
    [DEBUG]: 25 actionable tasks: 25 executed

    [INFO]: running cp /home/hossein/Kivy/Galaxy/.buildozer/android/platform/build-armeabi-v7a/dists/myGalaxy__armeabi-v7a/build/outputs/apk/debug/myGalaxy__armeabi-v7a-debug.apk myGalaxy__armeabi-v7a-debug-0.1-.apk
    WARNING: Received a –sdk argument, but this argument is deprecated and does nothing.
    No setup.py/pyproject.toml used, copying full private data into .apk.
    Applying Java source code patches…

    • مصطفی آصفی

      سلام به شما. لطفا دستور ساخت بیلدوزر رو همون طور که تو متن خطا اشاره کرده با –warning-mode=all اجرا کنید تا متن کامل خطا قابل مشاهده باشه. ممکنه یه خطای سینتکس تو یه فایل پایتون داشته باشید یا شاید نیاز به تغییر مشخصات رپر بیلد باشه.
      چون خودتون سورس رو دارید می بینید بهترین راه اینه که متن خطا یا بخش اصلی رو گوگل کنید که بتونید راهکارهای مختلفی که تو نت هست رو سریع تر روی سورس اجرا و نتیجه رو بررسی کنید.

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

  56. مهدی علیزاده (خریدار محصول)

    عرض سلام و احترام خدمت استاد گرامی.
    ببخشید 20speed دیگه ساپورت نمیکنه، گفتم شاید شما پیشنهاد دیگه ای داشته باشید، ممنون میشم.

    • مصطفی آصفی

      سلام به شما. از تیکنت سرویس کریو یا stunnel استفاده کنید امیدوارم که حل بشه. من به تازگی روی sdk این ها رو امتحان نکردم اما سرویس های تحریمی دیگه گوگل رو باز می کنن.

  57. reza.ranji010@gmail.com

    سلام و خسته نباشید خدمت استاد آصفی و تیم همرویش.
    استاد من هر دو بسته آموزشی یولو شما رو نگاه کردم. بسیار دوره جذاب و به درد بخوری بود. حتی تونستم yolo_tiny رو با دیتا‌های شخصی پیاده سازی کنم ولی
    در آخر آن دوره و در قسمت طوفان فکری شما به یک مورد اشاره کردید که، میشه یولو رو به کمک kivy به صورت یک اپ درستش کرد.
    میخاستم بدونم این دوره ی جامع kivy رو تهیه کنم میتونم به کمک kivy، یولو خودم رو به صورت یک اپ پیاده سازی بکنم؟ یا علاوه بر kivy باید یه پیش نیاز دیگه ای هم سپری کنم؟؟؟

    • مصطفی آصفی

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

  58. فرزاد نادی (خریدار محصول)

    سلام استاد
    من طبق آموزش یه Navigation Drawer ایجاد کردم و به درستیکار می کنه.در مرحله بعد در اسکیرن صفحه بهجای لیبل خواستم دوربین به همراه دو تا دکمه یکی با نام Play و دیگری Capture بذارم. برنامه اجرا میشه ولی دکمه اول که برای Play کردن دوربین هست نمایش داده نمیشه امکان داره کمک کنید بفهم مشکل چیه. متشکرم.
    کدی که نوشتم:

    from kivymd.app import MDApp
    from kivy.lang import Builder
    from kivy.uix.boxlayout import BoxLayout
    from kivy.properties import ObjectProperty
    import time

    KV = “””
    :
    orientation: ‘vertical’

    AnchorLayout:
    anchor_x: “center”
    size_hint_y: None
    height: header.height

    Image:
    id: header
    source: “Gorgij.jpg”
    size_hint: None, None
    size: “164dp”,”164dp”

    MDLabel:
    text: “Larvae Counting”
    font_style: “H6”
    size_hint_y: None
    height: self.texture_size[1]
    ScrollView:
    MDList:
    OneLineListItem:
    text: “Go to Screen 1”
    on_press:
    root.nav_drawer.set_state(“close”)
    root.screen_manager.current = “screen1”
    IconLeftWidget:
    icon: “folder”

    OneLineListItem:
    text: “Go to Screen 2”
    on_press:
    root.nav_drawer.set_state(“close”)
    root.screen_manager.current = “screen2”
    IconLeftWidget:
    icon: “folder”
    Screen:
    MDToolbar:
    title: “Toolbar!”
    pos_hint: {“top”:1}
    left_action_items:[[“menu”, lambda x: nav_drawer.set_state(“open”)]]

    MDBottomAppBar:
    MDToolbar:
    icon: “plus”
    type: “bottom”
    elevation: 10
    left_action_items: [[“home”, lambda x: x]]
    right_action_items: [[“magnify”, lambda x: x]]

    MDNavigationLayout:
    ScreenManager:
    id: screen_manager
    Screen:
    name: “screen1”
    Camera:
    id: camera
    resolution: (640, 480)
    play: False
    ToggleButton:
    text: ‘Play’
    on_press: camera.play = not camera.play
    size_hint_y: None
    height: ’48dp’
    Button:
    text: ‘Capture’
    size_hint_y: None
    height: ’48dp’
    on_press: root.capture()

    Screen:
    name: “screen2”
    MDLabel:
    text: “Screen 2”
    halign: “center”

    MDNavigationDrawer:
    id: nav_drawer

    CameraClick:
    nav_drawer: nav_drawer
    screen_manager: screen_manager

    “””

    class CameraClick(BoxLayout):
    nav_drawer = ObjectProperty()
    screen_manager = ObjectProperty()

    def capture(self):
    ”’
    Function to capture the images and give them the names
    according to their captured time and date.
    ”’
    camera = self.ids[‘camera’]
    timestr = time.strftime(“%Y%m%d_%H%M%S”)
    camera.export_to_png(“IMG_{}.png”.format(timestr))
    print(“Captured”)

    class TestCamera(MDApp):

    def build(self):
    return Builder.load_string(KV)

    TestCamera().run()

    • مصطفی آصفی

      سلام وقت بخیر. لطفا سورس کد طولانی ارسال نکنید بنده نمی رسم بررسی کنم. فقط کاری رو ه انجام می دین اگه خطایی دریافت می کنین بفرمایید که راهنمایی کنم.

  59. محمد مهدی (خریدار محصول)

    سلام استاد
    من برای نصب kivy مطابق مراحلی که در ویدیوها گفته بودید عمل کردم. در حال حاضر سایت kivy ورژن 2 رو برای نصب در سایت قرار داده است. موقع نصب kivy در مرحله python -m pip install kivy[base] kivy_examples سیستم من خطای
    (kivy_venv) C:\Users\mohammad>python -m pip install kivy[base] kivy_examples
    WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’))’: /simple/kivy/
    ERROR: Could not find a version that satisfies the requirement kivy[base] (from versions: none)
    ERROR: No matching distribution found for kivy[base]
    رو میده و نمیدونم چکارش کنم.
    در ضمن من با پایتون 3.7.8 کار می کنم

    • مصطفی آصفی

      سلام به شما. جای دیگه هم مطرح کرده بودین خدمتتون توضیح دادم. این خطا از پایتون نیست. متن خطا رو دقت کنید. خطای پروکسی (اتصال) دارین.
      ProxyError(‘Cannot connect to proxy

      اما در مورد نصب کیوی دقت کنید:
      برای نصب کیوی 1.10 که بنده هم بر همون اساس آموزش دادم:
      مراحل و دستوراتی که تو فیلم نصب کیوی توضیح دادم الان در این نشانی (+) هستن. فقط دقت کنید که تو مراحل نصب موقع نصب خود کیوی باید نسخه رو مشخص کنید:
      pip install Kivy==1.10.1

      برای نصب کیوی نسخه ۲ (kivy 2) :
      مراحل نصب کیوی نسخه ۲ کمی فرق کرده. وابستگی ها رو باید با سینتکس متفاوتی نصب کنید. تو بخش نصب کیوی در وبسایت خودش بخش Kivy Dependencies (+) رو با دقت بخونید. داره میگه نصب وابستگی های لازم رو باید همزمان با نصب کیوی نسخه ۲ انجام بدین. برای مثال اگه به جای base موقع نصب بنویسید full تمام وابستگی‌های تیپیک نصب میشه:
      pip install kivy[full]

    • مصطفی آصفی

      توضیح پایین در مورد روزآمدی نصب کیوی نسخه 2 رو در فایل‌های دانلودی بسته هم گذاشتم.

  60. علی

    سلام استاد اگر میشه متن اون ئیشنیاز های قسمت تبدیل kivy به apk رو به من بدید

    ممنون میشم

    • مصطفی آصفی

      سلام به شما. به همون درس تبدیل به apk به صورت فایل متنی پیوست شده.
      البته الان نگاه کردم شما فراگیر این دوره نیستین وگرنه فایل رو می دیدین. متاسفانه منم دسترسی ندارم وگرنه متن فایل رو اینجا براتون می نوشتم.

  61. محمد وحید کوه کن (خریدار محصول)

    سلام و وقت بخیر .. استاد سوالی داشتم در مورد این که سورس کد خروجی نرم افزار پایتونی رو چطور میشه از دسترس عموم خارج کرد؟ مثلا فرض کنید وقتی با pyinstaller خروجی میگیریم فایل های .py و .pyc و pyd تولید میکنه که توسط بقیه قابل خوندنه. خواستم بدونم چطور میشه این مشکل رو حل کرد؟ یا حداقل استخراج سورس کد ها رو سخت کرد؟
    دلیل اصلی اینه که یک سری موارد مثل api key لینک پرداخت، پسورد دیتابیس سایت مرتبط به نرم افزار و مواردی از این قبیل داخل کد هست که طبیعتا نباید توسط بقیه قابل رویت باشه. دلیل دوم هم اینکه سورس کد نرم افزار من در مجموع حدود چهار هزار خط کد میشه خب وقتی این سورس در اختیار بقیه باشه براحتی هر کاری میتونن انجام بدن. ببخشید که طولانی شد واقعا امیدوارم شما بتونین کمک کنین ممنون میشم هر راه حلی بنظرتون میرسه بفرمایین

    • مصطفی آصفی

      سلام به شما آقای کوه کن. پای آموزش سایتون (+) هم این رو مطرح کرده بودین. اونجا براتون جواب دادم.

  62. Ho33ein

    سلام استاد
    Kivymd builder که قراره بیاد آیا میشه هم بهش کد اضافه کرد و هم کد هاشو تغییر داد؟

  63. Hassan

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

  64. Hassan

    سلام وقت بخیر استاد
    استاد یبار دیگه سوالم رو میکنم تا کاملا مطمئن بشم
    آیا میشه با kivy و kivymd اپ های بزرگ ساخت درحد واتساپ و دیجی کالا و اینستاگرام به همراه جنگو بک اند
    آیا قدرت اینکارو داره
    چون از خیلیا شنیدم گفتن ن
    میتونید نظرتون رو بگید خیلی مهمه واسمون که بعدا پشیمون نشیم
    و اینکه چرا میگن React native یا کاتلین چند برابر kivy هست
    از چه لحاظی میگن
    ممنون میشم🙏🌹

    • مصطفی آصفی

      سلام به شما. ببینید انتخاب یک ابزار به امکانات و نیازهای شما بستگی داره. کیوی اومده تا اگه یک برنامه نویس (یا گروه برنامه نویسی) قصد داره حتما از زبان پایتون برای تمام کارهاش استفاده کنه، بتونه اپلیکیشن موبایل هم به کمک کیوی یا پایتون بسازه. اگه شما قصد دارید لزوما با پایتون کار کنید و نمی‌خواید برای فرانت اند زبان دیگه‌ای مثل جاوا اسکریپت (برای ری اکت نیتیو) یا دارت (برای فلاتر) رو یاد بگیرید باید بهتون بگم که با Kivy و KiyMD شما می‌تونید تقریبا هر فرانت اندی مثل پیام رسان ها یا اپ‌های فروشگاهی رو بزنید. منتها اگه اپلیکیشن شما فارسی باشه کارتون سخته. پشتیبانی کیوی از زبان فارسی همون طور که تو بسته دوم توضیح دادم هنوز نقص داره. ضمنا کیوی برای ساخت بازی‌های دوبعدی با موبایل هم خوبه. می‌تونید با پایگیم (+) منطق بازی رو با پایتون بنویسید و تو ساختار کیوی قرار بدین و خروجی گوشی همراه بگیرید.
      در مور منسوخ شدن کیوی من چیزی نشنیدم اما این مشکل برای هر ابزاری ممکنه پیش بیاد. خیلی ذهن خودتون رو درگیر نکنید. گوگل پشتیبانی خودش رو یکباره از جاوا برداشت و زبان رسمی اندروید رو کاتلین اعلام کرد. شما باید به عنوان برنامه‌نویس عادت کنید که هر ابزاری ممکنه کلا عوض بشه یا اصلا کنار گذاشته بشه.
      در مورد بزرگتر بودن ری اکت نیتیو بله به طور کلی هم تیم توسعه و هم جامعه استفاده کننده‌های ری اکت نیتیو بسیار بزرگتر از کیوی هستن. این کمک می‌کنه که شما مشکلات خودتون رو بتونید بهتر حل کنید.
      جمع‌بندی:
      شما با کیوی می‌تونید اپلیکیشن‌هایی که گفتین رو بزنید. تقریبا هر ظاهری رو که بخواهید می‌تونید بزنید. ولی اگه زبان فارسی تو اپلیکیشن شما خیلی مهم باشه از اونجایی که برنامه‌نویس مبتدی هم هستین، کارتون سخته و توصیه می‌کنم از ری‌اکت نیتیو یا فلاتر (+) استفاده کنید.

  65. hseljoki@gmail.com

    سلام وقتتون بخیر استاد
    آیا میتونم با کمک kivy و kivymd فرانت اند و با کمک دیجنگو بک اند
    اپلیکیشنی مانند دیجی کالا بسازم؟

    • مصطفی آصفی

      سلام به شما. بله می‌تونید. البته KivyMD در مورد فارسی‌سازی ضعف‌هایی داره. ولی در کل بله همون طور که در این آموزش ساخت فروشگاه با جنگو (+) پیش‌ رفتیم شما هم می‌تونید پیش بیاید و بک اند رو با جنگو بزنید و فرانت اند رو که در اونجا با ری اکت زده شده بعدها خودتون در یک اپلیکیشن اجرا کنید.

      پی‌نوشت: تلفظ django به صورت جنگو درسته نه دیجنگو

  66. Ho33ein

    سلام خسته نباشید استاد
    استاد آیا میشه با kivy & kivymd اپ های قشنگ و حرفه ای ساخت مانند React Native

    • مصطفی آصفی

      سلام به شما. بله شدنیه. این فیلم مقایسه یک اپ با فلاتر و همون اپ با کیوی و کیوی ام دی (+) رو نشون میده. و ا ز این دست فیلم ها زیاد هست.
      البته انتخاب ابزار به نیاز شما بستگی داره. یک وقت هست یک بازی با مثلا پایتون و پای گیم (+) ساختید و در اون از کتابخونه های هوش مصنوعی پایتون بهره بردید که بازیکن لذت می بره و حالا نمی خواید یا نمی تونید این بازی رو با جاوا اسکریپیت بازنویسی کنید. اینجا کیوی یک ابزار خوبه که اجازه میده کد بازی رو ببرید در اون قالب و تبدیل به اپ موبایل کنید. در مورد اپ های کاربردی هم در بسیاری موارد این طوره.
      اما در مقابل یک وقتی هست شما قصد داری یک اپ فروشگاهی درست کنی که بخش عمده کارش رو هم داره از سرور می خونه. فقط یک ظاهر گرافیکی برای اطلاعات محصولات و … می خوای. اینجا زبان اپ شما هم به فرض فارسیه. برای این مورد کیوی گزینه مناسبی نیست مگه این که مشابه توضیحی که تو بسته دوم همین آموزش دادم مشکل زبان فارسی رو برای کامپوننت ها حل کنی.

      باید نیاز و امکانات رو بسنجی و ابزار رو انتخاب کنی.

  67. مهدی علیزاده (خریدار محصول)

    عرض سلام و احترام خدمت شما استاد گرامی
    من به جواب رسیدم و برای خودتون و احیانا کسان دیگری که به این مشکل خوردند گفتم اینجا هم فیدبک بدم. سوال و جواب رو تو لینک زیر گذاشتم.
    https://stackoverflow.com/questions/69024081/jnius-jnius-javaexception-class-not-found-bpackagedomain-packagename-servicena

    • مصطفی آصفی

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

  68. وحید (خریدار محصول)

    سلام استاد
    من زمانی که میخوام خروجی exe بگیرم ( در تمرین خروجی paint دو صفحه ای) برابر راهنمای kivy ابتدا:
    import os, sys
    from kivy.resources import resource_add_path, resource_find v,
    رو ایمپروت کردم و در پایان خط برنامه اصلی (main.py) :
    if __name__==”__main__”:
    if hasattr(sys, ‘_MEIPASS’):
    resource_add_path(os.path.join(sys._MEIPASS))
    myPaint().run()
    رو اضافه کردم
    الان موقع خروجی از خط اول فایل mspaint.kv ارور syntax میگیره
    در حالی که نهایتا فایل خود شما ر و کپی کردم ولی بازم همین ارور رو میده
    Syntax error in D:\learn\kivi\project\p1\mspaint.kv
    File “D:\learn\kivi\project\p1\mspaint.kv”, line 1
    Manager:
    ^
    SyntaxError: invalid syntax

    • مصطفی آصفی

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

  69. مهدی علیزاده (خریدار محصول)

    خیلی ممنونم که همیشه هستین و وقت میزارین، چون سوالم طولانی بود تو گیت نوشتم. سوال این بود که یه برنامه ساده نوشتم که از سرویس استفاده کنم. فایل هایی که دارم این هاست:
    : main.py
    ‍‍‍‍‍‍ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
    from kivy.app import App
    from kivy.uix.button import Button
    from jnius import autoclass

    class TestButton(Button):

    def run_test_service(self):
    service = autoclass(‘org.test.myapp.ServiceMyservice’)
    mActivity = autoclass(‘org.kivy.android.PythonActivity’).mActivity
    argument = “”
    service.start(mActivity, argument)

    class ServiceTestApp(App):
    def build(self):
    return TestButton()

    if __name__ == “__main__”:
    ServiceTestApp().run()
    ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
    buildozer.spec
    ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
    # (str) Title of your application
    title = My Application

    # (str) Package name
    package.name = myapp

    # (str) Package domain (needed for android/ios packaging)
    package.domain = org.test

    # (list) List of service to declare
    #services = Myservice:main.py
    ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

    وقتی برنامه رو ران میکنم و روی اندروید بازش میکنم، در حالت دیباگ این ارور رو دارم:

    jnius.jnius.JavaException: Class not found b’org/test/myapp/ServiceMyservice

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

    # (str) Package name
    package.name = oscservice

    # (str) Package domain (needed for android/ios packaging)
    package.domain = org.kivy

    و داخل کد:

    service = autoclass(‘org.kivy.oscservice.ServiceMyservice’)

    تو این مرحله مشکلم حل شد ولی وقتی میخوام ساین نرم افزار رو ایجاد کنم تو محیط ترمینال این ارور رو دارم:

    # ERROR: Trying to release a package that starts with org.kivy
    #
    # The package.domain org.kivy is reserved for the Kivy official
    # applications. Please use your own domain.
    #
    # If you are a Kivy developer, add an export in your shell
    # export BUILDOZER_ALLOW_KIVY_ORG_DOMAIN=1

    تو این مرحله هیچ سورسی پیدا نکردم که بتونم این مشکل رو حل کنم.

  70. مهدی علیزاده (خریدار محصول)

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

    • مصطفی آصفی

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

  71. طاها گلبن (خریدار محصول)

    استاد من چک کردم برنامه رو فهمیدم که مشکل کرش کردن برنامه توی اندروید بخاطر کد background_color هستش که اندروید با رنگ هایی که به دکمه ها و چیز های دیگه میدیم مشکل داره اما اگر هیچ رنگی به دکمه ها ندهیم برنامه در اندروید اجرا میشه و من واقعا نمیدونم چیکار کنم لطفا هر چی سریع تر راهنمایی کنید اگر این جوری باشه زبان کیوی ام دی و کیوی هیچ کاربردی ندارن فقط وقت مارو میگیره و اخر سر موقع خروجی گرفتن کلی اذیت میکنه و به هیچ نتیجه ای هم نمیرسیم

  72. طاها گلبن (خریدار محصول)

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

  73. وحید (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. رنگ پیش فرض فونت سفیده. این خطا ممکنه با توجه به کدی که نوشتید علت های مختلفی داشته باشه. مثلا شاید کدتون شبیه این لینک (+) به دلیل سنگین بودن Thread اصلی رو کند کرده و نمی گذاره برنامه بالا بیاد. گاهی کوئری های سنگین با دیتابیس و یا … ریسمان اصلی (UI) رو کند یا قفل میکنه که باید این طور کارها رو بندازین داخل ریسمان دیگه ای. البته اگه اپ شما اپ ساده ای هست و از این دست عملیات نداره احتمال بیشتری داره که ایراد از کدنویسی شما باشه مثل این لینک (+). گوگل کنید black screen kivy

  74. amirrezasobhi021@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. ببینید راه استانداردی در حال حاضر نیست. البته نمونه ‌هایی از کیوی استودیوی توسعه داده شده توسط افراد علاقه مند شبیه به این kivy studio موجود هست اما بنده راستش امتحانشون نکردم.
      در مورد پسوند فایل کافیه که در نمایش پسوند فایل یا file extension رو در ویندوز جستجو کنید. خیلی ساده میشه اون رو فعال کرد و به این شکل وقتی تغییر نام بدین فرمت هم عوض میشه.

  75. مهدی علیزاده (خریدار محصول)

    خیلی ممنونم. 20speed رو تهیه کردم و جواب بود.
    واقعا از راهنماییتون ممنونم

    • مصطفی آصفی

      سلام خوشحالم که حل شد. خیلی ممنون که اطلاع دادین.

  76. مهدی علیزاده (خریدار محصول)

    عرض سلام و احترام خدمت شما استاد عزیز
    ببخشید سوالی داشتم خدمتتون. بنده برای گرفتن فایل اندرویدی از vpn تیکنت استفاده میکردم و کارم هم انجام میشد(ubuntu==20.04, python==3.8). امروز همین کار رو بعد از مدت ها انجام دادم ولی علی رغم اینکه vpn متصل شده. خروجی با اروری مواجه میشم که گویا بدون vpn دستور رو اجرا میکنم. میخواستم در این باره ازتون راهنمایی بگیرم. ممنونم

    • مصطفی آصفی

      سلام به شما. بله ظاهرا تیکنت پلاس دیگه به راحتی به سرورهای گوگل وصل نمیشه. از 20speed استفاده کنید امیدوارم جواب بده.

  77. سالار دری

    سلام آقای آصفی، ممنون بابت دوره های جذاب و کاملی که ارايه میدید
    به نظر شما من این دوره رو تهیه کنم(یعنی kivy یاد بگیرم) یا دوره جامع کاتلین(یعنی کاتلین یاد بگیرم)
    یکسال هم هست پایتون کار میکنم(بازم تشکر چون از آموزش های شما خیلی استفاده کردم)
    نمیدونم kivy به خوبی کاتلین یا فلاتر و … هست یا نه
    شما پیشنهاد میدید چیکار کنم
    و اینکه خودمم حس میکنم ۱ سال کمه برای اولین زبان و باید بیشتر توی پایتون بمونم بعد برم سراغ زبان(زبان های) بعدی
    لطف بزرگی میکنید اگر راهنمایی کنید

    • مصطفی آصفی

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

  78. علیرضا شجاعی

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

    • مصطفی آصفی

      سلام به شما. سلامت باشید. ممنون از پیام دلگرم کننده شما.
      ببینید کیوی به لحاظ کار با API اندروید تقریبا محدودیتی نداره. برای مثال ما در پایان همین دوره تو پروژه ای که پیاده می کنیم در مورد کار با GPS به عنوان یک نمونه کار با تجهیزات بومی دستگاه ها صحبت می کنیم. این که چطور کدی بنویسیم که روی اندروید و iOS با سخت افزار ارتباط متناسب بگیریم. این مخزن (+)‌ هم نمونه کدهای دیگه ای داره که در پایان این دوره برای شما خیلی گویاتر میشن.

      کیوی دو محدودیت عمده داره:
      ۱- پلتفرم ها (به ویژه اندروید) به سرعت تغییر می کنه و کمی طول می کشه تا توسعه دهنده های کیوی یا کتابخونه های متن باز اون آخرین تغییرات رو به صورت پایتونی ارائه کنن.
      ۲- پشتیبانی کیوی از زبان فارسی همچنان محدوده. البته در طول دوره در این مورد صحبت کردیم اما همچنان مواردی هست ضعیف هستن. برای اپ هایی که خیلی به زبان فارسی نیازمند هستن کار تطبیق زبان سخت و در برخی موارد (مثل file chooser) همچنان با محدودیت مواجه هست. در عوض اگه برای مثال یه اپ بازی یا یه اپ کاربردی قصد دارین بزنین (به ویژه اگه از کتابخونه های خوب پایتون)‌ بشه استفاده کرد کیوی گزینه خوبیه.

  79. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی
    یک کتابخونه با kivymd با روش oop طراحی کردم که فقط با یک خط کد می تونم هر نوع اپی رو طراحی کنه
    و ویژگی ویجت ها و تعداد ویجت ها و نوع ویجت ها و … را با متد input مشخص میشه
    هر چند غیر اصولی ساخته میشه ولی در اخر یک فایل kv هم بما میده یعنی هم اپ رو داریم هم فایل kv اون رو
    می خواستم نظر شما رو در مورد این کتابخونه که نوشتم بدونم و یک سوال دیگه اینکه چطور می تونم از طراحی اپ درامد کسب کنم

    • مصطفی آصفی

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

  80. حسین مطهری فر (خریدار محصول)

    سلام
    به شیوه ای که گفتید خروجی exe گرفتم و برنامه به خوبی کار می کند( به صورت نمایش کل فایلهای وابسته). ولی وقتی به صورت onefile خروجی exe گرفتم در آخرین لحظه ارور زیر را می دهد و وارد برنامه نمی شود.
    Traceback (most recent call last):
    File “main.py”, line 361, in
    kvFile = Builder.load_file (‘most.kv’)
    File “kivy\lang\builder.py”, line 304, in load_file
    FileNotFoundError: [Errno 2] No such file or directory: ‘most.kv’
    [11076] Failed to execute script main

    • مصطفی آصفی

      سلام مجدد. خطا داره میگه که فایل exe فایل most.kv رو پیدا نمی کنه. شاید فایل spec رو به درستی تنظیم نکردین. این لینک (+) می تونه کمکتون کنه.

  81. حسین مطهری فر (خریدار محصول)

    سلام استاد
    چطور می توانم پنجره برنامه را تمام صفحه کنم البته تمام صفحه که دکمه minimize , maximize , close هم وجود داشته باشه.
    با دستور fulscreen تمام صفحه می شود و لی نوار بالای پنجره حذف می گردد. که مطلوب من نیست. kivy

    • مصطفی آصفی

      سلام به شما. گوگل کردن رو برای برنامه نویس حرفه ای شدن فراموش نکنید. این لینک (+) رو در رابطه با سوالتون ببینید.

  82. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی
    من یک متد نوشتم که یک ویجت می گیره و بعد ورودی های ویجت مثل textو size_hintو… را برامون پر می کنه
    def label( widget, text, text_size, font_size, size_hint,pos_hint,pos ):
    widget.text = text
    widget.font_size = font_size
    widget.text_size = text_size
    widget.size_hint = size_hint
    widget.pos_hint = pos_hint
    widget.pos = pos

    می خوام بعضی از ورودی ها مثل ویژگی pos می خوام رو حالت پیش فرض باشه
    اگر بخوام چیزی بهش ندم تو این متدی که استفاده کردم ارور میده
    چطور حالت پیش فرض خودش رو بدم مثل وقتی که به یک add layout میشه یک pos پیش فرض میگیره

    • مصطفی آصفی

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

  83. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی
    من یک متد نوشتم که یک ویجت می گیره و بعد ورودی های ویجت مثل textو size_hintو… را برامون پر می کنه
    def label( widget, text, text_size, font_size, size_hint,pos_hint,pos ):
    widget.text = text
    widget.font_size = font_size
    widget.text_size = text_size
    widget.size_hint = size_hint
    widget.pos_hint = pos_hint
    widget.pos = pos

    می خوام بعضی از ورودی ها مثل ویژگی pos می خوام رو حالت پیش فرض باشه
    اگر بخوام چیزی بهش ندم تو این متدی که استفاده کردم ارور میده
    چطور حالت پیش فرض خودش رو بدم مثل وقتی که به یک add layout میشه یک pos پیش فرض میگیره

  84. رضا محمدزاده (خریدار محصول)

    سلام مجدد
    فهمیدم مشکل از کجا بود این بود که هر ویجت یک id مخصوص به خودش رو داره
    وقتی یک ویجت رو با یک حلقه در یک دیکشنری append می کنیم انگار یک ویجت رو چندین بار با همان id کپی کردیم و وقتی به یک layout و add کنیم و ران بگیریم به ما ارور می دهد ولی وقتی یک لیست جدا خودمان از ویجت ها به صورت دستی ایجاد کنیم و بعد add کنیم ارور نمی دهد

    • مصطفی آصفی

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

      پی‌نوشت: من بین انبوه نظرات واقعیتش نظر شما رو ندیده بودم. الان که این جواب تازه خودتون رو دیدم متوجهش شدم.

  85. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی من متد زیر را برای ساختن چندین ویجت نوشتم , توی حلقه گفتم اپند کن ویجت رو به x و اخرش return کردم [ ]x , وقتی به یک layout ادد می کنم دیکشنری که از تابع return شده :
    :(widget)def loop
    [ ]=x
    :(0,3)for i in range
    .

    وقتی به یک layout ادد می کنم یکشنری که از تابع return شده و run می گیرم
    خطا میده:

    Traceback (most recent call last):
    File “H:\PYCHARM\ll\test2.py”, line 19, in
    c = with_loop(Button())
    TypeError: with_loop() missing 1 required positional argument: ‘type_of_widget’

  86. رضا محمدزاده (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. خیر این بخش رو باید تفکیک کنید (if بگذارید که مثلا اگه کامپیوتر بود از سلنیوم و اگه اندروید بود از فلان استفاده کن). برای خودکارسازی مرورگر در اندروید برای مثال می تونید Appium رو جستجو کنید.

  87. محمد وحید کوه کن (خریدار محصول)

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

    • مصطفی آصفی

      سلام و بسیار ممنونم که اطلاع دادین.

  88. amir mohammad (خریدار محصول)

    سلام استاد از pyinstaller خروجی kivymd هم گرفتم و مشکلم حل شد و اینجوری بود که یک چیزی رو import کردم و و به پروژه اضافه کردم و مشکل حل شد امیدوارم بقیه هم که مشکل دارن مشکلاتشان حل بشه

    • مصطفی آصفی

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

  89. رضا محمدزاده (خریدار محصول)

    ببخشید هنوز متوجه نشدم باید چکار کنم مشکل حل بشه

    • مصطفی آصفی

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

  90. رضا محمدزاده (خریدار محصول)

    سلام اقای اصفی
    نحوه نصب کیوی از سایت مرجع خودش عوض شده
    من بعد از اینکه یک پوشه venv ساختم
    python -m pip install kivy[ full ] kivy_examples توی venv نصب کردم بعد توی sublim text
    kivy رو ایمپورت کردم
    و روی cmd اجرا کردم ارور نداد متن زیر:
    [INFO ] [Logger ] Record log in C:\Users\kavosh\.kivy\logs\kivy_21-05-17_1.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.3.2
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\kavosh\kivy_venv\Scripts\python.exe”

    بعد توی جلسه ی first_app کد رو نوشتم و این ارور میاد:
    (kivy_venv) C:\Users\kavosh\Desktop>python salam.py
    [INFO ] [Logger ] Record log in C:\Users\kavosh\.kivy\logs\kivy_21-05-17_3.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.3.2
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\kavosh\kivy_venv\Scripts\python.exe”
    [ERROR ] [Clock ] Unable to import kivy._clock. Have you perhaps forgotten to compile kivy? Kivy contains Cython code which needs to be compiled. A missing kivy._clock often indicates the Cython code has not been compiled. Please follow the installation instructions and make sure to compile Kivy
    Traceback (most recent call last):
    File “salam.py”, line 1, in
    from kivy.app import App
    File “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\app.py”, line 411, in
    from kivy.base import runTouchApp, async_runTouchApp, stopTouchApp
    File “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\base.py”, line 28, in
    from kivy.clock import Clock
    File “C:\Users\kavosh\kivy_venv\lib\site-packages\kivy\clock.py”, line 466, in
    from kivy._clock import CyClockBase, ClockEvent, FreeClockEvent, \
    ModuleNotFoundError: No module named ‘kivy._clock’

    • مصطفی آصفی

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

  91. amirmohammad (خریدار محصول)

    سلام استاد puinstaller نمیتونه اصلا پروژه های kivymd رو خروجی بگیره یا روش خاصی داره چون من پروژه بدون kivymd را راحت خروجی گرفتم ولی پروژه kivymd رو نمیشه خروجی گرفت هر کار کردم نشد که نشد

    • مصطفی آصفی

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

  92. amirmohammad (خریدار محصول)

    سلام شما خودتون هیچ وقت جروجی واسه iosیا osxگرفتید . واسه linux و raspberry pi چی چون حتی هیچ اموزشی توی خود سایت kivy هم نیست که بتونه جروجی linux بده یا raspberry pi. کلا kivy میتونه واسه linuxو raspberry pi جروجی بده یا دروغه چون من هرچی توی نت گشتم اموزشی پیدا نکردم حالا نمیدونم اصلا این واقعی هست یا واسه اینکه kivy بزرگ بشه الکی گفتن که جروجی واسه linux هم میشه گرفت اگه میشه شما اموزشی سراغ دارید که بشه دید یا مقاله که بشه خوند من هیچی پیدا نکردم

    • مصطفی آصفی

      سلام به شما. برای خروجی گیری روی iOS می تونید این آموزش ایجاد بازی و خروجی روی iphone رو ببینید. خود کانال آقای سندبرگ یک خودآموز جامع گام به گام هم در این زمینه داره که باید توی ویدیوها پایین برید تا به حدود 2019 برسید.
      برای خروجی گیری روی لینوکس یا مک هم همون طور که در مورد ویندوز توضیح دادم می تونید از Pyinstaller استفاده کنید. آموزش خروجی گیری با پای اینستالر برای مک یا لینوکس رو به طور کلی جستجو کنید (نه لزوما مربوط به کیوی).

      پی‌نوشت: خروجی گیری از کیوی به طور کلی به خصوص وقتی که کتابخونه های مختلف پایتونی هم تو برنامه استفاده کرده باشید کار آسونی نیست. به خصوص که ممکنه یه کتابخونه به روز شده باشه ولی بیلدوزر یا پای اینستالر هنوز با اون روزآمدی تطبیق پیدا نکرده باشن. یا ممکنه نسخه جدید کتابخونه ای باگ داشته باشه. معمولا باید خطاهای مختلفی رو رفع کنید تا به خروجی برسید؛ اگه اپ خوبی برای ساخت تو ذهن داشته باشید که پایتون و کتابخونه‌هاش بتونن توش نقش مهمی ایفا کنن، ارزشش رو داره.

      پی‌نوشت 2: در حال حاضر کیوی رو برای توسعه اپ های فارسی توصیه نمی کنم.

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

  93. amirmohammad (خریدار محصول)

    روی اندروید که به نظر سخت تر میومد تونستم خروجی بگیرم ولی با pyinstaller هرکار میکنم نمیشه که نمیشه

    • مصطفی آصفی

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

  94. amirmohammad (خریدار محصول)

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

    • مصطفی آصفی

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

  95. محمد وحید کوه کن (خریدار محصول)

    سلام استاد بازم وقتتون بخیر.. من قبلا برای برنامه از فونت iransans استفاده میکردم به همون روش دستی که گفته بودین جایگزین روبوتو کردم و خیلی هم خوب جواب داد.. اما الان نسخه جدیدی که دیروز از ایران سنس منتشر شد خریداری کردم و به همون روش جایگزین کردم که متاسفانه دو تا حرف “ی” و “ر” به صورت مربعی نمایش داده میشن و اصلا نمیدونم مشکل از کجاست که بقیه حروف سالمن و این دو تا مشکل دارن.. خود طراح فونت هم جوابی براش نداشت.. خواهش میکنم باز هم مثل همیشه محبت کنین راهنمایی بفرمایین ممنون

    • مصطفی آصفی

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

  96. طاها گلبن (خریدار محصول)

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

  97. طاها گلبن (خریدار محصول)

    استاد وقتتون بخیر من با یه مشکل مواجه شدم که اگر تا فردا حل نشه نمیتونم نمره کار اموزیمو بگیرم مشکل من اینه که وقتی فایل اگزه از کیوی ام دی میگیرم موقع ران کردن فایل اگزه به مشکل بر میخورم تمام مراحلی هم که شما گفتین رو از خود سایت کیوی طی کردم و تونستم از فایل کیوی خروجی اگزه بگیرم و کار کرد اما از فایل کیوی ام دی خروجی اگزه میگیرم و موقع ران کردن فایل اگزه با ارور در سی ام دی مواجه میشم: C:\Users\taha\Desktop\prkh\dist>taha.exe
    [INFO ] [Logger ] Record log in C:\Users\taha\.kivy\logs\kivy_21-05-05_92.txt
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “C:\Users\taha\AppData\Local\Temp\_MEI60042\kivy\__init__.pyc”
    [INFO ] [Python ] v3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\taha\Desktop\prkh\dist\taha.exe”
    [INFO ] [KivyMD ] v0.104.1
    [INFO ] [Factory ] 186 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
    [INFO ] [Window ] Provider: sdl2
    [INFO ] [GL ] Using the “OpenGL” graphics system
    [INFO ] [GL ] GLEW initialization succeeded
    [INFO ] [GL ] Backend used
    [INFO ] [GL ] OpenGL version
    [INFO ] [GL ] OpenGL vendor

    [INFO ] [GL ] OpenGL renderer

    [INFO ] [GL ] OpenGL parsed version: 4, 3
    [INFO ] [GL ] Shading version

    [INFO ] [GL ] Texture max size
    [INFO ] [GL ] Texture max units
    [INFO ] [Window ] auto add sdl2 input provider
    [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
    [INFO ] [Text ] Provider: sdl2
    Traceback (most recent call last):
    File “main.py”, line 1, in
    from kivymd.app import MDApp
    File “”, line 983, in findand_load
    File “”, line 967, in findand_load_unlocked
    File “”, line 677, in loadunlocked
    File “PyInstaller\loader\pyimod03_importers.py”, line 540, in exec_module
    File “kivymd\app.py”, line 47, in
    File “”, line 983, in findand_load
    File “”, line 967, in findand_load_unlocked
    File “”, line 677, in loadunlocked
    File “PyInstaller\loader\pyimod03_importers.py”, line 540, in exec_module
    File “kivymd\theming.py”, line 42, in
    File “”, line 983, in findand_load
    File “”, line 967, in findand_load_unlocked
    File “”, line 677, in loadunlocked
    File “PyInstaller\loader\pyimod03_importers.py”, line 540, in exec_module
    File “kivymd\font_definitions.py”, line 49, in
    File “kivy\core\text\__init__.py”, line 315, in register
    OSError: File C:\Users\taha\AppData\Local\Temp\_MEI60042\kivymd\fonts\Roboto-Regular.ttf not found
    [1392] Failed to execute script main لطفن کمکم کنید کارم خیلی ضروریه .این هم محتویات داخل فایل اسپک من هست ایا نباید چیزی بهش اضافه کنم؟ # -*- mode: python ; coding: utf-8 -*-

    from kivy_deps import sdl2, glew

    block_cipher = None

    a = Analysis([‘C:\\Users\\taha\\Desktop\\pr\\main.py’],
    pathex=[‘C:\\Users\\taha\\Desktop\\prkh’],
    binaries=[],
    datas=[],
    hiddenimports=[],
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False)
    pyz = PYZ(a.pure, a.zipped_data,
    cipher=block_cipher)
    exe = EXE(pyz,Tree(‘C:\\Users\\taha\\Desktop\\pr’),
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
    [],
    name=’taha’,
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True )

    • مصطفی آصفی

      سلام به شما. من متاسفانه الان به سیستم دسترسی ندارم. چون عجله دارین ناچار همین جا بررسی کردم. مشکل از فونته. خطا داره میگه فونت roboto-regular رو پیدا نمی کنه.

  98. javid

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

    • مصطفی آصفی

      سلام به شما. بله مشکلی نداره. فقط همون طور که پایینم توضیح دادم و در بسته هم در بخش متریال دیزاین (بخش دوم) توضیح داده شده، توسعه اپ های فارسی زبان با کیوی دشواره و در بعضی بخشا مثل file chooser هنوز کامل نیست.

  99. tarasalehi1500@gmail.com

    سلام استاد خیلی خیلی مرسی از راهنماییتون با کلاسای شما واقعا تاثیر خیلی خوبی روم گذاشته شده ازتون سوال داشتم اون بخش جدیدی که به من گفتین تو دوتا کامنت قبل کی پخشش میکنید ؟؟؟؟ من منتظر اونم😅♥️

    • مصطفی آصفی

      سلام به شما. دوست عزیزم شما تا به حال دوره ای رو از هم رویش تهیه نکردین. نمی دونم چطور دوره ها رو دیدین که تاثیر داشته.
      لطفا آموزش های هم رویش رو فقط از هم رویش تهیه کنید. حداقل بهای ممکن برای آموزش ها گذاشته شده که هم عزیزان مثل شما بتونن تهیه کنن و هم اشتغال هم رویش پابرجا بمونه.
      در مورد آموزش پای کیوت هم انشالله به زودی در هم رویش منتشر میشه. هم رویش رو در شبکه های اجتماعی با شناسه hamruyesh دنبال کنید تا به موقع مطلع بشین.

  100. سمیه (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. سلامت باشید.
      اگه قراره که اپ شما یک آزمون فردی بگیره و شخص فقط آزمون رو بده و خودش رو ارزیابی کنه می تونه آفلاین باشه با دیتابیس برجا. در این صورت چون می بینم به تازگی بسته رو تهیه کردین توصیه می کنم آموزش رو تا پایان ببینید. تو بخش سوم که پروژه محور هست به ساخت دیتابیس هم می پردازیم.
      اما اگه نه؛ قرار باشه که کاربر آزمون رو بده و نتایجش جای دیگه ای برای مدیر سیستم ثبت بشه پس باید اپ تحت سرور باشه. در این صورت باز هم تو همون بخش سوم در مورد API هم صحبت شده. وقتی اون بخش رو دیدین و یاد گرفتین که با API در کیوی کار کنید باید برید و این آموزش Django REST رو ببینید که بتونید سرور رو هم با پایتون و جنگو بزنید (البته اگه به طور کلی با مفاهیم وب و جنگو آشنا نیستید اول این آموزش جنگو رو ببینید بعد آموزش Django REST).

  101. tarasalehi1500@gmail.com

    سلام استاد خسته نباشید من میخواستم یه اپلیکیشن موبایلی برای یک رستوران بسازم به زبان پایتون به واسطه اموزش های قبلی تسلط کامل دارم برای همین الان اومدم تا با استفاده از کیوی یک اپلیکیشن بسازم فقط سه تا سوال داشتم که ممنون میشم جواب بدید. سوال اول این که متوجه شدم که کیوی در فارسی کمی ضعف داره خواستم بپرسم اگر من به جای گزینه های خودم عکس بزارم کارم راه میوفته؟ مثلا به جای این که بخشی درست کنم به نام منو یک عکسی از منو بزارم داخل اپلیکیشنم که وقتی کاربر روی اون عکس بزنه وارد بخش منو بشه یا مثلا به جای اسم‌نوشیدنی ها عکس نوشیدنی هارو بزارم که اگر کاربر اون عکس رو انتخاب کنه اون نوشیدنی به سبد خریدش اضافه بشه. ایا این کار شدنیه؟ و سوال دوم این که این‌امکان که کاربر ها باهم‌در این اپلیکیشن در ارتباط باشن رو هم میشه ایجاد کرد با استفاده از این اموزش ها البته ارتباط نه به صورت خیلی حرفه ای در این حد که مثلا مشتریانی که یک غذا سفارش دادن باهم وارد یک گروه بشن و نوبت در اون گروه بهشون اعلام بشه. ایا میشه این امکان رو ایجاد کرد؟ و سوال سوم این که میتونیم هر روز که خواستیم تغیرات رو در داخل برنامه برای کاربران ایجاد کنیم؟ مثل اضافه کردن غذا یا بخش جدید؟

    خیلی ببخشید از زیاد حرف زدم ولی اگر جواب این سه تا سوال رو بدید من خیلی از مشکلاتم حل میشه و با استفاده از این دوره اپ خودمو میسازم خیلی خیلی ممنون🙏🌹🌹

    • مصطفی آصفی

      سلام به شما.سلامت باشین.
      در مورد بخش اول سوالتون ممکنه بتونید با گذاشتن عکس به جای متن مشکل رو حل کنید اما اپلیکیشن ها جزئیات زیاد دارن و نمی تونم قطعی نظری بدم که حتما با استفاده از این ترفند دیگه مشکلی نخواهید داشت.
      به جای کیوی از پای کیوت هم میشه استفاده کرد که انشالله به زودی آموزش اون هم در هم رویش خواهیم داشت. پای کیوت مشکل فارسی نویسی نداره اما خروجی گیری اندروید و iOS در اون به سادگی نیست.
      من توصیه می کنم شما این آموزش رو ببینید و آموزش پای کیوت هم که منتشر شد اون رو هم ببینید. بعد با آگاهی از امکاناتی که دارین بین کیوی و پای کیوت انتخاب کنید.
      در مورد بخش دوم سوالتون ببینید تعامل کاربران و تغییرات برنامه معمولا سروری باید مدیریت بشه. توصیه می کنم این آموزش Django REST رو ببینید که با پایتون بتونید سرور رو هم آماده کنید. وقتی به بخش سوم این آموزش کیوی برسید استفاده از API رو فرامی گیرید و از اون طرف هم می تونید با Django REST برای کارهای مختلف API تولید کنید. مثلا فهرست محصولات رستوران رو می تونید تو سرور تعریف کنید که هر وقت خواستید بدون تغییر اپلیکیشن فقط تو سرور فهرست رو به روز کنید و کاربرا بار بعد که اپ رو باز کردن تغییر تازه رو ببینن. اپ های بزرگ آنلاین این طور کار می کنن.

  102. رضا محمدزاده (خریدار محصول)

    سلام نحوه نصب کیوی تغییر کرده و چیز هایی که شما برای نصب کیوی در جلسه دوم توضیح دادید در سایت کیوی نیست اما من یک (venv) در پای چارم ساختم و با ترمینال پای چارم با دستور (python -m pip install –upgrade pip setuptools virtualenv)و (python -m pip install kivy[base] kivy_examples) کیوی رو ایمپورت کردم اولین کد در درس سوم را نوشتم اما با ارور (venv) H:\PYCHARM\kivyyy>python ff.py
    [INFO ] [Logger ] Record log in C:\Users\kavosh\.kivy\logs\kivy_21-04-29_4.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.3.2
    [INFO ] [deps ] Successfully imported “kivy_deps.angle” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.3.0
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.3.1
    [INFO ] [Kivy ] v2.0.0
    [INFO ] [Kivy ] Installed at “H:\PYCHARM\kivyyy\venv\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 16:30:00) [MSC v.1900 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “H:\PYCHARM\kivyyy\venv\Scripts\python.exe”
    [INFO ] [Factory ] 186 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds, img_pil (img_sdl2, img_ffpyplayer ignored)
    [INFO ] [Text ] Provider: pil([‘text_sdl2’] ignored)
    [CRITICAL] [Window ] Unable to find any valuable Window provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
    sdl2 – ImportError: DLL load failed: The specified module could not be found.
    File “H:\PYCHARM\kivyyy\venv\lib\site-packages\kivy\core\__init__.py”, line 62, in core_select_lib
    fromlist=[modulename], level=0)
    File “H:\PYCHARM\kivyyy\venv\lib\site-packages\kivy\core\window\window_sdl2.py”, line 27, in
    from kivy.core.window._window_sdl2 import _WindowSDL2Storage

    [CRITICAL] [App ] Unable to get a Window, abort.

    • مصطفی آصفی

      سلام به شما. این مشکل لزوما مرتبط با نسخه جدید کیوی نیست. مشکلیه که در نسخه های قبلی هم کاربران با پیشنیازها داشتن. برای مثال این پرسش و پاسخ رو ببینید.

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

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

      پی‌نوشت – چون مشکلات نصب ابزارها مدام تغییر می کنه (به خصوص پایتون که کتابخونه ها زنجیزه ای به هم وابسته هستن) توصیه می کنم، خود خطای دریافتی رو گوگل کنید که خودکفا بشین.

  103. حسین مطهری فر (خریدار محصول)

    سلام هنگام تهیه apk تا 60 در صد هم پیش رفتم و سپس خطا داد.و پس از آن دیگه 1 درصد هم جلو نمیره و خطا تکرارا میشه. Apache ANT found at /home/hossein/.buildozer/android/platform/apache-ant-1.9.4
    # Android SDK found at /home/hossein/.buildozer/android/platform/android-sdk
    # Recommended android’s NDK version by p4a is: 19c
    # Android NDK found at /home/hossein/.buildozer/android/platform/android-ndk-r17c
    # Installing/updating SDK platform tools if necessary
    # Check configuration tokens
    # sdkmanager path “/home/hossein/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager” does not exist, sdkmanager is notinstalled
    hossein@ubuntu:~/Desktop/most_app$

    • مصطفی آصفی

      سلام. خطا نشون میده که sdk اندروید به درستی برای شما نصب نیست.
      sdkmanager is notinstalled
      این خطا معمولا به دلیل ضعف VPN هست. یه VPN پولی مناسب کرایه کنید که بدون افت سرعت و قطع شدن بتونید SDK و موارد لازم رو از سرور گوگل بگیرید. تیکنت بد نیست.

  104. reza.bigdeli.job@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

      سلام آقای بیگدل. متن خطای دریافتی رو بفرمایید تا منم اگه کاری به ذهنم رسید خدمتتون عرض کنم.

  105. محمد وحید کوه کن (خریدار محصول)

    با عرض سلام مجدد خدمت شما استاد بنده با استفاده از آموزش خوب شما در برنامه نسبتا سنگینی رو بر پایه کیوی برای ویندوز نوشتم و میخوام برای این اپ یک صفحه برای خرید اشتراک مثلا سه ماهه و 6 ماهه و… غیره قرار بدم و واقعا نمیدونم این کار رو به چه شکا انجام بدم مثلا اینکه چطور کاربر به صحفه پرداخت هدایت بشه نرم افزار چطور از این پرداخت مطمئن میشه؟ این اطلاعات کاربر رو چطور در یک دیتابیس ذخیره کنم و نرم افزار موقع login چطور این اطلاعات رو از دیتابیس دریافت کنه که مثلا اجازه ورود به کاربر بده یا نه.. پ.ن: من با استفاده از idpay لینک پرداخت برای پلن های مختلف رو ساختم و واقعا بقیه کار رو نمیدونم باید چه کنم؟ مثلا میشه یه صفحه با wordpress طراحی کرد که پرداخت ها اونجا شه و در همون دیتابیس نرم افزار ذخیره شه یا نه؟ در کل میخوام بدونم برایا این منظور چه آموزش هایی رو باید ببینم اگر آموزشی(ترجیحا با تدریس خودتون) هست ممنون میشم معرفی کنید.. بسیار متشکرم از وقتی که برای خوندن پیام بلند من گذاشتید

    • مصطفی آصفی

      سلام به شما. آقای کوه کن شما برای پیاده سازی درگاه پرداخت می تونید از API استفاده کنید.
      درگاه های پرداخت مثل زرین پال، این ها اغلب یه مجموعه Web API ارائه می کنن. فرآیند کار این طوره که شما از داخل اپ با صدا زدن API کاربر رو به درگاه پرداخت می فرستید و وقتی پرداخت کرد تو دیتابیس به نام اون کاربر یه شناسه پرداخت ثبت می کنید و مثلا وضعیتش رو تو یه فیلد مثلا 1 ثبت می کنید یعنی این کاربر فعاله (پرداخت کرده)
      راجع به صدا کردن و مفهوم API تو اپ صحیت کردیم. راجع به کار با دیتابیس هم الان اطلاعات لازم رو دارید. تو اپ یه دیتابیس ساختیم با هم.
      حالا کافیه همت کنید و برید مستندات یه درگاه پرداخت مثل زرین پال یا زیبال یا … رو در مورد API اون ها بخونید.

  106. حسین مطهری فر (خریدار محصول)

    جناب مهندس مشکل حل شد.در venv کتابخانه arabic_reshaper نصب نبود

    • مصطفی آصفی

      سلام و ممنونم که اطلاع دادین.

  107. حسین مطهری فر (خریدار محصول)

    پیرو سوال قبلی بنده هم در فایل main از arabic reshaper و bidi استفاده کردم و هم در فایل kv دستورات #:import a arabic_reshaper.reshape
    #:import f bidi.algorithm.get_display را استفاده کردم(برای فارسی سازی) که به خوبی کار می کنه ولی در ساخت فایل exe خطای exception : default configuration file c:\users\…\dist\penfit\arabc_reshaper\default-config.ini not found, check the module installation…Failed to execute script main____ لطفا راهنمایی جامع بفرمایید.( ظاهرا مشکل مربوط به فایل default-config.ini در arabic reshaper ).

  108. حسین مطهری فر (خریدار محصول)

    سلام پیرو مشکلم که جلوتر گفتم در خصوص اجرای فایل exe که نهایتا پنجره ای باز می شود و پس از 1 ثانیه بسته می شود متوجه خطا شدم._________ exception : default configuration file c:\users\…\dist\penfit\arabc_reshaper\default-config.ini not found, check the module installation…Failed to execute script main____ لطفا راهنمایی جامع بفرمایید. ظاهرا مشکل مربوط به فایل default-config.ini در arabic reshaper می باشد .

  109. حسین مطهری فر (خریدار محصول)

    سلام فرمودید قطعه کد در خصوص super و اینکه چرا نمیتوان به اتربیوت ها و متد های سایر کلاس اسکرین ها با اشاره به اسم آن کلاس و گذاشتن نقطه جلوی آن دسترسی داشت؟. همانند کلاس ها در python..مثلا استفاده از Page1.val.text جهت دسترسی داشتن به اتربیوت val در کلاس Page2, که در کلاس Page1 می باشد. در کد زیر پرا self ارگمان دوم است.و چرا باید از super استفاده کرد؟؟
    class WinningPopup(Popup):
    pass

    class MyScreenManager(ScreenManager):

    def __init__(self, **kwargs):
    super(MyScreenManager, self).__init__(**kwargs)
    self.current = “screen2” # display ScreenTwo

    class ScreenTwo(Screen):
    result = StringProperty(“Testing-1-2-3”)

    def __init__(self, **kwargs):
    super(ScreenTwo, self).__init__(**kwargs)
    self.Winning() # display popup

    def Winning(self):
    wp = WinningPopup()
    wp.ids.winning_label.text = self.result
    wp.open()

    class TestApp(App):

    def build(self):
    return MyScreenManager() ____________________________________________________________kv__________________________ #:kivy 1.10.0

    :
    id: winning_popup
    Label:
    id: winning_label

    :
    ScreenTwo:
    name: “screen2”

    : https://stackoverflow.com/questions/46543693/how-to-access-the-value-from-another-class-screen-kivy

    • مصطفی آصفی

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

  110. حسین مطهری فر (خریدار محصول)

    سلام پیرو مشکلم که جلوتر گفتم در خصوص اجرای فایل exe که نهایتا پنجره ای باز می شود و پس از 1 ثانیه بسته می شود متوجه خطا شدم._________ exception : default configuration file c:\users\…\dist\penfit\arabc_reshaper\default-config.ini not found, check the module installation…Failed to execute script main____ لطفا راهنمایی جامع بفرمایید.

  111. جاوید

    سلام وقت بخیر، آیا کیوی با مانگو دیبی به راحتی کار میکنه یا نه؟

    • مصطفی آصفی

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

  112. محمد وحید کوه کن (خریدار محصول)

    با عرض سلام و خسته نباشید خدمت جناب آصفی و تبریک بابت دوره جامع و خوبتون.. اول از همه خواستم تشکر کنم، من برای مسائل مختلف پایتون آموزش های زیادی از اساتید و سایت های مختلف دیدم ولی بجرات میگم بهترین کیفیت، مسئولیت پذیری، لحن و طرز بیان رو بین تمام اساتید دارید.. سوال بنده این هست که در kivy gridlayout و boxlayout سطر ها response خوبی نسبت به صفحه دارند ولی در kivymd این دو مورد نسبت به صفحه(بیشتر تغییر عمودی سایز صفحه منظوره) response خوبی ندارن و موقعیتشون نسبت به هم تغییر نمیکنه جوابی هم براش با سرچ پیدا نکردم چطور میتونم این مشکل رو حل کنم که ضمن تغییر فاصله متناسب سطر ها روی همدیگه نرن.. ممنون از شما

    • مصطفی آصفی

      سلام به شما. ممنونم از انرژی خوبتون و خوشحالم که آموزش براتون مفید بوده.
      راستش در این مورد به خصوص من تجربه مشابهی ندارم ولی چون سورس کد ویجت های kivy و kivymd هر دو موجوده توصیه می کنم اگه یه عملکردی تو کیوی خوبه و تو kivymd بده (با توجه به این که ویجت های کیوی ام دی از کیوی ارث می برن، برید سورس رو بررسی و رفتار لازم رو از یکی به دیگری وارد و یک ویجت اختصاصی ویژه خودتون تعریف کنید.

  113. حسین مطهری فر (خریدار محصول)

    سلام مجدد.ممکنه در خصوص متد super توضیح بدهید( توضیح پیشرفته) و اینکه چرا گاها self به عنوان ارگومان دوم استفاده میشه. مثلا super) Page1, self(…..

    • مصطفی آصفی

      سلام مجدد. ببینید چون این یه بحث فلسفی در برنامه نویسی هست، اگه با لینک به مستندات کیوی بگید برای مثال کدوم متد منظورتون هست بهتر می تونم براتون با همون مثال توضیح بدم.

  114. حسین مطهری فر (خریدار محصول)

    سلام استاد ممنون از آموزش عالیتان . بنده بعد از اینکه نتونستم خروجی apk بگیرم ( علیرغم تمام سرچ ها و آزمایش و خطا ها ) خواستم خروجی exe بگیرم و تمام مراحل را پیش رفتم و نهایتا در هنگام اجرای فایل exe ، لحظه ای پنجره سیاه رنگی باز می شود و اجرای برنامه متوقف می شود.( بدون هیچ ارور). اما با اجرای همان مراحل توانستم یک Label ساده را خروجی exe بگیرم.یعنی مشکل از برنامه هستش.برنامه در ide به خوبی کار می کند.پیشنها شما چیست؟؟؟

    • مصطفی آصفی

      سلام و ممنون از لطف شما. در مورد apk و exe هر دو کار سختی پیش رو دارید. ولی دوستان متعددی که فراگیر این دوره بودن اگه پایین تر بخونید (یا در بخش نظرات فصل ها به صورت جداگانه)،‌ نهایتا موفق میشن.
      در مورد فایل apk لاگ خطا رو گزارش کنید. در مورد exe این که پنجره موقتا باز میشه و بسته میشه هم باز علت های مختلفی ممکنه داشته باشه. طبیعتا تا خطایی گزارش نکنید نمی تونم کمک کنم.
      ولی توصیه می کنم این آموزش ساخت exe در پایتون و نظرات اون رو هم مطالعه کنید.

  115. رضا (خریدار محصول)

    سلام آقای آصفی امیدوارم حالتون خوب باشه
    به نظرتون میشه بر اساس اصل جداسازی دغدغه ها به جای نوشتن در فایل کیوی یا “”” “””=kv که خیلی زمان بر هستش در یک ماژول جداگونه اسکریپ پایتونی کد های مربوط به فرانت رو طوری بزنیم که ide کمکمون کنه و بعد ماژول رو ایمپورت کنیم؟

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

    • مصطفی آصفی

      سلام به شما. در مورد سوال اولتون ایده بدی نیست اما در مورد برنامه های پر ویجت به نظرم کار سخت تر میشه. این Kivy Studio رو هم توصیه می کنم ببینید.

      در مورد پایچارم 2021 خیلی ممنونم برای اشتراک گذاری تجربه ارزنده خودتون. حتما بررسی می کنم.

  116. | (خریدار محصول)

    البته سیستم عاملم لینوکس هست استاد

  117. | (خریدار محصول)

    من دستی نوشتم ولی تو ترمینال به ارور میخوره
    ارور:
    ERROR: Could not find a version that satisfies the requirement kivy_deps.gstreamer==0.1.*
    ERROR: No matching distribution found for kivy_deps.gstreamer==0.1.*

    ERROR: Could not find a version that satisfies the requirement kivy_deps.sdl2==0.1.*
    ERROR: No matching distribution found for kivy_deps.sdl2==0.1.*

  118. | (خریدار محصول)

    سلام استاد
    زمانی که میخوام kivy رو نصب کنم در ویديو ها دو دستور هست که شما وارد ترمینال میکنید که الان وجود نداره اگر این دو دستور رو نزنم اشکالی پیش نمیاد؟
    دستورات: python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*

    python -m pip install kivy_deps.gstreamer==0.1.*

    • مصطفی آصفی

      سلام به شما. بله در دستور نصب نسخه 2 این دو پیشنیاز حذف شده.
      من امتحان نکردم ولی احتمالا در خود اون نصب پیش فرض قرار داده شدن.
      نیازی نیست دستی بنویسیدشون.

  119. رضا (خریدار محصول)

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

    و برای تمرین بیشتر در شی گرایی،پیشنهاد میکنم این بسته رو تهیه کنید:
    https://hamruyesh.com/product/pygame-tutorial-python-game-development/

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

    • مصطفی آصفی

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

  120. | (خریدار محصول)

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

  121. alireza.rick@gmail.com (خریدار محصول)

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

  122. alireza.rick@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

      سلام به شما. ببینید در مورد بخش اول آموزش سورس ها ابتدایی هستند و در موارد لزوم به خود درس ها پیوست شدن.
      در مورد بخش های دوم (KivyMD و اپلیکیشن نقشه) هم که در گیت هاب هستن به راحتی می تونید کل سورس رو به صورت یک فایل زیپ دریافت کنید. تو صفحه مخزن گیت هاب پروژه (لینکی که پیوست شده) روی دکمه سبزرنگ Code بزنید و بعد روی Download Zip بزنید. دریافت کدها به این شکل خیلی ساده ست.

      پی‌نوشت: به عنوان برنامه نویس شما باید با گیت و گیت هاب راحت کار کنید. محیط گیت هاب خونه برنامه نویس هاست و بنده به عمد شما رو برای دریافت سورس به گیت هاب هدایت می کنم.
      برای آشنایی با گیت این آموزش رایگان گیت (+) رو ببینید. بعد یه آموزش گیت هاب رو هم تماشا کنید که حتی بتونید حرفه ای تر از سورس ها روی خود گیت هاب یا با کلون کردن اون ها استفاده کنید.

  123. Parham

    سلام استاد سایت شمارو یکی از دوستان به من معرفی کرد و من الان یه سوالی دارم و اون هم این که من با یادگیری کامل این بسته میتونم بازی مثل کوییز اف کینگ رو بسازم؟ من متوجه این موضوع شدم که برنامه کیوی برای برنامه نویسی به زبان فارسی یکم مشکل و ضعف داره برای همین این سوال رو میپرسم

    • مصطفی آصفی

      سلام به شما. بله به کمک کیوی و ترکیبش با پای گیم (+) می تونید با پایتون بازی تولید کنید. اگر بحث آنلاین بودن بازی رو بخواهید پیاده سازی کنید باید در پایان این دوره، آموزش Django REST هم ببینید که بتونید API تولید و در اپ خودتون استفاده کنید.
      البته بازی کوییز آف کینگز تا جایی که بنده اطلاع دارم نیازی به پای گیم و محیط بازی قهرمانی نداره. بیشتر اپلیکشین زیبا میخواد و محیط مسابقه فکریه.
      اگه روی استفاده از پایتون برای هوش مصنوعی در خود گوشی (مثلا با استفاده از تنسورفلو لایت) اصرار داشته باشید و همین طور حتما نیاز به توسعه کراس پلتفرم دارید، می‌تونید از کیوی استفاده کنید ولی برای استفاده از کیوی باید صبور باشید و زحمت زیادی بکشید که اول بتونید فرانت اند بازی رو کامل کنید. به خصوص این که برای فارسی سازی در کیوی در مواردی به دشواری میشه و در مواردی هم هنوز کار کامل نشده و اصلا نمیشه به خوبی فارسی سازی کرد.
      این طور نیست که شما صرفا با دیدن این آموزش و آموزش های جنگو بتونید یک بازی آنلاین ایجاد کنید. زحمت زیادی داره. به خصوص بحث گرافیک که خب در مورد بازی ها باید خیلی خاص باشه. با کیوی شما می تونید اپ های متریال زیبا درست کنید اما نه لزوما اپ های بازی با گرافیک متعارف.

      من توصیه می کنم برای شروع بازی سازی از یونیتی استفاده کنید. خیلی راحت تر هستید. دوبعدی و سه بعدی هم میشه کار کرد و خروجی اندروید و iOS هم میشه گرفت. بعد برای آنلاین کردن بازی از جنگو و پایتون در قلب سرور خودتون استفاده کنید. با Django REST (+) می تونید API بسازید و از دل یونیتی با سرور پایتونی ارتباط بگیرید. هوش مصنوعی هم در سرور می تونید پیاده کنید.

  124. | (خریدار محصول)

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

  125. | (خریدار محصول)

    هیچ اروری نمیده استاد فقط نقشه رو نشون نمیده

    • مصطفی آصفی

      سلام به شما. لطفا لاگ ترمینالتون رو بررسی کنید. و ضمنا دقت کنید کلیدتون برای استفاده از نقشه معتبر باشه.
      ممکنه که کدتون داره به درستی عمل می کنه اما سرویس دهنده نقشه در دسترس نیست. می تونید در اون بخش فراخوانی نقشه یک کد محک بگذارید. مثلا بخشی از داده های نقشه (مثلا مرکز نقشه) رو با print در ترمینال چاپ کنید ببینید مراحل گام به گام به درستی پیش می رن یا خیر.

  126. koshkian1000@gmail.com

    سلام میشه بگید با دیدن این دوره چند درصد از kivy رو یاد میگیریم

    • مصطفی آصفی

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

  127. rohimohamadamin@gmail.com (خریدار محصول)

    سلام استاد من داشتم برنامه اخر دوره شمارو مینوشتم ولی نه به اون شکلی که شما نوشتید شکلش این طوره که یک kv در بالا برنامه مینویسم و بعد توسط دستور load_string(kv( لودش میکنم ولی بالا نیماد نقشه (mapview) میخواستم بدونم نکته خاصی داره چون میشه با کلیک راست نقطه های صورتی در صفحه ایجاد کرد

    • مصطفی آصفی

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

  128. koshkian1000@gmail.com

    سلام میشه لطفا بگید با دیدن این دوره چند درصد از kivyرو یاد میگیریم لطفا درصدشو بگید

    • مصطفی آصفی

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

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

  129. rohimohamadamin@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

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

  130. rohimohamadamin@gmail.com (خریدار محصول)

    سلام استاد من صفحه گیتهاب شمارو چطوری پیدا کنم

  131. مجتبی مزروعی (خریدار محصول)

    سلام لطفا بفرمایید برنامه نویسی با فلاتر بهتر است یا کیوی
    من یک برنامه می خواهم بنویسم که روی پلتفرم های مختلف جواب دهد – در اینترنت در مورد کیوی نوشته بود حجم فایل نهایی آن به نسبت زبان های دیگر خیلی خیلی بالاست – آیا این مطلب صحیح است ؟ برای یک برنامه نویسی که به سیستم عامل وابسته نباشد فلاتر را پیشنهاد می دهید یا کیوی را ؟

    چند نکته
    برنامه ای که در نظر دارم بنویسم در زمینه معاملات ارزهای دیجیتال است لذا چند ویژگی باید داشته باشد
    1- سریع باشد و از اطلاعات لایو و سوکت استفاده کند
    2- قابلیت اتصال به سامانه های و api های مختلف را داشته باشد از قبیل ارسال پیامک – ارسال ایمیل- اتصال به ربات تلگرام – استعلام قیمت دلار و …
    3-زیبا باشد اما به تا زمانی که زیبابی مانع سرعت برنامه نشود
    4- بسیار مهم است که در پلتفرم های مختلف جواب دهد -ویندوز – اندروید –
    5- با زبان فارسی مشکلی نداشته باشد (البته زبان فارسی فقط برای گزینه های منو و متن کلید ها و پیغامها باید استفاده می شود )
    6-امکان انجام محاسبات در پس زمینه را داشته باشد با کمترین استفاده از منابع سخت افزاری سیستم – یعنی اطلاعات قیمت را رصد و محاسبات لازم را انجام دهد و در شرایط مشخص شده کار تعیین شده را انجام دهد.
    7-این برنامه مرتبا نیاز به توسعه و تغییر دارد تا نسخه قابل قبولی از آن خارج شود

    • مصطفی آصفی

      سلام به شما. ببینید انتخاب روش و ابزار توسعه در درجه اول به شرایط خود شما یا گروهتون بستگی داره و بعد به شرایط پروژه. بنده فقط می تونم چندین مقایسه بهتون بدم:
      – کیوی با پایتون نوشته میشه و فلاتر با دارت. بسته به زبان برنامه نویسی مورد علاقه ممکنه یکی یا دیگری رو انتخاب کنید. همین طور اگه API سرور رو با جنگو و پایتون نوشته باشید باید ببینید که با دو زبانی بودن بک اند و فرانت اند راحت هستید یا نه.
      – کدنویسی منطق برنامه به دلیل کتابخانه های متنوع پایتون معمولا ساده تره. در مقابل فلاتر برای طراحی رابط کاربری محیط توسعه بهتری داره.
      – از نظر سرعت رندر گرافیکی برنامه تقریبا هر دو یکسان هستن چون از GPU استفاده می کنن. البته بنده آزمایش دقیق سرعت نکردم. از نظر سعت پرداش الگوریتم باید سرعت زمان اجرای پایتون و دارت رو مقایسه کنید.
      – از نظر پشتیبانی زبان فارسی کیوی در حال حاضر مشکل داره. البته برای مواردی که گفتید می تونید شخصی سازی کنید ولی احتمالا دستتون تو فلاتر بازتره.
      – از نظر تیم پیشتیبانی و جامعه کاربران فلاتر رو گوگل حمایت می کنه و جامعه کاربران وسیع تری هم داره.
      – از نظر جواب دهی روی سیستم عامل های مختلف هر دو خوب هستن. حجم خروجی کیوی برای کاربر امروزی چندان بازدارنده نیست.
      – از نظر اتصال به API سیستم های مختلف مثل تلگرام معمولا از کتابخانه های جانبی استفاده میشه که در این مورد احتمالا پایتون به دلیل قدمت و جامعه کاربران وسیعش بهتره.

      پی‌نوشت: انتخاب سیستم توسعه شبیه سوال «مرغ اول بود یا تخم مرغ؟» با یک حلقه باطل سروکار داره. شما می خواهی از بین دو چیز یکی رو انتخاب کنی در حالی که شناختت از هر دو کافی نیست. معمولا بهتره برای شروع از یک نسخه ساده اپ کار رو شروع کنی و با ساده ترین سیستمی که می تونی. شما اگه همین الان پایتون کار خوبی هستی وقتت رو روی رفتن و یاد گرفتن فلاتر صرف نکن. حتی اگه به نظر بیاد که فلاتر می تونه برای توسعه فرانت اند (اپ) کمی بهتر باشه. یک اپ ساده با کیوی درست کن با حداقل امکانات UI و در مقابل بهترین استفاده رو از کتابخانه های پردازشی پایتون ببر که بهترین نتیجه رو به کاربر بدی. چنین اپ هایی معمولا کار اصلیشون در سرور هست که می تونی از Django REST (+) برای نوشتن API و برگردوندن نتایج استفاده کنی. در وهله اول هم روی خروجی همزمان چند سیستم عامل تمرکز «نکن» که کارت سخت بشه. صرفا خروجی اندروید رو بگیر که کاربر بیشتری داره. بعد این اپ رو منتشر کن بازخورد کاربرانت رو ببین. اگه باخورد خوب بود و اپ داشت خوب کار می کرد بعد دلگرم میشی که گام به گام روش وقت بگذاری و حتی اگر لازم شد یک مدل اقتصادی براش تعریف کنی، گروه تشکیل بدی و شاید فرانت اند (اپلیکیشن موبایل، دسکتاپ و وب) رو براش از نو با فلاتر یا ری اکت نیتیو (+) بنویسی. چنین اپ هایی کار اصلیشون در سرور انجام میشه و فرانت اند فقط نمایش دهنده هست. بیشتر وقتت رو روی سرور بگذار و خوب کار کردن الگوریتم هات.

      پی‌نوشت 2: لطفا پیش از درست کردن اپ کیوی آموزش جامع رو با دقت ببینید و اجرا کنید.

  132. محمد وجدانی

    سلام استاد خسته نباشید من این دوره روخریداری کردم وتوی قسمت5 این ارور روبهم میده نمیدونم مشکلش چیه ؟TabError: inconsistent use of tabs and spaces in indentation

    • مصطفی آصفی

      سلام. شما هم خسته نباشید.
      این خطای دندانه گذاری هست. یک جایی یا یک علامت : رو فراموش کردید یا یک Tab کم یا زیاد زدید.
      گاهی هم به دلیل باگ محیط توسعه این اتفاق میفته. اون خطی که این خطا رو براش گزارش می کنه می تونید تا انتهای خط بالا عقب بکشید و دوباره تب هاش رو با زدن تب روی صفحه کلید ایجاد کنید.

  133. محمد کوزه گر (خریدار محصول)

    ضمن عرض سلام و خسته نباشید و تشکر بابت دوره خوبی که تهیه کردید. من دو تاپکیج kivy و kivyMD رو کامل کار کردم . توی پکیج سوم که پروژه گردشگری هست توی قسمت 3 یه مشکل پیدا کردم نرم افزار بدون مشکل اجرا میشه اما ServicesMarkerPopup درست کار نمیکنه. یعنی وقتی روی نقاط تعریف شده توی نقشه میرم فقط توی ترمینال المانهای اون نقاط پرینت میشن اما هیچ مارکری روی نقشه نشون داده نمیشه . از MarkerMap هم استفاده کردم جواب نداد. جالبه که یک نمونه پروژ هم از گیت هاب kivy-garden/mapview گرفتم اونم همینطور بود یعنی همه چیز بدون خطا کار میکنه فقط هیچ مارکری روی نقشه نشون داده نمیشه. به نظرتون مشکل کجاست؟
    مشکل دیگ هم اینه که تا حالا هرچی تلاش کردم هنوز موفق نشدم توی لینوکس اوبونتو فایل APK یه برنامه ساده رو درست کنم. سرعت VPN هم ظاهراً بد نیست .
    یه پیشنهاد هم دارم. اگه یه دوره هم برای آموزش کار با openCV و YOLO و در کل استفاده از مدل های آموزش دیده ML مثل NLPو …تحت رابط کاربری کیوی تهیه کنید خیلی خوب میشه . علتش اینه که قاعدتاً برای برنامه های تجاری تحت آندروید استفاده از کیوی فعلاً خیلی منطقی نیست و آندورید استدیو یا B4Aخیلی قابل اطمینان تر هستند. اما برای برنامه های ML که تقریباً ناچاریم که با پایتون کار کنیم تنها گزینه چند سکویی مناسب همین کیوی هست. البته خودم یه تحقیق هایی کردم ولی مطمئناً شما مطالب زیادی رو میتونید تو این زمینه آموزش بدید.
    خیلی ممنون و متشکر

    • مصطفی آصفی

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

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

      به عنوان راهنمایی با توجه به این که شما فراگیر جنگو هم هستید، خدمتتون بگم که مباحث پردازش تصویر رو معمولا باید با یک نگاه هوش توزیع شده (+) با کمک سرور پیش ببرید. به ویژه آموزش Django REST که دیدم ظاهرا فراگیر اون هم هستید بعد از آموزش جنگو با دقت ببینید. یک بخشی از کار رو باید با فراخوانی API که در بسته آخر کیوی هم یاد گرفتید از سرور بخواهید براتون انجام بده و یولو هم باید اونجا کدهاش نوشته شده باشه و وزنش هم اونجا باشه چون حجم فایلش زیاده. البته برای تشخیص اشیا الگوریتم های ساده تر و کم حجم تری مثل Mobile SSD هم امروز هستند که در صورت نیاز به اجرای پردازش روی خود گوشی می تونید از اون ها یا مدل های Tiny Yolo هم استفاده کنید.

  134. alireza

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

    • مصطفی آصفی

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

  135. فاطمه (خریدار محصول)

    سلام استاد ممنون از راهنمایی هاتون
    ببخشید این همه سوال می پرسم .
    استاد مشکل قبلی حل شد و الان زمانی که سرچ میکنم موفق بودن رو چاپ میکنه اما نقشه جا ب جا نمیشه و خطا زیر رو میده :
    cur_mapview = cur_app.root.ids.mapview
    File “kivy\properties.pyx”, line 863, in kivy.properties.ObservableDict.__getattr__
    AttributeError: ‘super’ object has no attribute ‘__getattr__’

    • مصطفی آصفی

      سلام مجدد. این ایراد احتمالا به این دلیله که id در فایل KV شما استرینگ نیست. لطفا مطمئن بشید که مراحل رو دقیقا مشابه بنده طی می کنید.

  136. فاطمه (خریدار محصول)

    سلام استاد وقت به خیر
    من برای قسمت سرچ در برنامه مثل شما عمل کردم اما هر چیزی که تایپ میکنم تا پیدا کنه همش پیغام {‘code’: 5001, ‘message’: ‘unauthorized’, ‘status’: 401} رو میده چه اسم شهر چه اسم منطقه .
    کلید هم مخصوص خودم رو تهیه کردم. خطا نمیده ولی همش میگه غیرمجاز.

    • مصطفی آصفی

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

  137. rohimohamadamin@gmail.com (خریدار محصول)

    سلام استاد
    از چه vpn شما استفاده کردید ایا اموزشی دارید که من تو اوبونتو استفاده کنم برای دستوره buildozer android debug

    • مصطفی آصفی

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

  138. ابوالفضل حسن زاده

    سلام استاد خسته نباشید. استاد الان من kivy رو نصب کردم حالا طبق مستندات با دستور pip install kivy دقیقا مثل جنگو نصب شد.
    (kivy_venv) PS H:\> pip install kivy
    Using cached Kivy-2.0.0-cp38-cp38-win32.whl (3.8 MB)
    Collecting kivy-deps.angle~=0.3.0
    Using cached kivy_deps.angle-0.3.0-cp38-cp38-win32.whl (4.2 MB)
    Collecting kivy-deps.glew~=0.3.0
    Using cached kivy_deps.glew-0.3.0-cp38-cp38-win32.whl (126 kB)
    Collecting kivy-deps.sdl2~=0.3.1
    Using cached kivy_deps.sdl2-0.3.1-cp38-cp38-win32.whl (2.3 MB)
    Collecting Kivy-Garden>=0.1.4
    Using cached kivy-garden-0.1.4.tar.gz (6.8 kB)
    Collecting docutils
    Using cached docutils-0.16-py2.py3-none-any.whl (548 kB)
    Collecting pygments
    Using cached Pygments-2.7.3-py3-none-any.whl (950 kB)
    Collecting pypiwin32
    Using cached pypiwin32-223-py3-none-any.whl (1.7 kB)
    Collecting pywin32>=223
    Downloading pywin32-300-cp38-cp38-win32.whl (8.5 MB)
    |████████████████████████████████| 8.5 MB 24 kB/s
    Collecting requests
    Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
    |████████████████████████████████| 61 kB 20 kB/s
    Collecting certifi>=2017.4.17
    Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
    |████████████████████████████████| 147 kB 17 kB/s
    Collecting chardet=3.0.2
    Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
    |████████████████████████████████| 178 kB 19 kB/s
    Collecting idna=2.5
    Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
    |████████████████████████████████| 58 kB 32 kB/s
    Collecting urllib3=1.21.1
    Downloading urllib3-1.26.2-py2.py3-none-any.whl (136 kB)
    |████████████████████████████████| 136 kB 20 kB/s
    Using legacy ‘setup.py install’ for Kivy-Garden, since package ‘wheel’ is not installed.
    Installing collected packages: urllib3, idna, chardet, certifi, requests, pywin32, pypiwin32, pygments, Kivy-Garden, kivy-deps.sdl2, kivy-deps.glew, kivy-deps.angle, docutils, kivy
    Running setup.py install for Kivy-Garden … done
    Successfully installed Kivy-Garden-0.1.4 certifi-2020.12.5 chardet-4.0.0 docutils-0.16 idna-2.10 kivy-2.0.0 kivy-deps.angle-0.3.0 kivy-deps.glew-0.3.0 kivy-deps.sdl2-0.3.1 pygments-2.7.3 pypiwin32-223 pywin32-300 requests-2.25.1 urllib3-1.26.2
    به نظرتون همه موارد نصب شده ؟
    چون تویه اموزش های شما چند خط دستور نصب رو در ترمینال زدید اما من فقط یه دستور زدم.

    • مصطفی آصفی

      سلام به شما. بله ظاهرا در نسخه جدید کیوی (Kivy 2.0) نصب وابستگی ها به صورت دستی نیاز نیست. با این حال شما لطفا با این نسخه با دقت پیش برید و اگر جایی به خصوص در خروجی گیری اندروید و دسکتاپ به مشکل نسخه خوردید بگید تا یادداشت کنم برای روزآمدسازی بسته.
      مقصودم اینه که بفهمیم آیا با همین شیوه نصب ساده نسخه 2 ، مثال های پروژه به خوبی اجرا میشن؟ خروجی گیری ها بدون مشکل انجام میشن؟ که اگر این طور بود اصلا درس مربوط به نصب کیوی رو مجدد و با دستورالعمل نسخه 2 بگیرم و در بسته قرار بدم.

  139. محمدحسین ماجدی نیا (خریدار محصول)

    سلام استاد وقت شما بخیر
    من پکیج طلایی رو خریداری کردم خیلی آموزش خوب و مفیدی بود
    فقط در فصل اول، همین بخش خروجی apk گرفتن، به یک مشکل خوردم:

    وقتی روی گوشی، usb debugging را فعال میکنم، اون پیغام RSA key رو نشون نمیده
    و مشکل دیگر اینکه وقتی deploy run رو مینویسم، کد بدون مشکل اجرا و تموم میشه ولی اپلیکیشن روی گوشیم نصب و اجرا نمیشه (البته به طور مجزا که فایل apk رو انتقال ددم به گوشی و اجرا کردم، در اجرا مشکلی نداشت)

    چجور باید این مشکل اجرا نشدن اپ بعد از دستور deploy run رو برطرف کنم؟

    • مصطفی آصفی

      سلام و ممنون از محبت شما.
      علت هر دو مشکلتون اینه که حالت USB Debugging به درستی روی گوشیتون فعال نیست.
      بعد از فعال کردن حالت توسعه دهنده (Developer Option) گزینه USB debugging رو یکی دو مرتبه در حالتی که کابل متصل هست قطع و وصل کنید تا پیام RSA ظاهر بشه.
      گاهی هم اتصال گوشی یه مرتبه به حالت Charging only تنظیم شده که بعد از اتصال کابل باید اول از بخش نوتیفیکیشن ها اتصال USB رو به حالت شارژ و انتقال فایل همزمان تغییر بدین که امکان تبادل فایل بین کامپیوتر و گوشی بعال بشه.

  140. فاطمه (خریدار محصول)

    سلام استاد
    من در نصب بیلدوزر به مشکل خوردم که مشکلم رو در گیت هاب هم مطرح کردم اما نتیجه ای نگرفتم و نتونستم رفع کنم
    لینک صفحه ای که مشکل رو در گیت هاب گذاشتم https://github.com/kivy/buildozer/issues/1270

    • مصطفی آصفی

      سلام به شما. اگه همه مسیر نصب بیلدوز رو دقیقا مثل چیزی که در درس 14 بسته اول طی کردم طی کرده باشید دو احتمال هست:
      احتمال اول: موقع دریافت NDK خطایی رخ داده (یا VPN خیلی قوی نیست یک لحظه قطع شده و فایلی مخدوش، یا اون y تایید شرایط گوگل رو در ترمینال نزدید).
      در این نشانی گیت هاب (+) هم مشابه شما گزارشی هست که اونجا هم احتمال اصلی همین راهنمایی شده.
      برای حل این مشکل پوشه .buildozer رو حذف و مراحل رو از نو طی کنید. اگر حل نشد NDK رو از نو به صورت دستی نصب و در مسیر .buildozer/android/platform/ قرار بدین. اگر باز هم مشکل برجا بود راه های مشابه در نشانی مذکور رو بررسی کنید.

      احتمال دوم: اگر مراحل بالا رو با یک VPN خوب رفتید و مشکل حل نشد این نشانی تطبیق SDK و NDK (+) رو هم ببینید. شاید نسبت به زمانی که من آموزش رو ضبط می کردم تغییری در نسخه مشکل رو حل کنه.

      پی‌نوشت: من موقع ضبط درس 14 بسته اول بدون اغراق یک هفته شبانه روز ضبط می کردم و به مشکل می خوردم تا در نهایت متوجه شدم یک سری قلق ها برای اون زمان وجود داره (که در قالب نصب کتابخونه های پیشنیاز جمع بندی کردم). با توجه به این که بیلدوزر به بسته های زیادی وابسته هست که این ها ممکنه تغییراتی داشته باشن در تعارض با هم،‌ همیشه احتمال خطا در نسخه های تازه هست. به ویژه که این روزا نسخه جدید کیوی هم رونمایی شده.

  141. احسان (خریدار محصول)

    سلام من چند روز پیش آموزش kivy از شما خریدم موقع تمرین با این error مواجه شدم میشه کمک کنیدOpenGL version detected: 1.1

    Version: b’1.1.0′
    Vendor: b’Microsoft Corporation’
    Renderer: b’GDI Generic’

    Try upgrading your graphics drivers and/or your graphics hardware in case of problems.

    درایور کارت گرافیک آپدیت کردم البته لپتاپ قدیمی هست برای من کار با پاتون خیلی مهمه , کارت گرافیک nvidia هست و نرم افزاری هست که در ورژن opengl در اینتل 2.1 نشان می دهدThe application will leave now

  142. rohimohamadamin@gmail.com (خریدار محصول)

    سلام مجدد
    نسخه کیوی:v1.11.1
    نسخه پایتون:v2.7.17
    روش به دست اوردنشم اینطوری بود که ترمینال رو باز کردم و رفتم تو پایتون و بعد import kivy رو زدم

    • مصطفی آصفی

      سلام به شما. پیش از import کردن باید کیوی رو نصب کنید. کیوی در پایتون به صورت پیش‌فرض موجود نیست.
      روش نصب کیوی در لینوکس رو که در درس دوم (بسته اول) توضیح دادم، به صورت دقیق دنبال کنید. ترجیحا از پایتون 3.7 استفاده کنید.

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

      دوستانی که در مراحل اول آموزش هستند، توصیه می‌کنم نسخه 1.11.1 رو مطابق بنده پیش بیان. اما اگر در هر صورت مایل به استفاده از آخرین نسخه هستید، این مقاله رو در مورد نکات انتشار و نصب Kivy 2 (+) مطالعه کنید.

  143. rohimohamadamin@gmail.com (خریدار محصول)

    سلام خدمت استاد عزیز ببخشید من فایل example.spec رو ساختم و اون تغیراتی که در اموزش اعمال کردید رو انجام دادم و به این ارور خوردم
    File “amin12.spec”, line 3, in
    from kivy_deps import sdl2, glew, gstreamer
    ModuleNotFoundError: No module named ‘kivy_deps’
    در سیستم عامل ابونتو
    میشه راهنمایی کنید؟

    • مصطفی آصفی

      سلام به شما. احتمالا کیوی به درستی نصب نشده. چه نسخه ای از کیوی رو نصب کردید؟ ورژن کیوی رو بررسی و اعلام کنید.

  144. rohimohamadamin@gmail.com (خریدار محصول)

    سلام من pyinstaller رو نصب کردم ولی نمیدونم چرا موقع تبدلی پایتون به exe این ارور رو میده
    ارور:usr/bin/python: No module named PyInnstaller
    سیستم عاملم ابونتو هستش

    • مصطفی آصفی

      سلام به شما. مطابق این خطا شما اشتباه تیاپی دارید: No module named PyInnstaller و با دو تا n نوشتید.
      با این حال به طور کلی در مورد خطای No module named دو احتمال هست
      1- کتابخونه رو در محیطی نصب کردید و فراخوانی رو در محیطی دیگه دارید انجام می دید. مثلا نصب رو در اسکریپت های پایتون سیستم انجام داده باشید اما موقع فراخوانی از داخل یک محیط مجازی کار می کنید یا برعکس.
      2- نام ماژول رو به درستی صدا نمی کنید. موقع صدا زدن دقت کنید که نام PyInstaller به این شکل باید استفاده بشه.

  145. سحر

    سلام استاد
    نصب کیوی در سایتش تغییر کرده . اگر من مثل ویدیو شما پیش برم مشکلی پیش میاد؟

    • مصطفی آصفی

      سلام به شما.
      بله نباید مشکلی باشه. در نسخه kivy 2.0.0 در بخش نصب از روی pip اون دستور نصب پیش نیازها رو اشاره نکرده مستقیم. شما نصب kivy 2 رو مطابق دستورالعمل خودش انجام بدین و در ترمینال کتابخانه های نصب شده رو بررسی کنید. اگه با نسخه هایی بالاتر از اونچه ما به صورت دستی نصب کردیم (در درس دوم) اون کتابخونه ها نصب شده بودن، خب پس نیازی به اون ها نیست. اگر نه اون ها رو هم جداگانه نصب کنید.
      باز بررسی کنید اگر مشکلی پیش اومد اطلاع بدین. البته برای طرح سوال با ایمیلی که بسته رو دریافت کردید وارد بشید. این ایمیل شما در شما فراگیران بسته ثبت نشده.

  146. محمدمتین محمدی (خریدار محصول)

    شرمنده فرق pos_hint با size_hint رو میشه بفرمایید!

    • مصطفی آصفی

      سلام. size_hint به اندازه ویجت نسبت به لیوت دربرگیرنده اون اشاره داره. برای مثال مقدار پیش‌فرض اون (1,1) به معنی این هست که ویجت از نظر عرض و ارتفاع تمام عرض و ارتفاع در دسترس لیوت دربرگیرنده خودش رو پر کنه (عرضش هم اندازه عرض مادرش و ارتفاعش هم همین طور)
      pos_hint هم برای تنظیم موقعیت ویجت فرزند داخل لیوت مادرش هست. اون رو به صورت یک دیکشنری تعریف می کنیم. برای مثال اگر بخواهیم مرز بالای ویجتمون 10 درصد از مرز بالای لیوت مادرش فاصله داشته باشه (به بیان دیگه مرزش بالاش از ارتفاع 90 درصدی ارتفاع مادرش شروع بشه) می تونیم به صورت پایین بنویسیم:
      widget = Widget(pos_hint={‘top’: 0.9})

      همون طور که می بینید شما با size_hint هم می تونستی کاری که بالا کردی رو هم مثلا با نوشتن (1,0.9) انجام بدی. منتها همیشه این طور نیست. گاهی شما باید هر دوی این ها در اختیارت باشن تا یک طرح منعطف و خاصی رو ایجاد کنی.

      پی‌نوشت: اگه اشتباه نکنم تو درس 16 بسته سوم (پروژه ساخت اپلیکیشن گردشگری) یک کاربرد مناسبی از تفاوت این دو داریم.

  147. محمدمتین محمدی (خریدار محصول)

    سلام استاد ببخشید کیوی استودیو آمد یا نه؟

    • مصطفی آصفی

      سلام به شما. به صورت رسمی توسط خود سازندگان کیوی یا KivyMD هنوز نه. هر چند این Kivy Studio (+) رو می تونید آزمایش کنید.

  148. مهدی علیزاده (خریدار محصول)

    سلام ببخشید یه سوال داشتم
    مشکلم زبان فارسیه به همین خاطر تو استک اورفلو و انجمن کیوی کسی نمیدونسته و بهم جوابی ندادن.
    من برای arabic-reshaper به مشکل خوردم. نرم افزار تو ویندوز و لینوکس به خوبی کار میکنه ولی وقتی تو اندروید نصب میکنم متاسفانه کار نمیکنه. اونو دیباگش کردم متوجه شدم این کتابخونه با این که تو requirment فایل *.spec واردش کردم اونو برام اضافه نکرده و به خاطر این کتابخونه نرم افزار کار نمیکنه.
    تنها چیزی که به من کمک شد استفاده از Recipes بود با این آدرس: https://python-for-android.readthedocs.io/en/latest/recipes/ . من اینو با توجه به کار خودم نوشتم :
    from pythonforandroid.recipe import PythonRecipe
    class ArabicReshaperRecipe(PythonRecipe):
    url = ‘https://github.com/mpcabd/python-arabic-reshaper/archive/master.zip’
    depends = [‘python3’, ‘numpy’,’sys’,’unittest’]
    site_packages_name = ‘arabic_reshaper’
    recipe = ArabicReshaperRecipe()
    حالا نمیدونم اینو کجا و با چه اسمی ذخیره کنم؟
    اگه راه دیگه ای هست برای استفاده از زبان فارسی؟

  149. فاطمه (خریدار محصول)

    سلام استاد
    استاد من یک نمونه کد کیوی در گیت هاب با این نشانی https://github.com/JoshNas/Coffee پیدا کردم
    دیتابیسی که انتخاب کرده sqlite نیست؟
    اگز بخواهیم این کد رو اجرا بگیریم باید از چه دیتابیسی استفاده کنیم ؟

    • مصطفی آصفی

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

  150. محمدمتین محمدی

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

    • مصطفی آصفی

      سلام به شما. بستگی به پروژه شما داره. اما به عنوان یک پایتون کار طبیعتا پیشنهاد می کنم بین این دو بسته حتما کیوی رو ببینید.

  151. حسین

    سلام
    آموزش شامل برنامه نویسی ios هم هست؟ چون توی سر فصل ها نیست.

    • مصطفی آصفی

      سلام و پوزش از تاخیر. خروجی گیری برای iOS در این آموزش انجام نشده ولی بر اساس روند خروچی گیری شرح داده شده می تونید تعمیم بدید.

  152. فاطمه شاطری (خریدار محصول)

    سلام استاد وقت به خیر
    در قسمت نصب در لینوکس من به این خطا بر خوردم
    ایا خطا به این ربط داره که من قبلش python رو نصب کرده بودم

    E: Could not get lock /var/lib/dpkg/lock-frontend – open (11: Resource temporarily unavailable)
    E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

    • مصطفی آصفی

      سلام به شما. این خطا می گه به دلیل در جریان بودن Updater یا یک apt پکیج هست. نمی گذاره شما به منابع مورد نظر دسترسی پیدا کنید چون توسط اون ها مشغول هستن. می تونید منتظر بشید یا از دستور پایین برای کشتن باقی پردازش ها استفاده کنید:
      sudo killall apt apt-get
      این جواب (+) رو هم ببینید گزینه های دیگه هم در اون پیشنهاد شده.

  153. علی عباسی

    سلام و درود.
    من برنامه نویس php و لاراول کار هستم برای طراحی اپلیکیشن شما چه روشی رو پیشنهاد میکنین؟؟؟ ری اکت نیتیو ، فلاتر یا فریم ورک کیوی ؟

    • مصطفی آصفی

      سلام به شما. ببینید بستگی به پروژه شما، آینده توسعه اون، ویژگی های پروژه و دانش قبلی و همین طور علاقه و راحتی شما داره.
      بنده نمی تونم بدون شناخت، مورد خاصی رو به دیگری ارجحیت بدم و پیشنهاد کنم. باید دید:
      برای مثال آیا به کتابخونه های ویژه پایتون نیاز دارید؟ آیا با پایتون راحت تر هستید یا جاوا اسکریپت؟ آیا پروژه نیازهای خاصی داره؟ در این صورت در مورد هر فریمورک جستجو کنید امکان پیاده سازی اون ها رو. آیا در آینده نیاز به توسعه تیم برای پشتیبانی پروژه دارید؟ این رو در نظر بگیرید. آیا نسخه دسکتاپ یا موبایل اولویت دارن؟ یا وب اپ هم نیاز دارید؟ آیا رندر گرافیکی اپ براتون خیلی مهمه؟ آیا سرعت توسعه و وجود امکانات تیپیک براتون مهمه؟

  154. سعید (خریدار محصول)

    سلام استاد
    من طبق گفته ی شما، پایتون 3.8 رو که فرمودین خرابه، حذف کردم و کاملا پاکش کردم و رفتم پایتون3.7 رو نصب کردم روی کامپیوترم
    اما الان مثل قبل نیست و وقتی کد های پیش نیاز اولیه کیوی رو میزنم این نوشته ها میان و خیلی هم نامفهومن
    آیا چیزی میشه از اینا فهمید ؟
    عکسش داخل این لینکه :
    file:///C:/Users/IdEaL%20RayAnEh/Desktop/Untitled.png

    • مصطفی آصفی

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

  155. محمدرضا

    سلام خسته نباشید استاد ببخشید یک سوال داشتم
    من خودم پایتون کارم و الان برنامه نویسی وب با پایتون انجام میدم
    میخواستم بدونم منی ک الان میخوام وارد اندروید بشم
    بنظر شما بهتره با کیوی شروع کنم یا نه اخه میگفتن الان زیادی کیوی قدرتمند نیست و از این حرفا
    آیا در زمینه متریال بودن هم حرفی برای گفتن داره ؟
    یا نه برم سراغ جاوا و از جاوا شروع کنم یا کاتلین به نظر من مسیر کیوی راحش کمتره و نیاز به زبان جدیدی نیست
    و میخواستم بدونم که آیا با کیوی میشه پروژه های بزرگی مثل واتس اپ یا تلگرام به همون وسعت و قوی بودن ساخت یا خیر چند وقته ذهنم خیلی مشغوله وفقط فکر میکنم و از کد نویسی دور شدم لطفا سریع تر راهنمایی کنید ممنون میشم

    • مصطفی آصفی

      سلام. سوال شما از چند جنبه قابل بررسی هست.
      1- اگر شما قصد دارید در آینده اندروید کار حرفه ای بشید و در واحد اندروید یک شرکتی کار کنید قطعا در حال حاضر بهترین کار یادگیری اندروید با کاتلین هست که می تونید بعد از دیدن آموزش سینتکس کاتلین از این آموزش اندروید (+) استفاده کنید.
      2- اگر شما قصد دارید کراس پلتفرم خروجی بگیرید (شاید برای استارتاپ خودتون یا دیگری) و پایتون کار خیلی خوبی هستید و کتابخونه‌ها و ابزارهای پایتونی رو خوب می‌شناسید کیوی گزینه خیلی خوبی هست و هر اپی رو می تونید با اون بزنید. پشتیابی متریال هم داره. در بخش دوم همین آموزش مفصل به پیاده سازی و اصولی متریال دیزاین در کیوی پرداخته شده. فقط دقت کنید که پشتیبانی کیوی از زبان فارسی همچنان خوب نیست و تا قلق کار رو یاد بگیرید اذیت داره. هر چند که در این بسته به این موضوع هم پرداخته شده اما هنوز باگ هایی رو فراگیران و جامعه کدنویسان در گیت هاب کیوی گزارش می کنند. اما در مورد اپ های انگلیسی زبان تقریبا هر اپی رو می تونید بزنید.
      دقت کنید که واتس اپ و تلگرام که مثال زدید بخش عمده بزرگیشون در بخش سرورشون هست نه در بخش اپ. برای استارتاپ های کوچک و متوسط برای بک اند هم از پایتون می تونید استفاده کنید.

      3- یک موضوعی رو خوب دقت کنید. در انتخاب یک ابزار برای کدنویسی خب راحت بودن با یک زبان یا فریمورک خیلی موضوع مهمیه اما مهم تر از اون نیازهای خود اون پروژه هست. جدیدترین قابلیت های سنسورینگ اندروید قطعا در SDK اندروید استودیو اول توسط خود گوگل گذاشته میشه. پس اگه پروژه شما به قابلیت های جدید وابستگی شدید داره سیستم های کراس پلتفرم باید بدونید که معمولا کمی عقب تر از نیتیو هستن.

  156. سعید (خریدار محصول)

    استاد پایتونم 3.8 بود اشتباه گفتم…
    ممکنه از نسخه پایتون باشه ؟
    راستی قبلا که کد رو میزدم برای دانلود بهم خطا میداد ولی الان اینو میگه :
    Requirement already satisfied: kivy_deps.gstreamer==0.1.* in C:\Users\IdEaL RayAnEh\Desktop\kivy_venv\Lib\site-packages r
    اون r آخرش اضافی بود… خودم نوشتم تا ساختمان کد به همون ترتیبی باشه که در قالب خطا میده

    • مصطفی آصفی

      سلام مجدد. بله کیوی با نسخه 3.8 پایتون مشکل داره. یک venv با پایتون 3.7 درست کنید و کیوی رو در اون نصب کنید.
      اگه با ایجاد محیط مجازی یا virtualenv آشنا نیستید این آموزش رایگان venv (+) رو ببینید.

  157. سعید (خریدار محصول)

    سلام و خسته نباشید.
    من در جلسه دوم گیر کردم . مشکل من در برنامه cmd اینه که من کد زیر رو برای نصب پیش نیاز های کیوی، پیست میکنم ولی نصب نمیشه… در ضمن پایتون من 3.7 هست.
    python -m pip install kivy==1.11.1
    مشکلی شما میبینید ؟

    • مصطفی آصفی

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

  158. امیرحسین علیجانی

    سلام و عرض خسته نباشید و تشکر بابت کیفیت بسیار عالی اموزش ها
    ببخشید میخواستم بدونم ایا میشه با Kivy برنامه ای نوشت که در پس زمینه ی سیستم اجرا بشه ؟

  159. مهدی علیزاده (خریدار محصول)

    با سلام و احترام خدمت شما
    ممنونم از پاسخ شما.
    من تو این قسمت هنوز مشکل دارم. الان میخوام تو محیط لینوکس خروجی اندرویدی بگیرم.اطلاعاتی که دارم اینه:ورژن پایتون پیشفرض اوبونتو20.04 پایتون 3.8 هستش که کیوی این ورژن پیاتون رو پشتیبانی نمیکنه و بنابرین بیلدوزر خروجی اندرویدی نمیده. برای این کار تو اوبونتو venv رو نصب و فعال کردم. ولی چون پیشفرض سیستم٬ پایتون3.8 هست محیط مجازی هم با همون ورژن ایجاد میشه. بازم همون مشکل پابرجاست. سوالم اینه الان باید پایتون 3.7 رو چطوری رو حالت پیشفرض لینوکس یا محیط مجازی داخل لینوکس قرار بدم؟ البته من پایتون 3.7 هم نصب کردم.

  160. مهدی علیزاده (خریدار محصول)

    ممنون از راهنماییتون وی پی ان خریداری شد و مشکل حل شد.
    یه سوال دیگه دارم خدمتتون: برای تبدیل به apk. بیلدوزر نیاز به نصب کیوی داره؟؟؟
    اگر بله چطور میتونم ورژن پایتون3.8 را به 3.7 تغییر بدم که بتونم کیوی رو نصب کنم؟؟؟

    • مصطفی آصفی

      سلام به شما. می تونید همزمان چند نسخه از پایتون رو نصب و با نسخه مورد نظر یک محیط مجازی ایجاد کنید و در این محیط کیوی رو نصب کنید. واژه venv رو در هم رویش جستجو کنید در مورد محیط مجازی یک آموزش هست.

    • مصطفی آصفی

      سلام به شما. می بخشید دیر شد جوابتون. بله الان متوجه شدم. شما از لینوکس استفاده می کنید. این پاسخ (+)‌ رو برای نصب نسخه خاص پایتون روی اوبوتو ببینید مراحل رو گام به گام طی کنید.

  161. مهدی علیزاده (خریدار محصول)

    سلام
    من روی سیستمم اوبونتو 20.04 رو نصب کردم، برای پکیج apk نیاز به فیلتر شکن هست.
    من فیلتر شکن های مختلفی رو تست کردم. از Tor گرفته تا نمونه هایی مثل lantern. تنها چیزایی که خوب جواب میدن افزونه های مرورگرند که برای ترمینال جوابگو نیستند. با توجه به این که برای تولید apk نیاز به فیلترشکن هست، اگر ممکنه کمک بفرمایین، ازین مرحله به سلامت عبور کنیم 😀

    • مصطفی آصفی

      سلام به شما. گمان می کنم در جریان آموزش تاکید کرده باشم که از vpn های رایگان نمی تونید استفاده کنید و باید کرایه کنید. مجموعه هایی مثل تیکنت مفید هستن.
      خرید vpn رو گوگل کنید.

  162. Hesamodin Behmanesh (خریدار محصول)

    سلام استاد وقت بخیر
    من هرچه سعی می کنم که طبق آموزش کیوی رو نصب کنم ارورهای قرمز رنگ بشرح زیر رو میده :
    ERROR: Command errored out with exit status 1:
    command: ‘C:\Users\Behmanesh\AppData\Local\Programs\Python\Python38\python.exe’ -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\Behmanesh\\AppData\\Local\\Temp\\pip-install-ckh_b3hv\\kivy\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\Behmanesh\\AppData\\Local\\Temp\\pip-install-ckh_b3hv\\kivy\\setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\Behmanesh\AppData\Local\Temp\pip-pip-egg-info-rw4cuh09’
    cwd: C:\Users\Behmanesh\AppData\Local\Temp\pip-install-ckh_b3hv\kivy\
    Complete output (395 lines):

    —————————————-
    ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

    • مصطفی آصفی

      سلام به شما. برای نصب کیوی از پایتون 3.7 استفاده کنید.

  163. رضا فرزانه پور

    سلام و درود
    ضمن عرض درودی و تشکر مجدد از شما و مجموعه هم رویش بابت فراهم نمودن این بستر،
    آقای آصفی بنده در زمان تخفیف بخش قابل توجهی از دوره های شما و سایر اساتید رو خریداری کردم و واقعا ممنونم از این فرصت تخفیف که با توجه یه منصفانه بودن قیمت دوره ها باز هم در اختیار کاربران قرار میدید
    ولی متاسفانه به علت عدم داشتن رمز پویا و یه سری مشکلات دیگه از خرید این دوره و یکسری از دوره های دیگر شما جا موندم و تا فرصت بعدی تخفیف هم نمیتونم صبر کنم ( برای دیدن آموزش های شما صبر جایز نیست )بنابراین اگر لطف کنید استثنا با توجه به اینکه مدت زیادی از تخفیف نگذشته به عنوان یه خریدار چندین دوره ، شما در مقام مدرس دوره یه کد تخفیف ۳۰ درصدی لطف کنید بدید( طبعا اگر درصد بیشتری هم باشه با توجه به بودجه دوره های بیشتری در لیست خریدم جا میگیره ) تا این دوره جامع کیوی و دوره جامع صفر تا صد برنامه نویسی پایتون شما رو هم خریداری کنم کمال تشکر رو دارم( قصد خرید چندین دوره رو دارم دانشجویی لطفا رفتار بشه:))
    با احترام

    • مصطفی آصفی

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

  164. سعید هاشمیان (خریدار محصول)

    سلام،
    خیلی ممنون از پاسخگویی شما.
    در مورد همون اسپلش آمورش میدید داخل این دوره ؟ حالا خیالم راحت شد خیلی ممنون از دوره خوبتون

    • مصطفی آصفی

      سلام سلامت باشید. مستقیم این مورد رو توضیح ندادم ولی در مورد شخصی سازی تنظیمات مشابه این صحبت شده. با توضیحی که داده شده اگر دوره رو کامل و با دقت ببینید با کمی کاوش می تونید تنظیم لازم در فایل بیلدوزر رو برای تغییر تصویر اسپلش (splash) انجام بدید یا به طور کلی اون عکس رو حذف کنید.

  165. سعید هاشمیان (خریدار محصول)

    چرا مثلا برنامه ای مثل واتساپ یا مثلا مایکت که با پایتون بخشی از اونها نوشته شده یا مثلا فیس بوک یا یوتیوب، تبلیغی ندارن ؟ در صورتی که ما معمولا اول برنامه هامون تبلیغ اون زبان برنامه نویسی یا کتابخونه اش رو داریم ؟
    بجز این دلیل که شاید لایسنس خریدن دلیل دیگه ای داره ؟

    • مصطفی آصفی

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

  166. سعید هاشمیان (خریدار محصول)

    سلام استاد عزیزم…
    خیلی ممنونم ممنون، زحمت کشیدید این دوره رو طراحی کردید.
    اما استاد عزیز وگرامی من، من که هدفم بسیار بسیار بزرگ هست و دارم تلاش می کنم با سایت خوب شما آموزش ببینم و در حد جهانی و بین المللی برنامه نویسی کنم …
    حالا بنده یه سوال دارم… استاد چرا از اول توضیحات نگفتید هر برنامه ای که با کیوی ساخته بشه اولش تبلیغ کیوی نمایان میشه ؟ استاد برای من 98 تومان پول زیادیه و وقت کافی ندارم چون حالا یه کارمندم و شب ها بعد اینکه خانواده می خوابند به آموزش مشغول میشوم ، منتها الان که اپ خروجی تون رو به طور اتفاقی دیدم، متوجه شدم اول برنامه های کیوی تبلیغ داره 🙁
    استاد من خیلی ناراحتم … و به همین دلیل دنبال این میگردم که به بنده کمک کنید تا یه جوری این تبلیغ رو حذف کنم 🙁
    استاد من خیلی ناراضی ام که چرا این اتفاق افتاده ، لطفا لطفا کمکم کنید، ممنونم که برا ما وقت میزارید…
    در ضمن نحوه آموزش دادن تون به قدری خوب بود که دیگه از سایت های مختلف دیگه آموزش نمیخرم و طرفدار شما شدم… ممنون

    • مصطفی آصفی

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

  167. فاطمه شاطری

    سلام استاد وقت به خیر
    با این آموزش میتونیم برنامه ایی مثل دیجی کالا درست کرد ؟؟
    و بیشتر آموزش تو لینوکس هستش یا ویندوز؟

    • مصطفی آصفی

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

      پی‌نوشت: این آموزش Django REST (+) در زمینه طراحی سرور و یک سیستم API با پایتون برای حرف زدن با سرور و داده‌های اون می تونه راهگشا باشه.

      پی‌نوست 2: آموزش در محیط ویندوز انجام شده اما برای خروجی گیری اندروید به لینوکس نیاز هست که در بخش های مربوط به این کار بنده یک لینوکس کنار ویندوز نصب کردم و کار رو گام به گام در این لینوکس برای خروجی گیری اندروید آموزش دادم.

  168. مهدی

    سلام و عرض احترام
    ممنون از زحماتتون برای ارائه آموزش های بسیار عالی شما.
    با عرض معذرت سرفصل هارو که نگاه میکردم چیزی با عنوان خروجی گرفتن ios ندیدم، تو این آموزش در این باره توضیحی وجود داره؟

    • مصطفی آصفی

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

  169. پوریا

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

    • مصطفی آصفی

      سلام مجدد. لطفا توضیحات دوره رو با دقت مطالعه کنید. این دوره از سه بخش تشکیل شده که پروژه نهایی در بخش سوم هست. روی لینک بخش سوم (اپلیکیشن نقشه گردشگری) کلیک کنید و فیلم معرفی و توضیحات اون رو با دقت بررسی کنید.
      در حقیقت شما هم می تونید این سه بسته رو جدا جدا دریافت کنید و هم به صورت یکجا در قالب این بسته جامع.

  170. پوریا

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

    • مصطفی آصفی

      سلام دوست عزیز. مقایسه فریمورک‌ها کار ساده‌ای نیست. بنده فقط پیشنهاد خودم رو برای شما می‌گم. شما حتما باز هم جستجو کنید اما وسواس نداشته باشید. از یکجایی باید شروع کنید که شاید بعدها همون مسیرتون بشه شاید هم عوض بشه.
      یه نکته جالب در این مورد اینه که حتی اگر تمام عوامل فنی یک فریمورک رو پیشنهاد کنند اما شما با کدنویسی در اون حس راحتی نکنید در نهایت باید کنارش بگذارید.
      پیشنهاد من اینه که شما با Django (+) و سپس Django REST (+) شروع کنید برای سمت سرورتون و API ها رو چنان که در بخش آخر همین آموزش جامع اشاره شده در Kivy پردازش کنید برای کاربران گوشی های هوشمند. برای کاربران وب هم ممکنه از خود جنگو یا React یا انگولار یا … استفاده کنید.
      بعدها ممکنه ترکیب اصلاح بشه. کاری که توسعه دهنده های اینستاگرام کردند هم همین بود. با جنگو در دو هفته نسخه اولیه رو بالا اوردند. الان اما اینستاگرام کنار جنگو از چندین فریمورک بهره می بره.
      در رابطه با ربات تلگرام می‌تونید این آموزش ساخت ربات تلگرام با پایتون (+) رو ببینید. تقریبا امروز همه نوع پروتوتایپینگ و پروژه های گوناگون با پایتون ممکن هست.

  171. مسیح

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

    • مصطفی آصفی

      سلام به شما. بله و ضمنا توجه کنید که بخش عمده کار این اپ‌ها سمت سرور هست.
      بخش اپلیکیشن کاربر رو می‌تونید با کیوی بزنید.
      بخش سرور که عملا داده‌های کاربر رو در خودش نگه می‌داره هم جداگانه باید کار بشه.
      که اگر بخواهید با پایتون بزنید توصیه می کنم آموزش جنگو (+) و بعد Django REST (+) رو ببینید.
      و یادتون باشه که زدن یک اپ پیام رسان حتی با دیدن این آموزش‌ها نیاز به تلاش زیادی داره.

  172. moradifardin171@gmail.com (خریدار محصول)

    پایتون ۳.۷ استفاده کردم

  173. moradifardin171@gmail.com (خریدار محصول)

    “C:\Users\smart land\PycharmProjects\ccc\venv\Scripts\python.exe” “C:/Users/smart land/PycharmProjects/ccc/cccapp/newapp.py”
    [INFO ] [Logger ] Record log in C:\Users\smart land\.kivy\logs\kivy_20-07-03_45.txt
    [INFO ] [deps ] Successfully imported “kivy_deps.gstreamer” 0.1.18
    [INFO ] [deps ] Successfully imported “kivy_deps.glew” 0.1.12
    [INFO ] [deps ] Successfully imported “kivy_deps.sdl2” 0.1.23
    [INFO ] [Kivy ] v1.11.1
    [INFO ] [Kivy ] Installed at “C:\Users\smart land\PycharmProjects\ccc\venv\lib\site-packages\kivy\__init__.py”
    [INFO ] [Python ] v3.7.4rc1 (tags/v3.7.4rc1:b26441ee1f, Jun 18 2019, 23:26:33) [MSC v.1916 64 bit (AMD64)]
    [INFO ] [Python ] Interpreter at “C:\Users\smart land\PycharmProjects\ccc\venv\Scripts\python.exe”
    [INFO ] [KivyMD ] v0.104.1
    [INFO ] [Factory ] 184 symbols loaded
    [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
    [INFO ] [Window ] Provider: sdl2

  174. moradifardin171@gmail.com (خریدار محصول)

    میشه از واتساپ یا تلگرام یا جای براتون عکس بفرستم

    • مصطفی آصفی

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

  175. moradifardin171@gmail.com (خریدار محصول)

    همه چی رو طبق اموزشها جلو بردم

  176. moradifardin171@gmail.com (خریدار محصول)

    جناب مهندس خطایی که میده
    process finished with exit code -1073741819 (0*c0000005)

    • مصطفی آصفی

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

  177. moradifardin171@gmail.com (خریدار محصول)

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

    • مصطفی آصفی

      سلام. سلامت باشید. لطفا خطایی که دریافت می کنید رو اینجا بنویسید (یا دست کم بخش اصلی اون رو) تا بتونم راهنمایی کنم. راستی یادتون باشه که در حال حاضر کیوی رو باید با پایتون 3.7 استفاده کنید. با پایتون 3.8 باگ داره.

  178. محمد امین شریفی

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

    • مصطفی آصفی

      سلام به شما. بعد از خرید لینک دانلود رو در حساب کاربری و ایمیل ثبت نامی خواهید داشت.
      در مورد کیوی باید بگم جذابیت و اولویت توسعه کیوی از دو نظر قابل بحثه: 1- برنامه نویسی پایتون 2- توسعه کراس پلتفرم یا چندسکویی

      توضیح 1: زبان پایتون ساده نویس، منعطف و دارای کتابخونه های زیادی در حوزه های مختلف از علوم و مهندسی گرفته تا هوش مصنوعی و … هست. اگه شما پایتون کار باشید توسعه با کیوی برای ساختن اپ گزینه اول محسوب میشه. این که بشه یک اپ ساخت که مثلا از پردازش تصویر و کتایخونه های پایتون در این زمینه بهره می بره گزینه چذابیه. و …
      اگه پایتون کار نیستید، برای آموختن سریع پایتون این آموزش رایگان پایتون (+) و برای آموختن عمیق و تمرین روزانه این آموزش مقدماتی تا پیشرفته پایتون (+) رو ببینید.

      توضیح 2: اگه لازمه اپلیکیشن شما حالا یا در آینده روی چند سکو (اندروید، iOS و دسکتاپ) کار کنه در این صورت انتخاب یک پلتفرم توسعه چندسکویی راهکار خوبیه و کیوی در این زمینه گزینه مناسبیه. اما اگر شما یک اپ تجاری می خواید که فقط روی اندروید کار کنه و در برنامه نویسی سطح آشناییتون با جاوا/کاتلین و پایتون یک اندازه هست در این صورت با اندروید استودیو و مثلا این آموزش اندروید با کاتلین (+) شروع کنید بهتره.

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

  179. محمدحسين فدوي اميري

    خیلی خیلی ممنونم از اموزش کیوی.
    خیلی وقت بود دنبالش بودم

    • مصطفی آصفی

      سلام و ممنون از محبت شما. امیدوارم تاثیر مفیدی در آینده حرفه‌ای عزیزان داشته باشه

  180. Codmusic.ir@gmail.com

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

    • مصطفی آصفی

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

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