خانه Android, Android Studio, آموزش های پروژه محور, اپلیکیشن دیوار, اندروید, فیلم آموزشی فصل چهارم: آموزش کامل ساخت اپلیکیشن دیوار اندروید

فصل چهارم: آموزش کامل ساخت اپلیکیشن دیوار اندروید

آموزش برنامه نویسی اندروید – ارتباط با سرور

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

  • کار با دیتابیس MySQL ، برنامه نویسی PHP و تولید داده های JSON ، آپلود سایت روی هاست
  • نکات ساده در برنامه نویسی اندروید مثل راست به چپ کردن برنامه یا تغییر رنگ متون و …
  • نحوه کار با ListView در حالت پیشرفته تر (Custom ListView)
  • پیاده سازی نخ پس زمینه (Background Thread)
  • نحوه دریافت داده از سرور در قالب JSON ، تجزیه فایل های JSON
  • مدیریت Layout ها ، پیاده سازی قابلیت Infinite Scroll در دریافت داده ها ( شاید همون Lazy Load)
  • پیاده سازی Alert شخصی سازی شده ، کار با فایل ها (File) و جریان ها (Stream)
  • کار با تصاویر (Bitmap) ، انتخاب تصویر برای آگهی به وسیله دوربین و انتخاب از گالری
  • کد کردن تصاویر و ارسال به سرور ، دیکد کردن داده ها در سمت سرور و ساختن تصویر از روی کد
  • خطایابی برنامه ، ایجاد فایل APK نهایی از پروژه
  • معرفی مقدماتی کتابخانه Volley برای ارتباط با سرور
  • و نکات کوچیک دیگه …

برنامه نهایی قابلیت نمایش آگهی ها بصورت کلی و بصورت دسته بندی شده رو داره و میشه که از داخل برنامه آگهی درج بشه ضمن اینکه این برنامه برای اندروید ۵٫۱ ینی لالی پاپ ساخته شده.

 

divar2

 

نکته ۱: برای آشنایی بیشتر با این مجموعه ، فصل اول مجموعه رو از فصل اول پکیج آموزش اندروید (۲۰۱۶) دریافت و مشاهده بفرمایید.

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

لینک دانلود:

دانلود قسمت اول و دوم ، فصل چهارم

دانلود فصل اول پکیج آموزش اندروید (۲۰۱۶) با لینک مستقیم


پرداخت آنلاین و دانلود فوری:

زمان: ۱۱ ساعت و ۳۰ دقیقه
حجم فایل زیپ: ۱٫۹۵ گیگابایت

قیمت: ۲۵۰۰۰ تومان ۲۰ درصد تخفیف ۱۹۰۰۰تومان

19000 تومان – خرید ...

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

نکته: برای دریافت پکیج کامل اندروید با تخفیف ویژه کلیک بفرمایید:

  پکیج کامل آموزش برنامه نویسی اندروید ۲۰۱۶

 

پیشنهاد میکنیم
دیدگاه ها
  1. محمد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  2. محمد رضا گفت:

    سلام

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

  3. پرتو گفت:

    با سلام
    ممنون از مطالب خوبتون.

  4. حمید گفت:

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

  5. امیر گفت:

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

  6. من گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      اما در مورد مشکلات: صفحه یه دفه اسکرول نمیشه به سمت بالا بلکه زمانی که شما به سمت پایین اسکرول کنین برای دریافت داده های جدید و اضافه کردنشون به لیست قبلی، لیست ویو از نو بارگذاری میشه و برای همین از ابتدا مرور میشه و این ایراد نیست بلکه جزو برنامس!! البته میتونین با تکنیک خیلی ساده ای از بارگذاری مجدد لیست ویو جلوگیری کنین و داده های جدید رو به لیست ویو append کنین.

      در مورد مشکل دوم هم متوجه نشدم که همه انواع ینی کدوم قسمت؟ اگه منظورتون دسته بندی هستش، تو سمت سرور کلاً ۵ دسته تعریف شده که در زمان درج آگهی هم دیده میشه (ممکنه لیست دسته بندی در صفحه درج آگهی نیاز به اسکرول داشته باشه و شما همه رو ندیده باشین)

      و اما در مورد قیمتش، من مسئول نیستم!

  7. Ali گفت:

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

    تشکر

  8. میلاد گفت:

    سلام استاد.برنامه تون فقط روی اندروید ۵ به بالا نصب میشه در صورتی اکثر تلفن های همراه از اندروید ۴ بهره مند هستند.بهتر نبود برنامه رو برای اندروید ۴ پیاده می کردین؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

      پ.ن: این جمله آخری رو خودم زیاد نگرفتم چی شد…

      • امید گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

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

  9. احمد گفت:

    سلام

    آقا الان ما میتونیم با دیدن این آموزش یه چنین برنامه ای برای آندروید ۲٫۲ به بالا بنویسیم ؟!؟!

    آخه ۱ درصد از آندروید ۵ استفاده می کنند !!!

    • متیما یوسفی راد گفت:

      درود بر شما

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

  10. کمیل گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • کمیل گفت:

        پس با توجه به طولانی شدن زمان اتمام پروژه به نظرم اگر به صورت قسمت به قسمت آموزش را تهیه کنم بهتر باشد

        • متیما یوسفی راد گفت:

          درود بر شما

          خرید فصل های آموزشی بر حسب نیاز بنظرم کار خوبیه. چون این مجموعه اندروید در نهایت ممکنه بالای ۵۰ یا ۶۰ ساعت فیلم رو در خودش داشته باشه که برخی قسمتاش بکارتون نیاد.

  11. پدرام گفت:

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

  12. محمد رضا گفت:

    سلام

    برای این آموزش بخش ثبت نام در نظر نگرفتین ؟

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  13. محمدامین گفت:

    با سلام استادان گرامی

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

  14. امیر گفت:

    سلام ٰخسته نباشید ببخشید من برنامه رو دانلود کردم ولی قسمت دسته بندی و شهر رو داخلش ندیدم می خواستم ببینم اون برنامه برنامه نهایی هستش یا نه ؟ این ضسمتها بهش اضافه میشه بعد جست و جو و فیلترینگ دراین مباحث نبود لطفا راهنمایی کنید که برای انتخاب دسته بندی یا شهری خاص چه کوئری زده میشه ؟داخل این برنامه هست یا نه ؟ بعد فایل ۵٫۱ مثل اینکه مشکل داره و نصب نمیشه لطفا تست کنید ٰ ممنون

    • متیما یوسفی راد گفت:

      درود بر شما

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

      فایل ۵٫۱ هم برای اندروید ۵٫۱ هستش. دقت کنین که با ورژن اندروید شما سازگار باشه.

  15. محمد رضا گفت:

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

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • محمد رضا گفت:

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

        با این تفاسیر چطور گفتین مثل دیوار چرا x نه یا y ( بر چه اساس گفتین مثل دیوار )

        به هر حال قضاوت با خواننده های محترم

        • متیما یوسفی راد گفت:

          درود بر شما

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

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

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

          منظور از x و y رو نگرفتم. بهتره که متن پست رو دوباره بخونین تا اساس موردنظر رو متوجه بشین:

          آموزش برنامه نویسی اندروید – ارتباط با سرور

          در این مجموعه برنامه ای مشابه دیوار رو پیاده سازی خواهیم کرد …

          اما نکته ای که بنظرم شما باید قبل از ثبت نظر بهش دقت میکردین اینه که این برنامه قرار نیست در جایی ازش استفاده بشه بلکه برای آموزش نکات برنامه نویسی اندروید در قالب پروژه هستش. دقت کنین: آموزش! پس نیازی نیست که همه گزینه های موجود در اذهان عمومی وارد برنامه بشه. دلیل لیست کردن نکات موجود در مجموعه هم همینه که شما با توجه به نیازتون مجموعه آموزشی رو تهیه کنین.

          “به هر حال قضاوت با خواننده های محترم” … خیلی سخت گرفتین!!! یاد سایتای پاسخ به شبهات دینی افتادم.

  16. محمد رضا گفت:

    خوب اگه خودمون میتونستیم بنویسیم که دیگه نمیخریدیم

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      اما برای مسئله ای که گفتین خیلی سادس: داده ها رو در یه جایی به اسم دیتابیس ذخیره میکنیم و در دفعات بعدی از دیتابیس بارگذاری میکنیم. من بحث دیتابیس sqlite رو در فصل اول آموزش دادم (کار با خود sqlite نه اندروید) و کار با دیتابیس در اندروید رو در فصل دوم. در مجموعه های آینده هم بحث دیتابیس ادامه خواهد داشت.

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

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

      اما نکته آخر: دقت کنین که این مجموعه در حال کامل شدن هست. چندین فصل دیگه قراره آماده بشن که داخل اونها همین بحث لاگین بالاجبار مطرح خواهد شد. خب اگه من اینجا هم بحث لاگین رو بگم و در مجموعه مربوط به آموزش برنامه چت هم بحث رو دوباره بگم، خود شما به مجموعه نهایی ایراد نمیگیرین که چرا تو این مجموعه ۳ یا ۴ مرتبه فقط یه بحث رو آموزش دادین؟ مجموعه ای که با ۴۰ ساعت میشه تمومش کرد چرا شده ۹۰ ساعت؟؟

      پ.ن: برای من زمان از هر چیزی مهمتر هستش و بخاطر همینه که همیشه تو حرفام کلمات وقت و زمان رو میبینین!!

      • محمد رضا گفت:

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

        منتظر آموزشهای بعدی هستم ( زود آمادشون کن )

  17. salar گفت:

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

  18. محمدامین گفت:

    سلام استاد

    فصل بعدی کی تموم میشه؟

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

  20. مهدی گفت:

    در محیط اکلیپس هست یا اندروید استودیو
    ؟

  21. مهدی گفت:

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

  22. فرهاد گفت:

    سلام
    فایل اجرایی برنامه رو لطفا بزارید.
    لینک فصل اول ودوم کار نمیکنه که از اونجا دانلودش کنم

  23. مهدی گفت:

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

    • متیما یوسفی راد گفت:

      در مورد آموزش json من نمیدونم باید چی رو یاد بدم؟؟ json یه فایل هستش که داده ها داخلش طبقه بندی شدن. همین. نحوه تولیدش هم همونی هستش که داخل آموزش ها گفتم. من کجای ویدئو ها گفتم که فارسی رو ساپورت نمیکنه؟؟ اون قسمت رو بهم بگین تا حذفش کنم. اشتباه من تو آموزش ها این بود که فایل های php رو با استاندارد ANSI ذخیره کردم و دلیل اینکارم هم سرور نامناسبی بود که داشتم. (قرار بود مدیر سایت سرور بدن بهم)

      اما یه نکته؛ شما از اینهمه آموزش (۱۱ ساعت) فقط به یه فارسی بودن یا نبودن نیاز داشتین؟؟ اینکه شما حتی نمیتونین یه مشکل کوچیک در برنامه خودتون رو حل کنین جای تأسف داره. آموزش پروژه محور برای کسی خوبه که یه آشنایی مقدماتی با برنامه نویسی و نحوه جستجو تو اینترنت داشته باشه و همینطور توانایی مطالعه منابع زبان اصلی رو داشته باشه. برای مبتدی ها بنظرم یه سایت تمرین برنامه نویسی رو اگه مشاهده کنن بهتره. لطفاً قبل از خرید مجموعه ها از فایل های پیش نمایش و برنامه نمونه استفاده کنین تا بعد از خرید پشیمون نشید. الان هم مشکل سرور رو تا حدودی رفع کردم و فایل های با استاندارد UTF-8 without BOM رو ساپورت میکنه.

      پ ن: بزودی ویدئوی رفع اشکال برای این مجموعه آماده میشه و دو نکته ای که جا افتاده رو اضافه میکنم.

  24. مهدی گفت:

    با گذاشتن این کد با بالای کد هاتون جیسون رو درست میکنید
    در ضمن اگه encoding utf-8 باشه
    مشکلی نداره
    در فارسی

    • متیما یوسفی راد گفت:

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

      برای اینکه داده های فارسی در فایل json درج بشن، برای فایل های php در سمت سرور، استاندارد utf-8 خوبه ولی بخاطر اینکه بعضی سرور ها باهاش مشکل دارن باید UTF-8 without BOM باشه.

  25. حسین شامخی گفت:

    سلام..
    توی سری آموزش های اندروید ، اموزش سوکت و چت بین سرور و کلاینت رو هم دارین ؟

    • متیما یوسفی راد گفت:

      درود بر شما

      بزودی این مبحث رو تموم میکنم و در سایت قرار میگیره

    • مدیر گفت:

      درود بر شما
      فصل بعدی مجموعه اندروید ۲۰۱۶ ، آموزش پروژه محور برنامه چت توسط سوکت هستش. این فصل حدودا اوایل ماه آینده آماده و منتشر خواهد شد.

  26. اسماعیل گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

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

  27. حميد گفت:

    با سلام
    من دمو رو دانلود کردم یعنی فایل apk نصب میکنم باز نمیشه بیشتر گوشی ها با اندروید ۴ هست لطفا به اندروید ۴ تبدیل کنید و فایل نهایی رو قرار دهید.
    در غیر اینصورت عکس از دمو بگذارید
    با تشکر

  28. mohammad گفت:

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

  29. مهدی گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      این حرفتون رو قبول دارم که eclipse ابزار ساده و قابل فهم تری هستش ولی یادگیری اندروید استودیو هم با کمی تلاش امکان پذیره. امکاناتی که تو اندروید استودیو هستش ارزش کمی گیج شدن و تلاش کردن رو داره. ضمن اینکه برنامه نویس های با تجربه بیشتر بر حسب عادت با Eclipse کار میکنن. اندروید استودیو کلاً ۳ یا ۴ تفاوت اصلی با روند برنامه نویسی در eclipse داره و ظاهرش هم کمی مرتب تره. در نهایت کدی که نوشته میشه در هر دو محیط یکسان هستش. اما در مورد آخرین ورژن اندروید که فرمودین؛ هدف این مجموعه آموزشی معرفی امکانات جدید و کتابخانه های کاربردی هستش که به تازگی معرفی شده. به هر حال در کنار فیلم آموزشی، کاربر هم باید کمی مطالعه داشته باشه. به همین دلیل هستش که من منابع مختلف رو در فیلم ها معرفی میکنم یا اینکه داخل پکیج کتاب هایی رو قرار میدم.

  30. پسر ايران گفت:

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

  31. سردار گفت:

    سلام
    ضمن عرض خسته نباشید من قصد خرید پکیج کامل اندروید۲۰۱۶ رو دارم . نمیخواهم تکه نکه دانلود و خرید کنم لطفا راهنمایی کنید چطور میشه پکیج رو برام ارسال کنید
    با تشکر

  32. علی گفت:

    سلام من همین پروژه ی شمارو وارد اندروید استودیو کردم ولی مشکلی که دارم اینه که اکتویتی ها رو نمیاره. ینی اصلا مثل پکیج های دیگه نیست که یه فولدر app بیاره و وقتی اون رو زدی فایل منیفست و فایل های دیگه که مربوط هستن به کلاس ها رو بیاره
    مشکل از کجاست؟
    ممنون میشم راهنمایی کنید

    • متیما یوسفی راد گفت:

      درود بر شما

      این پروژه در اندروید استودیو ورژن ۱٫۳ نوشته شده. احتمالاً شما از ۱٫۴ استفاده میکنین. از گزینه Import Project from eclipse , gradle استفاده کنین.

  33. محمود گفت:

    سلام

    با عرض سلام و خسته نباشید من قصد خریداری این آموزش را دارم و به صورت مقدماتی با اندروید آشنا هستم تا اونجایی که تونستم یک کتاب داستان کوتاه بسازم و اونم به صورت ساده که هیچ امکاناتی نداره و تازگیا قابلیت اشتراک گذاری رو بهش اضاف کردم اینم لینک دانلودش در بازار :
    https://cafebazaar.ir/app/ir.vvs.mahmoodonline_m/?l=fa
    دوستان دان کنن و نظرات خودشونو ثب کنن
    خلاصه سرتونو به درد نیارم من فقط چند تا سوال داشتم:
    ۱-آیا با این آموزش میتونم برنامه ای مثل دیوار یا مشابه آن بسازم؟ (شما تضمین می کنید؟)

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

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      ۲) در مورد ظاهر که مسئله سلیقه ای هستش و من اصلاً روی ظاهر برنامه کار نکردم. با چند تا آیکون و چند مورد ترکیب رنگ میشه برنامه رو زیر و رو کرد. اما در مورد تایپ فارسی، باید چی آموزش داده بشه؟ در این برنامه متن فارسی هم وجود داره: در دسته بندی game آخرین مورد. این آموزش اختصاص داره به نوشتن یه برنامه که قراره با سرور ارتباط داشته باشه و داده هایی رو ارسال و دریافت بکنه ولی خب برنامه نویسی php و امکانات مختلف خود اندروید هم مورد بحث قرار میگیرن.

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

  34. محمود گفت:

    ممنون از راهنمایی شما
    التماس دعا

  35. علی گفت:

    سلام استاد عزیز . یه راهنمایی کوچیک میخام ازتون . تمام برنامم لنگ این یکیه. خیلی کلافه شدم . گفتم جسارت کنم به شما بگم . چجوری میشه فایل PDF و یا Word (یا هر فایل نوشتاری ) رو از کارت حافظه یا حافظه داخلی گوشی خوند و اونو به آدرسی که میخایم ایمیل کنیم ؟ ممنون

  36. علی گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      اگه هدفتون اینه که کاربر برنامه شما رو نصب کنه و بتونه واستون فایلی رو بفرسته، میتونین داخل برنامه یه فرم درست کنین که طرف اول ایمیل و نام و موضوع و … رو وارد کنه و بعد فایل رو انتخاب کنه. در آخر ایمیل ارسال بشه و مشخصات شخص هم به همراه فایل فرستاده بشه.

  37. سعید گفت:

    سلام
    ایا این امکان هم درش هست که با پرداخت مبلغ از طرف اگهی دهنده ,, آگهی بصورت فوری نمایش داده بشه (مثل حالت فوری و حالت نردبان در دیوار)

    من اموزشی نیاز دارم که طرف مقابل بتونه از داخل برنامه مثلا مبلغی پرداخت کنه بعد از پرداخت موفق مثلا بخشی از برنامه نمایش داده بشه یا برچسب مثلا فوری برای آگهی طرف زده بشه
    ممنون میشم راهنمایی کنید این اموزش از کجا می تونم تهیه کنم یا کدام پکیج از سایتتون بخرم
    برنامه نویسی ساده اندروید بلد هستم (مثل نمایش عکس یا نمایش یک سایت با WEBVIEW , …)

    • متیما یوسفی راد گفت:

      درود بر شما

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

      متأسفانه من مجموعه ای که برنامه موردنظر شما رو آموزش داده باشه (منظورم جزئیات هستش) نمیشناسم.

  38. ehsan گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      مجموعه کامل بزودی در سایت درج میشه (احتمالاً تا پایان همین هفته). قیمت هم حدوداً میشه ۴۵ تا ۶۰ تومن

  39. علی گفت:

    سلام
    ببخشید نمونه برنامه ای از این پروژه رو قرار نمیدین تا ببینیم آخر کار برنامه به چه نحوی خواهد شد؟

  40. حسن گفت:

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

  41. امید گفت:

    با سلام

    من پکیج رو خریدم اما ایمیل نشد برام

    ممنون میشم لینک ها رو میل کنید

    شناسه پرداخت: ۹۲۳۷۱۳۴

  42. مرتضی گفت:

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

    • مدیر گفت:

      درود بر شما
      برای دریافت پکیج کامل به صورت یکجا کلیک بفرمایید.
      لازم به ذکره تا آماده شدن دی وی دی اورجینال این محصول تا تاریخ ۱۳۹۴/۰۹/۲۸ ، محصول فقط به صورت دانلودی قابل دریافت هستش.

      • مرتضی گفت:

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

        • مدیر گفت:

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

        • مرتضی گفت:

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

        • مدیر گفت:

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

  43. پدرام گفت:

    سلام و خسته نباشید
    میخوستم بدونم اگر بخوام برنامه بعد از نصب از کاربر بخواد یک سری دیتا شامل عکس و متن رو دانلود کنه بعدش توی ی پوشه مشخص بریزه.. بعدش بر اساس فایل های دانلود شده یک لیست ویو نشون بده.. تقربا مثل بازی ها که وقتی نسخه اصلیشونو میخریم میگن که باید فایل های بازی رو دانلود کنیم یا مثل واتس اپ وقتی عکسی یا فیلمی رو دانلود میکنیم یک پوشه میسازه و فایل هارو انتقال میده// امیدوارم درست توضیح داده باشم :D
    برای همچین کاری باید چکار کرد؟
    ممنون از وقتتون

    • متیما یوسفی راد گفت:

      درود بر شما

      در همون ابتدا که برنامه نصب میشه و اجرا میشه، یه هشدار نشون میدین که باید یکسری فایل دانلود بشه. بعد از تأیید کاربر، فایل ها رو دانلود میکنین (شیوه دانلود در فصل ۴) و داخل پوشه cache مربوط به برنامه قرار میدین. بعد باید فایل ها رو جابجا کنین. دستور ساختن پوشه جدید mkdir و کپی کردن هم به کمک fileInputStream و FileOutputStream و .. که در فصل ۵ و ۶ بررسی شده. میتونین با گرفتن نام همه فایل های دانلود شده و همینطور حجم و مشخصات دیگه هر فایل، اونها رو داخل یه لیست ویو نمایش بدین. به همین سادگی!

      • پدرام گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

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

  44. shima گفت:

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

    • مدیر گفت:

      درود بر شما
      لینک دانلود امکان Pause شدن داره. هر زمانی که لازم بود میتونید لینک رو Stop و ادامش رو در زمان مناسب دریافت بفرمایید.

  45. علی گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • علی گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

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

  46. javad گفت:

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

  47. جواد گفت:

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

  48. تیرداد گفت:

    میخوام بدونم تو این آموزشتون ، نحوه ی ارسال اطلاعات از اپلیکیشن اندروید ، به سرور وجود داره ؟
    میشه از تو اپلیکیشن ، تو تیبل Mysql اطلاعات رو Insert یا update کرد ؟؟؟؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • تیرداد گفت:

        خیلی ممنون از جواب ،
        حتما فصل ۶ رو هم تهیه میکنم
        ————–
        ببخشید یک سوال دیکه داشتم از خدمت تون
        در ارسال اصلاعات از سرور به اپلیکیشن و یا بالعکس از اپلیکیشن به سرور ،
        محدودیتی در صورت طولانی بودن متن Json وجود نداره ؟
        اگه تیبل mysql مثلا صد هزار تا ROW هم داشته باشه ، بدون مشکل منتقل میشه ؟؟

        • متیما یوسفی راد گفت:

          درود بر شما

          داده های json در اصل داخل یه فایل هستن و بسته به سرعت اینترنت اون فایل دانلود میشه و شما میتونین اون رو تجزیه کنین. ینی اونیکه از سرور دریافت میشه فایل json هستش پس محدودیت در تعداد رکورد نداره. ولی خب باید تعداد رکورد ها رو طوری تنظیم کرد که در یک لحظه، حجم وسیعی از داده ها به موبایل نیاد چون موبایل توانایی پردازش ۱ میلیون رکورد رو نداره (منظورم تعداد زیادی از رکورد هاس).

  49. آرمان گفت:

    سلام خسته نباشید میشه همین آموزش رو با asp.net mvc درست کنید ؟

    • متیما یوسفی راد گفت:

      درود بر شما

      در این آموزش بحث برنامه نویسی سمت سرور زیاد پیچیده نیست. برنامه فقط قراره داده ها رو در قالب json به خروجی بفرسته و یه سری داده هم در قالب متد post یا get دریافت و در دیتابیس ذخیره کنه. پس پیاده سازی برنامه سمت سرور با هر زبانی (php و python و java و …) از یه روال خاص و مشخص پیروی میکنه. با یه آشنایی مختصر با asp.net میتونین این برنامه رو پیاده سازی کِنین.

  50. علی گفت:

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

  51. مصیب گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  52. reza گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  53. ذبیح گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      در این آموزش ها فقط از اندروید استودیو برای کدنویسی استفاده شده. تنها تفاوت عمده اندروید استودیو با eclipse در اضافه کردن کتابخونه به پروژه هستش که اگه شما این رو در ایکلیپس بلد باشین، با آموزش ها مشکلی نخواهید داشت. شما تو هر ورژنی که دلتون بخواد میتونین برنامه بنویسین و دلیل استفاده از API 20 به بالا فقط برای اینه که تغییرات ورژن های متفاوت بررسی بشن.

  54. Milad Baz Saz گفت:

    سلام استاد خسته نباشید

    من چند روزی هستش آموزشتون رو دانلود کردم مو به مو کد هایی که شما وارد کردید رو وارد کردم داخل هم سرور هم Android Studio برنامه رو که باز میکنم با ارور Unfortunately , My Applicaton has stopped مواجه میشم

    خط ارور که قرمز می نویسه هم این هست

    ۰۱-۲۱ ۱۲:۰۳:۳۵٫۰۲۴ ۲۲۰۹-۲۲۲۴/com.example.miladbazisaz.myapplication E/AndroidRuntime: FATAL EXCEPTION: Thread-120
    Process: com.example.miladbazisaz.myapplication, PID: 2209
    android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
    at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6556)
    at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:907)
    at android.view.View.requestLayout(View.java:18722)
    at android.view.View.requestLayout(View.java:18722)
    at android.view.View.requestLayout(View.java:18722)
    at android.view.View.requestLayout(View.java:18722)
    at android.view.View.requestLayout(View.java:18722)
    at android.view.View.requestLayout(View.java:18722)
    at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:360)
    at android.view.View.requestLayout(View.java:18722)
    at android.widget.AbsListView.requestLayout(AbsListView.java:1975)
    at android.widget.ListView.setAdapter(ListView.java:519)
    at com.example.miladbazisaz.myapplication.MainActivity$1.run(MainActivity.java:50)
    at java.lang.Thread.run(Thread.java:818)
    ۰۱-۲۱ ۱۲:۰۳:۳۵٫۱۳۵ ۲۲۰۹-۲۲۲۶/com.example.miladbazisaz.myapplication E/Surface: getSlotFromBufferLocked: unknown buffer: 0xab7ceab0

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

    خواهش میکنم کمکم کنید ممنون استاد.

    • متیما یوسفی راد گفت:

      درود بر شما

      احتمالاً مشکل از نخ هستش. بهتره بجای استفاده از Thread بصورت عادی، از نخ زمینه استفاده کنین.

      ضمنا سعی کنین ارسال و دریافت اطلاعات رو با یه کتابخونه مثلاً volley پیاده سازی کنین. اینطوری خطایابی برنامه ساده تر میشه.

      • Milad Bazi Saz گفت:

        ممنون استاد ممنون بابت راهنماییتون
        ببخشید می خواستم که ببینم امکان داره با TeamViewer بیاید داخل لب تاپ من؟
        Android Studio نصب هست و سرور هم خرید کردم دارم
        فقط میخوام شما App رو به Server وصل کنید اطلاعات رو دریافت کنه چون واقعا کلافه شدم !
        هر چه قدر هم هزینش باشه می پردازم فقط شما کمکم کنید ۱ ماهه واسه اتصال برنامه به سرور پول خرج کردم به هیچ جایی نرسیدم. فقط میخوام برنامه به سرور متصل شه و اطلاعات رو بگیره همین و بس !
        ممنون میشم کمکم کنید تشکر
        اگه خواستید ایمیل بزنید من منتظرم mr.miladbazisaz@gmail.com
        اگه هم امکانش رو ندارید لطفا یکی رو معرفی کنین که بتونه این کاره منو راه بندازه
        ممنون استاد

        • متیما یوسفی راد گفت:

          درود بر شما

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

  55. رضا گفت:

    با سلام
    در صورت امکان apk رو برام ایمیل کنید
    apk داخل سایت رو که دانلود می کنم موقع نصب خطای
    There is a problem parsing apk میده
    متشکر

    • متیما یوسفی راد گفت:

      درود بر شما

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

  56. سید گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      cpanel رو باید خریداری کنین. ینی در اصل باید هاست بخرین. بعد میتونین از سیستم cpanel استفاده کنین.

  57. uncoandroid گفت:

    با سلام ..
    میخواستم بدونم که این آموزش ِ شبیه ساز دیوار , قابلیت کش کردن اطلاعات رو داره ؟؟
    یعنی بعد ازین که برای اولین بار برنامه رو ران کردیم شاهد پر شدن اطلاعات از سمت سرور هستیم که با نشان دادن یک loading این کار رو شبیه سازی میکنیم .. سوالم اینجاست وقتی رو هر آیتم لیست ویوو وقتی کلیک کنیم و اگر دوباره back بزنیم آیا دوباره از سرور دستور پر کردن اطلاعات و نشان دادن loading رو خواهیم دید یا این که اطلاعات کش شده هستند ؟؟

    • متیما یوسفی راد گفت:

      درود بر شما

      این مورد رو من یادم رفته بود بذارم. زمانیکه در اکتیویتی موردنظر هستین، اطلاعات دریافت میشن و داخل حافظه ذخیره میشن و در زمان خروج از اکتیویتی با یه تابع clean تمام داده های قبلی حذف میشن. این هم خلاقیت من!!!!

  58. unco گفت:

    درود..
    ی سوال دیگه :))
    تو این آموزش دیوار قابلیت جستو جو و علاقه مندی ها هم وجود داره ؟؟

    • متیما یوسفی راد گفت:

      درود بر شما

      خیر. این گزینه ها در فصل ۵ بررسی شده. ضمناً پیاده سازی این مباحث خیلی سادس و با توجه به مباحث مطرح شده میتونین این گزینه ها رو هم بسازین.

  59. حامد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      ۱) شما میتونین در ابتدا لیست دسته بندی اصلی رو دریافت کنین و وقتی یه گزینه انتخاب شد، اون گزینه رو به سرور بفرستین و زیر دسته رو دریافت کنین و نمایش بدین و به همین ترتیب.
      ۲) از هر دو گزینه میشه استفاده کرد ولی فراگمنت خیلی راحت تره.
      ۳) باید بحث کار با انیمیشن ها رو یاد بگیرین. میتونین هر ایفکتی که دلتون خواست رو به برنامه اعمال کنین.

  60. هادی گفت:

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

  61. نیلوفر گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  62. shahram گفت:

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

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

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  63. مصطفی گفت:

    سلام .یه برنامه مثل دیوار میخوام که ایده روش پیاده کنم چطور میتونم گیر بیارم۰۹۳۷۳۶۱۳۱۱۳

  64. علی گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      دقیقاً مشکل کجاست؟ تو کدوم بخش آموزش؟

      • علی گفت:

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

      • علی گفت:

        ۰۳-۱۲ ۱۷:۵۷:۰۳٫۹۵۹: I/matimesage(2696): error in JSONDownloder in downloadURL->java.lang.ClassCastException: libcore.net.http.HttpURLConnectionImpl cannot be cast to javax.net.ssl.HttpsURLConnection
        این خطا رو هم گیر اوردم

        • متیما یوسفی راد گفت:

          درود بر شما

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

        • ali گفت:

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

        • متیما یوسفی راد گفت:

          درود دوباره

          اگه از سرور مجازی استفاده میکنین باید حتماً از ip مخصوص استفاده کنین. لینک عادی کار نمیکنه.

        • نیلوفر گفت:

          من هم دقیقا این مشکل رو دارم ، آی پی مخصوص رو سرچ کردم ۱۰٫۰٫۲٫۲ رو میاره
          private final String url_cat = “http://10.0.2.2:8080/iprogram/get_cat.php”;
          ولی باز هم قسمت ارور لیسنر اجرا میشه.
          ممکنه در فایل php مشکلی در قسمت تعریف hostname یا sitename باشه ؟؟؟ نکنه اون ها هم باید به شکل دیگه ای تعریف بشن یا چیز مخصوصی داشته باشند؟؟ در این مورد چیزی در اینترنت پیدا نکردم خواهش میکنم توضیح بدین

        • متیما یوسفی راد گفت:

          درود بر شما

          از شبیه ساز NOX استفاده کنین.

  65. علی گفت:

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

  66. مرتضی گفت:

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

    فقط چند تا سوال داشتم ممنون میشم جواب بدید :

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

    ۲- چطوری میتونیم یه دکمه لایک برای هر ایتم بزارم تا هر کاربر وقتی روی اون کلیک کرد براش لایک بخوره و همه کاربرا هم ببینند ( یعنی یه قسمت به اسم پرطرفدار باشه که توش ایتم های که زیاد لایک خورده نمایش بده)

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

    با تشکر از شما استاد عزیز
    خدانگهدارتان

    • متیما یوسفی راد گفت:

      درود بر شما

      ۱) میتونین یه دیتابیس تو برنامه تعریف کنین و داده های دریافتی رو داخلش ذخیره کنین و در دفعات بعدی که برنام باز میشه چک کنین که اگه داده ها داخل دیتابیس هستند، از دیتابیس خونده بشن و از اینترنت دریافت نشن.

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

  67. بهروز گفت:

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

  68. هاشم گفت:

    با سلام
    ببخشید اقای یوسفی برای این که ارتباط با سرور کار کنیم. چه جوری می تونم با استفاده از کابل usb و به وسیله hotspot گوشی یک شبکه ایجاد کنم که گوشی از شبکه local مثل wamp و zamp استفاده کنه به عنوان سرورش؟ قبلا این کار و انجام دادم ولی یادم نیست یا اگه روش دیگه ای هم باشه که بشه این کار و انجام داد

  69. حامد گفت:

    سلام خسته نباشید

    چطوری با این کدی که شما گفتید میشه توی دانلود عکس مقداری برای پروگرس بار گرفت
    “publishProgress”

    • متیما یوسفی راد گفت:

      درود بر شما

      میتونین قبل از دانلود فایل، حجم فایل رو بگیرین و بر اساس حجم فایل پروگرس بار رو جلو ببرین. ینی در ابتدا میدونین که یه فایل ۲ مگابایتی قراره دریافت بشه پروگرس بار صفر. وقتی میرسه به ۱ مگابایت پروگرس بار باید بشه ۵۰% و همینطور. بنظرم از یه تصویر متحرک استفاده کنین جالب تره.

  70. علی گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      در آدرس نصب برنامه اندروید استودیو، در پوشه bin فایل studio64 رو اجرا کنین تا از نسخه ۶۴ بیت برنامه استفاده کنین. سرعتش بیشتره. اما در مورد گریدل نباید از کار بندازینش چون پروژه شما بهش وابسته هستش. باید ببینین چه خطایی میده و خطا رو رفع کنین.

  71. ali گفت:

    اقای یوسفی قسمت volley رو کار میکنم .نمیدونم چرا قسمت new Response.ErrorListener رو اجرا میکنه.هیچ دیتایی رو نمیگیره

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • ali گفت:

        منظورتون از ارتباط با سرور کجا هستش.همه مراحل دقیقا مثل اموزش هستش.صفحه php بدون مشکل لود میشه و کدهای برنامه هم ;مثل اموزش پیش رفتم

        • متیما یوسفی راد گفت:

          درود بر شما

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

      • علی گفت:

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

  72. هادی گفت:

    عرض سلام و ادب خدمت شما دوستان عزیز
    بنده از قدیمی ترین کاربران سایت شما هستم. تمام پکیج های شما (به جز این پکیج) را تهیه کردم. از شما عزیزان خواهش می کنم تخفیف مستقل برای این پکیج هم قرار دهید…. من فقط پکیج اندروید ۲۰۱۶ رو ندارم. یکم تخفیف بدید و هوای ما دانشجو ها رو داشته باشید :))
    با احترام فراوان

  73. اشابهر بخشایی گفت:

    سلام استاد متیمای عزیز
    اقا واقعا ازتون انتظار نداشتم ، شما که با لحت خوب و آموزش عالیتون اینقدر ب ما حال دادید
    بدجوری ما رو تو منگنه گذاشتین ب خدا
    قسمت هفتم آموزش ساخت دیوار ، که چند بار ارور از Parser بود و بعد گفتین که باید فایل های سمت سرور رو Ansi ذخیره کنیم. ای کاش ای کاش خودتون اینکارو میکردید…
    استاد من الان چند بار از داخل برنامه rapid php از اون پایین تمام فایل هامو ansi میزارم و سیو میکنم و دوباره روی هاستم اپلود میکنم ، اما این مشکل درست نمیشه…
    لطفا ی راهنمایی کنید که چیکار کنم؟
    من روی هاستم اون فایل ها رو با encoding ansi ذخیره کردم
    ولی بازم همون اور میده
    لطفا زود تر کمک کنید که خیلی عجله دارم
    ممنون از زحماتتون یا علی

    • اشابهر بخشایی گفت:

      در ضمن استاد
      من در دفعه ی اول با استاندارد utf-8 تست کردم نشد
      دفعه دوم با ansi تست کردم که بازم نشد
      لطفا کامل و قدم قدم راهنمایی کنید ، خیلی ممنون میشم
      البته حقش بود در یک فیلم کوتاه اینو برامون انجام بدین
      چون مثلا من الان موندم و نمیتونم برم قسمت های بعدی
      تشکر

      • متیما یوسفی راد گفت:

        درود دوباره

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

    • متیما یوسفی راد گفت:

      درود بر شما

      فایل ها رو با بونیکد UTF-8 without BOM ذخیره کنین. چون ansi با زبان فارسی سازگار نیست. من برای رفع این خطا همین کار رو انجام دادم. ینی یونیکد رو تغییر دادم چون سرور من به یونیکد فایل ها حساسه. اما اون خطا به دلایل دیگری هم میتونه اتفاق بیفته. میتونین دستور header رو به خط اول فایل php ببرین. ینی تمام فضاهای خالی رو از بین ببرین. یا اینکه دستور ob_start در ابتدا و ob_flush رو در انتهای فایل استفاده کنین. اما در حالت کلی این خطا رو با حذف فضا های خالی میتونین از بین ببرین.

      • اشابهر بخشایی گفت:

        ممنون بابت پاسخگویی شما..
        اما من وقتی رو UTF-8 without BOM تنظیم میکنم و سیو هم میکنم
        وقتی دوباره فایل رو باز میکنم ، میبینم دوباره شده ansi و اصلا اعمال نمیشه ، مشکل از rapid هست؟

        • متیما یوسفی راد گفت:

          درود بر شما

          دلیل شکل رو نمیدونم. ولی بنظرم با همون rapid یه فایل php جدید بسازین که یونیکدش uft08 without BOM باشه و بعد کد ها رو از فایل قبلی به فایل جدید انتقال بدین.

  74. اشابهر بخشایی گفت:

    در ضمن استاد :
    من این ارور رو دارم و با ارور شما متفاوته :
    Error In CatParser in parse() org.json.JSONException: No value for cat
    کمک لطفا

    • متیما یوسفی راد گفت:

      درود دوباره

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

  75. محمد گفت:

    باسلام خدمت شما
    بنده این مباحث رو کامل بلدم و بخاطر یه سری موارد که امیدوار بودم داخل این پکیج توضیح داده شده باشه این پک رو خریم که متاسفانه توش نبود و اینجا مطرح میکنم و ممنون میشم پاسخ بدین
    مورد اول اینکه ببینید من یه گرید ویو دارم و مطالب رو ده تا ده تا بصورت DESC یعنی از اخر به اول دریافت میکنم
    یعنی اخرین مطالب میاد اول صفحه و به ترتیب تا پاییین لودمیشه . حالا اگر کاربر بیاد پایین و دریافت مجددد بکنه این دریافت انجام میشه اما لیست میپره میاد اول صفحه !!! من نمیخوام این اتفاق بیوفته و میخوام وقتی لود میشه اسکرول سر جاش بمون و باقی مطالب نمایش داده بشه و کاربر از همونجا بتونه به اسکرولش ادامه بده چیکار باید بکنم ؟ (امیدوارم منظورو رسونده باشم)
    مورد دوم اینکه شما واسه لیزی لود کاری کردین که وقتی اسکرول شد دریافت مجدد صورت بگیره ولی من برخی برنامه هارو دیدم که وقتی به ته لیست میرسن یه آیکون لود نمایش داده میشه(مانند همون اسکرول لود متریال ) که اگر بیشتر از سطر های موجود داخل لیست ، لیست رو اسکرول کنی مطالب جدید لود میشه اگر متوجه نشدید ایمیل بدید اسکرین شات نشونتون بدم و اگر متوجه شدید میتونید لینکی در این باره(گیت هاب یا جایی) بهم بدید ؟ چون خودم گشتم و پیدا نکردم
    و مورد سوم اینکه شما مورد Date تو دیتابیس رو کاری کردید که توسط دیتابیس پر بشه
    من میخوام این مقدار توسط فایل رابطم پر بشه و مثلا تاریخ رو بگیره و ۵ روز به اون تاریخ اضافه کنه و ثبت کنه
    یا مثلا میخوام اون تاریخ رو ادیت کنم و جلو و عقب کنم زمانش رو(توسط php)
    و مورد اخر که بابت همین تاریخ ثبت میشه
    من چطور میتونم زمانی که داخل دیتابیس ثبت شده رو داخل برنامم بگیرم و بعدش بیام زمان فعلی رو دریافت کنم و بگم از اون زمانی که داخل دیتابیس ثبت شده چند روز و چند ساعت و چند دقیقه گذشته و همونو از فایل رابط بفرستم به اندرویدم(تمامی این محاسبات رو با php میخوام چون با اندرویدش رو بلدم)
    ممنون میشم پاسخ بدید چون پروژم لنگ این مباحثه
    ممنون

    • متیما یوسفی راد گفت:

      درود بر شما

      برای اینکه در زمان اضافه کردن داده ها به آداپتور، لیست ویو از نو بارگذاری نشه باید بجای تعریف مجدد آداپتور و مقدار دهی مجدد لیست ویو، مقادیر رو به آداپتور اضافه کنین و بعد از متد notifyDatasetChanged استفاده کنین تا به لیست ویو بگین که داده های جدیدی به آداپتور اضافه شدند. روش کار رو با جستجوی عبارت infinite scroll میتونین پیدا کنین.

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

      برای کار با تاریخ و زمان در php هم با یه جستجوی ساده به هزاران نتیجه میرسین. شما میتونین تو دیتابیس، فیلد مربوط به تاریخ رو از نوع varchar تعریف کنین که مقدار اولیه تاریخ و زمان داخلش درج نشه. بعد در برنامه سمت سرور خودتون زمانی که میخواین یه آگهی رو در دیتابیس درج کنین یه آیتم دیگه رو هم در نظر بگیرین و اون هم تاریخ یا زمان. اینجوری میتونین تاریخ رو به دلخواه در دیتابیس ذخیره کنین. حالا چند نمونه از توابع کار با تاریخ:

      Date(‘Y/m/d’); // return date like this: 2016/05/12
      Date(‘m’); // return current month
      time(); // return time

      • محمد گفت:

        تشکر از پاسخگویی شما
        الان من با این متد :
        Date(‘Y/m/d’);
        زمان رو میگیرم
        میشه بگین الان میخوام ۵۰ روز به این تاریخ اضافه کنم چه کدی رو باید وارد کنم ؟
        ممنون میشم چون زبان php رو کامل بلد نیستم و در حد نیاز تا به الان بلد بودم

        • متیما یوسفی راد گفت:

          درود بر شما

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

          http://stackoverflow.com/questions/3727615/adding-days-to-date-in-php

        • محمد گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

          آداپتور رو در متد onCreate تعریف کنین و بعداً در متد دیگری مقادیر جدید رو به آداپتور اضافه کنین. بعد از اضافه کردن مقادیر جدید، دستور notifyDataset رو به آداپتور بدین بروزرسانی میشه. تو گوگل نمونه مثال های زیادی هستش.

  76. m گفت:

    شما توی این اموزش از روش get استفاده می کنید اگه ما بخواییم از post استفاده کنیم تفاوتی میکنه یا نه؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

  77. محمد گفت:

    می خواستم ببینم از کدوم کتابخونه برای اتصال به سرور استفاده می کنید
    Volley، HttpClient و HttpURLConnection

    • متیما یوسفی راد گفت:

      درود بر شما

      در فصل ۴ از ارتباط عادی ینی همون HttpClient استفاده شده که الان این ابزار حذف شده. ولی کتابخونه volley و android async برای ارتباط با سرور هم آموزش داده شدند. البته در فصل ۶٫

  78. سلام خسته نباشید
    هنوز فیلم استفاده از recycle rview آماده نشده ؟
    ممنون میشم یک منبع برای استفاده از recyclerview معرفی کنید
    من میخوام بدونم چطوری باید رویداد کلیک هر ایتم در لیست را بنویسم که به طور مستقیم اطلاعات را از position اون ایتم از جیسون بگیره و در اکتیویتی بعدی نشون بده ،بدون اینکه دوباره اطلاعات از سرور گرفته بشه .مثل حالت لیست ویو که استفاده کردید و position اون ایتم را از هش مپ میگرفتید و پاس میدادید به اکتویتی نماش کامل اون اگهی
    .بقیه ی موارد پیاده سازی شده حتی رویداد کلیک .
    فقط مشکل انتقال اطلاعات هست بدون لود دوباره از سرور ( مثلا با دادن ای دی )
    خیلی واجبمه ، ممنون میشم پاسخ بدید

    • متیما یوسفی راد گفت:

      درود بر شما

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

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  80. سلام اگر میشه لطف کنید شماره بنده را داخل تلگرام ادد کنید (۰۹۱۳۰۰۱۲۹۸۷) تا بتونم سوالم را راحت تر بپرسم – چون اینجور که معلومه زیاد کار میبره من منظورم را به شما برسونم
    ممنون از شما

  81. ali گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • ali گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

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

  82. محمد گفت:

    باسلام
    من از این پکیج خواستم روش ارسال تصویرش رو استفاده کنم
    فایل رابطم کپی شماست
    ولی بخش اندرویدم فقط بجای استفاده از httpclient من از urlconnection استفاده کردم
    همه چیز اوکیه
    هم موارد اینسرت میشه تو دیتابیسم
    هم فایل اپلود میشه
    و و و …
    تنها مشکلی که هست اینه که عکسی که داخل هاست ارسال میشه قابل اجرا نیست
    یعنی فرمتشو نمیشناسه و اجراش نمیکنه
    از کد هام اسکرین شات گرفتم وبه ایمیلتون ارسال کردم ممنون میشم مشکلم رو رفع کنید
    و سوال دوم
    اینه که شما تو این اموزش عکس ارسال کردید
    من بخوام فایلی ارسال کنم
    بخش فایل رابطم دقیقا مثل عکسه ؟
    هنگام ارسال فایل باید مثل عکس انکد کنم ؟
    و اینکه شما بصورت دستی فرمت فایل رو jpg قرار دادید
    من اگر بخوام کاری کنم که کاربر فایلی اپلود کنه یقینا هر نوع فایلی مثل pdf یا duc یا هرچیز دیگه ای میتونه اپلود کنه من از کجا بفهمم که فرمت فایل انتخاب شده چی هست تا موقع اپلود اون فرمت رو ثبت کنم
    مرسی بابت پشتیبانی قوی شما

  83. اشابهر بخشایی گفت:

    سلام استاد
    ممنون بابت آموزش هاتون…
    ولی خدا وکیلی با اینکه خیلی زحمت کشیدین.
    ولی مشکلات زیادی پکیجتون داشت
    مهم ترینش ارسال داده به صورت فارسی بود که با کد های شما نمیشد
    post.setEntity(new UrlEncodedFormEntity(dataToSend,”UTF-8″));
    اینجوری باید نوشت ، محض اطلاع همه ی دوستانی که مشکل دارن، مشکل اینو ب سختی درست کردم…
    دوم اینکه ، توی صفحه نمایش همه ی آگهی ها ، من میخوام از اخر ب اول لیست ویو چیده بشه و این عقلانیه… اما با کد های شما و اموزش هاتون نتونستم ، اینو لطفا راهنمایی کنید

    • متیما یوسفی راد گفت:

      درود بر شما

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

  84. یاسین گفت:

    سلام
    استاد من وقتی یه عکسی رو که سایزش بیشتر از ۷ یا ۸ مگابایت باشه رو داخل ImageView قرار میدم از برنامه میاد بیرون … میخواستم بدونم دلیلش چی میتونه باشه
    دقیقا نمیدونم ولی فکر کنم بخاطر این خطا میاد بیرون شاید
    Skipped 45 frames! The application may be doing too much work on its main thread.

  85. محمد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  86. صالح گفت:

    سلام
    اون قسمت که گفتین مشکل از سمت سرور بود و باید encodinge فایل ها رو به ansi تبدیل کنیم من انجام دادم ولی بازم همون ارور هستش

    • متیما یوسفی راد گفت:

      درود بر شما

      یونیکد فایل های php رو روی utf-8 without BOM بذارین. این مشکل دلایل زیادی داره. باید راه های مختلف رو تست کنین تا خطاشو برطرف کنین.

  87. مهیار گفت:

    سلام به متیمای عزیز
    این ارور رو چه کار کنم؟
    Failed to resolve: com.mcxiaoke.volley:library:1.0.18
    بعد از سینک کردن گرادل این پیغام رو میده؟

  88. arash گفت:

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

  89. سیاوش گفت:

    با سلام خسته نباشید. یه نکته که من در هنگام اجرای برنامه دیدم. وقتی وارد اکتیویتی ای که وظیفش نشان دادن اگهی ها هست میشیم , بار اول اطلاعات به خوبی از سرور دریافت و در لیست ویو نمایش داده میشوند اما اگه دکمه بازگشت رو بزنیم و و مجددا وارد همین اکتیویتی شویم اطلاعات با تاخیر خیلی زیادی در لیست ویو نمایش داده می شوند. هم با Virtual Device و هم با گوشی که اندروید ۵ روی ان است تست کردم و همین جواب را گرفتم. علت چیست؟
    با تشکر فراوان از شما

    • متیما یوسفی راد گفت:

      درود بر شما

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

  90. arash گفت:

    سلام خسته نباشید استاد
    چطور میشه appcompat v7 رو به اکلیپس اضافه کنیم ممنون

  91. mohamad گفت:

    سلام من وقتی می خوام داده ها رو json از سمت سرور به کلاینت بفرستم وقتی فایل php داخل مرورگر باز می کنم داده ها فارسی اینطور نمایش داده میشن”title”:”\u0633\u0628\u06cc\u0628\u06cc\u0628\u06cc”
    همه موارد هم روی utf8 هست نمی دونم مشکل از کجاست

    • متیما یوسفی راد گفت:

      درود بر شما

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

  92. زاپاتا گفت:

    سلام به استاد متیما
    بنده تو قسمتی که فایل های get_data و get_cat , اینارو مسازیم مشکل دارم اونم اینه که بعد از نوشتن کد ها وقتی این صفحات و باز میکنم این عبارت و مینویسه
    {“success”:0,”message”:”nothing”}
    انگار که عصن به دیتابیس وصل نشده

    • متیما یوسفی راد گفت:

      درود بر شما

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

  93. افسون گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  94. ali گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      ساختن سبد خرید خیلی سادس. کافیه یه جدول تو دیتابیس بسازین که چند ستون به این ترتیب داشته باشه: آیدی، آیدی خریدار، آیدی کالا. حالا هر زمان خریدار بخواد سبد خریدش رو ببینه شما لیست کالاهای اون خریدار رو بوسیله آیدی کالا میتونین بهش نشون بدین. برای اضافه کردن یا حذف کردن کالا به سبد خرید هم کافیه آیدی کالا رو به همراه آیدی خریدار داخل جدول ثبت کنین.

  95. اشابهر بخشایی گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      شما در ابتدا باید در یک فیلد متنی، یک کلمه رو از کاربر بگیرین. این کلمه رو ارسال کنین به سرور و در دیتابیس جستجوش کنین. هم در فیلد نام هم در فیلد توضیحات و هرکجا نمونه ای رو پیدا کردین، اون رکورد رو برگردونین. خب مثلاً ۲۰ نتیجه پیدا شد. این نتایج رو بصورت json مثل موارد قبل (دریافت آگهی ها و دریافت بر اساس دسته بندی) به خروجی بفرستین و در برنامه موبایل، این داده ها رو از این صفحه به عنوان نتایج جستجو بخونین.

      پ ن: جستجو در دیتابیس رو بصورت کامل در فصل ۵ برای برنامه کتابچه آموزش دادم. پیاده سازیش برای سرور فقط در ارسال و دریافت کلمه موردجستجو فرق داره. وگرنه بقیه موارد کاملاً یکسان هست.

  96. سعید گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      اگه منظورتون اینه که دیتابیس ساخته شده در سرور محلی رو در سرور واقعی آپلود کنین، خیلی سادس. کافیه تو سرور یه دیتابیس بسازین. بعد تمام کوئری های داخل فایل دیتابیس کع export گرفتین بجز قسمت ساخت دیتابیس (چون دیتابیس از قبل ساخته شده) رو کپی کنین و داخل قسمت sql در phpmyadmin سرورتون وارد کنین و run رو بزنین. تمام جداول داخل دیتابیس محلی شما، در سرور ساخته میشه.

      • سعید گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

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

  97. محمد گفت:

    سلام خدمت شما
    ببخشید یه سوال داشتم
    من داخل برنامم یه فایل منیجر طراحی کردم که فایل های کلی کاربر رو نمایش میده
    وقتی کاربر روی هر فایل کلیک کرد آدرس اون فایل رو توی یه متغیر FIle میریزم
    حالا میخوام توسط این ادرسی که دارم اونو به فالی رابطم بفرستم و به نوعی آپلودش کنم
    برای اپلود هم از لایبری android async استفاده کردم
    میشه راهنمایی کنید که چطور میتونم فایل موجود در ادرسم رو بفرستم به فایل رابطم ؟

    • متیما یوسفی راد گفت:

      درود بر شما

      این آدرس:

      https://github.com/koush/AndroidAsync

      آموزش آپلود فایل با این برچسب:

      Need to do multipart/form-data uploads? That works too

      در سمت سرور هم برای اینکه فایل رو دریافت کنین باید از متغیر های super global استفاده کنین. ینی از REQUEST_$ یا از FILE_$

  98. hesam گفت:

    سلام اموزش های فصل و تا قسمت ۸ رفتم جلو ولی وقتی برای نمایش دسته بندی ها thread تعریف میکنم برنامه بسته میشه مثل اینکه باید Background Thread استفاده کنم امکانش هست توضیح بدید
    این خطاهارو میده
    http://8pic.ir/images/dyiu89fimmg97sapwuqa.png

    http://8pic.ir/images/loy12jvnkcvg6apnr2qv.png

    • متیما یوسفی راد گفت:

      درود بر شما

      این خطایی که شما دریافت میکنین بخاطر تعریف اشیاء در مکان نادرست هستش. باید اشیاء رو بصورت سراسری تعریف کنین و در متد onCreate کاملشون کنین (ینی ارتباطشون رو برقرار کنین) و بعد داخل نخ مقداردهی رو انجام بدین.

    • hesam گفت:

      ممنون نمیدونم حل شد
      onPostExecute و make_category_list و از روی سورس پروژه خودتون کپی کردم :D

  99. سعید گفت:

    سلام استاد من فایلهای Gradle رو بدون اطلاعات کافی دستکاری کردم و الان نه برنامه اجرا میشه ن Reibld و این خطا رو میده
    Failed tp Compile Gradle exextion.
    Cause
    Connection
    فایلهای جاوا کلاس پوشه بندیش تغیر کرده در قسمت می اکتویتی نمایش نمیده راهی نیست تنطیمات به حالت اول برگرده؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

  100. سعید گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • سعید گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

          اگه داخل دیتابیس داده شما رمزنگاری شده، در زمان استخراج هم باید رمزگشایی بشه.

  101. محمد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      باید بحث infinite scroll رو بدرستی پیاده سازی کنین. ینی کاری کنین که زمانی که لیست اسکرول میشه داده های جدید به لیست اضافه بشن. نه اینکه لیس از نو تعریف بشه.

  102. سعید گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      داده json رو داخل یک JSONObject (بسته به داده شما ممکنه JSONArray نیاز باشه) درج کنین. داده ها رمزگشایی میشن.

  103. hesam گفت:

    سلام استاد مشکل این خطا چی هستنش؟ وقتی وارد اکتیویتی میشم که لیست آگهی ها رو مشاهده کنم نمایش میده
    نا امید شدم تو این فصل انقد هی به ارور خوردم :(
    error in ImageDownloaderTask ==>java.net.MalformedURLException

    http://8pic.ir/images/77teyuq7w2609emjanbk.png

    • متیما یوسفی راد گفت:

      درود بر شما

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

  104. سعید گفت:

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

  105. alirezass گفت:

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

    • مدیر گفت:

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

  106. سعید گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  107. محمد گفت:

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

  108. mohamad گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • mohamad گفت:

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

  109. سعید گفت:

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

  110. hoseain گفت:

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

  111. دانا گفت:

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

  112. مهرداد گفت:

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

  113. محمد گفت:

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

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

  114. امیر رضایی گفت:

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

  115. مرتضی گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • مرتضی گفت:

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

  116. احمد گفت:

    با سلام بنده یه مشکلی که دارم اینه که وقتی داده رو از جیسون میگیرم به جای فارسی بصورت
    \u0628\u0644 \u0628\u0631\u06af\u0632\ نوشته میشه قبلا بصورت علامت سوال بود که درست کردمش ولی الان این مشکل پیش اومده لطفا اگه ممکنه راهنمایی فرمایید.

  117. pezhman گفت:

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

    This site can’t be reached

    The webpage at http://irprogram.myons.ir/get_data might be temporarily down or it may have moved permanently to a new web address.
    Search Google for ir program myons get data
    ERR_NAME_RESOLUTION_FAILED

    لطفا بفرمایید ایراد کار از کجاست
    دامنه myons.ir مال من میباشد

  118. علی گفت:

    سلام میشه به مناسبت ولادت امام حسن مجتبی یه تخفیفی بدین… …..

  119. رسول گفت:

    سلام
    پرداخت انجام شده اما ایمیل ارسال نگردیده است

  120. علیزاده گفت:

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

    سوال:
    ۱) در برنامه دیوار در ابتدای اجرا اکتیویتی ظاهر میشود که شهر را مشخص میکنیم و در اتصال ها آینده دیگر این اکتیویتی ظاهر نمیشود ولی میتوان از بخش تنظیمات آن را تغییر داد؟ (الگوریتم انجام اینکار به چه صورت است)؟

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

    با تشکر مجدد

    • متیما یوسفی راد گفت:

      درود بر شما

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

      در مورد سوال ۱، کافیه داخل یه دیتابیس یا یه فایل shared pref یه گزینه تعریف کنین مثلاً به اسم isCitySelected که مقدار ۰ یا ۱ میگیره. در اولین اجرا کاربر اکتیویتی انتخاب شهر رو میبینه و شهر رو انتخاب میکنه و مقدار فیلد isCitySelected تبدیل به ۱ میشه و از اون به بعد شما هم اسم شهر رو در دیتابیس ذخیره میکنین و هم در اجرا های بعدی بر اساس همون فیلد دیگه اکتیویتی انتخاب شهر رو نمایش نمیدین.

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

      • علیزاده گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

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

  121. مرتضی گفت:

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

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

    لطفا کمک کنید؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • مرتضی گفت:

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

        لطفا این کدهاشو بگید واقعا لازم دارم
        تشکر

        • متیما یوسفی راد گفت:

          درود بر شما

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

        • niloofar گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شمال

          پاسخ شما ارسال شد

  122. مرتضی گفت:

    سلام یه سوال داشتم از خدمتتون چطوری میشه Jsone Object رو به Jsone Array تبدیل کرد؟
    این جیسونی که شما نوشتید جیسون آبجکت هست یعنی با { شرو میشه ولی جیسون آری با [ شرو میشه
    با تشکر از شما.

  123. حسین گفت:

    سلام ببخشید من میخوام اون فایل php که جیسون تولید میکنه رو به صورت get_date.json در بیارم یعنی نوعش جیسون باشه باید چیکار کنم؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

  124. فاطمه گفت:

    سلام من پکیج شماره ۶ رو خریدم ولی نمیتونم دان کنم حجمشم خیلی بلاست وسط دانلود هی fail میشه لینک هر قسمتش رو جدا گانه بفرستید ایمیلم تا بتونم دان کنم؟؟

    • مدیر گفت:

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

  125. امید گفت:

    استاد سلام..این برنامه xampp رو من گرفته ام اما باید چجوری و کجا نصبش کنم؟ فرمتش چیه؟
    بعدشم php هم گرفتم و موقع نصب همه تیکهاشو زدم.ایا همون تیک php کافیه؟
    منتظرم.تشکر.

    • متیما یوسفی راد گفت:

      درود بر شما

      برنامه زمپ رو که دانلود کردین مثل برنامه های عادی نصبش کنین. بعد که اجراش کردین سرویس php رو اجرا کنین و در فولدر htdocs میتونین وبسایت خودتون رو بالا بیارین.

  126. امید گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شمال

      برای استفاده از نقشه در برنامه اندروید باید با بحث google map آشنا باشین. با استفاده از map و gps میتونین موقعیت رو از گوشی کاربر به یه سرور بفرستین و بقیه بتونین موقعیت ها رو روی نقشه ببینن.

  127. امید گفت:

    استاد اندروید استودیو توی اون گزینه هایی که پروژه جدید میسازی گزینه ای بنام activity google map داره ایا در صورت انتخابش برای پروژه همون کار نقشه و مسیر یابی رو توی یک پروژه اتوماتیک انجام میده؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

  128. علی گفت:

    باسلام
    ببخشید این پروژه با اندروید استودیو هست یا ایکلیپس؟
    و دوم اینکه ایا دمو اپ هست که مشاهده کنیم؟
    سوم اینکه ارتباط با سرور به کمک مدیریت محتوا هست یا بدون اون؟

    • متیما یوسفی راد گفت:

      درود بر شما

      آموزش در اندروید استودیو هستش. برنامه رو از طریق لینک “دریافت دمو” میتونین دانلود کنین. از سیستم مدیریت محتوا استفاده نشده. یه برنامه ساده php نوشته شده در آموزش.

      • علی گفت:

        متاسفانه فایل های موردنظر باز نمیشود
        نسخه ای که شما گذاشتید با ۵ هست و امکان باز کردن و مشاهده وجود ندارد
        تو برنامه های شبیه ساز مثل بلو استک هم باز نشد
        لطفا یک فایل با ۴ بزارید
        منتظر مشاهده دمو و خرید هستم

  129. hesam گفت:

    سلام استاد متیما من recyclerview ای که اموزش داده بودید و ساختم و بدون مشکل کار کرد ولی الان میخوام این recyclerview و با استفاده از مقادیر جیسون پر کنم چجوری این کار و میتونم انجام بدم؟ خودم یکم تغییرات انجام دادم توی همون اموزشی که دادید ولی خطای No adapter attached; skipping layout میده.
    فایل های main
    http://uplod.ir/ul6cd86s4qnr/recyclerview.txt.htm

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • hesam گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شمال

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

  130. مرتضی گفت:

    سلام استاد ببخشید من میخواسم داده هایی رو که از اون فایل php میگیره بر اساس تاریخ و زمان sort کنه در حالی که الان بر اساس id میگیره لطفا بگید چطوری باید این کار رو انجام بدم .
    میخوام تو لیستم اخرین داده هایی که وارد شده تو اول لیست بیاد
    با تشکر از آموزش خوبتون.

    • متیما یوسفی راد گفت:

      درود بر شما

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

  131. amir گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • amir گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

          به حرفم دقت نکردین:

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

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

  132. سعید گفت:

    با سلام و تشکر
    آقا من وقتی فایل های get_cat و get_data رو توی cpanel سایتم آپلود کردم وقتی میخوام اون رو امتحان کنم با یه ضفحه ی سفید روبه رو میشم و هر چی رفرش میکنم اطلاعاتی نشون نمیشه(میشه مثل اون وقتی که شما در فیلمتون در قسمت اول سرور که شما امتحانش کردید و صفحه ی سفید اومد و بعد درس شد)نمیدونم چیکار کنم. در ضمن اون جا که گفتید خطا مربوط به فابل های سمت سرور بود دقیقا توضیح ندادین باید چیکار کنم.
    لطفا سریع پاسخ بدبد واقعا کارم گیره

    • متیما یوسفی راد گفت:

      درود بر شما

      مشکل فایل های من با تبدیل به utf-8 without BOM حل شد. باید ببینین که ارتباط با دیتابیس مشکل نداشته باشه و داده ها بدرستی دریافت بشن.

      • سعید گفت:

        آقا ممنون از پیگیریتون.
        من یه فایل جدید تو رپید ساختم و کدها رو کپی کردن و encoding رو هم روی utf-8 without BOM قرار دادم ولی وقتی توی سرور آپلودش میکنم و فایل رو در قسمت edit باز میکنم دوباره encoding رو برابر utf_8 قرار میده و باز وقتی امتحانش میکنم همون صفحه ی سفید میاد و فرقی نمیکنه.لطفا کمک کنید
        در ضمن در قسمت php my admin لوکال هاست من localhost:3306 هست.من در فایل include لوکال هاست رو باید ۳۳۰۶ قرار بدم یا چیز دیگه؟؟

        • متیما یوسفی راد گفت:

          درود بر شما

          اون مشکل یونیکد برای سرور من وجود داشت. ممکنه ایراد برنامه شما چیز دیگری باشه. مثلاً ارتباط با سرور برقرار نشده باشه. علامت @ رو از ابتدای توابع بردارین تا اگه خطایی وجود داشته باشه در خروجی نمایش داده بشه.

  133. امید گفت:

    استاد سلام این فایل get_dataa.php من توی لاین اخرش ارور } داره.من میغرستم به ایمیلت زحمتت ببین کجا اشتباه کردم…تشکر زیاد.

  134. نیلوفر گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  135. سعید گفت:

    سلام
    اقا من تو بخش دراور گیر کردم.تمام کد هارو عینا مث خودتون میزنم و تو فایل xml لایوت welcome هم اون مسطتیل آبی نمایش داده میشه ولی وقتی برنامه رو با شبیه ساز امتحانش میکنم باز نمیشه
    من اندروید ۴٫۴ رو انتخاب کردم.امکانش هست که مشکل برا همین باشه؟اگه نه لطفا راهنماییم کنید واقعا گیر کردم
    در ضمن حجم نتم نمیکشه که فصل متریال رو دانلود کنم :(

    • متیما یوسفی راد گفت:

      درود بر شما

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

  136. سعید گفت:

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

  137. آبان گفت:

    با درود فراوان
    من جا داره همینجا یه تشکر ویژه از مهندس یوسفی را بکنم بابت جسارتش در استفاده از اندروید استودیو در آموزش.
    واینکه نمی دونم چرا برخی می گن آموزش خوب نیست؟!!! به خدا نامردیه اگه ایراد بگیریم. با این هزینه خیلی خوبه آموزشش.
    مهندس یوسفی راد چند سوال:
    ۱- چرا در پروژه دیوار از تعداد نمایش محدود (همان ۶تا که در فایل get_data) استفاده شده؟
    ۲- آیا آموزشهای دیگه ای هم تو راه است؟
    ۳-چرا تو پروژه دیوار از قطعه کد sync جهت نمایش ۳تا خط در navigation drawer استفاده می کنم ولی نمایش نمی ده؟

    • متیما یوسفی راد گفت:

      درود بر شمال

      ۱) یه مقدار دلخواه هستش. شما میتونین عدد رو بالا یا پایین تر در نظر بگیرین.
      ۲) از جانب من خیر.
      ۳) منظورتون رو از خط متوجه نشدم. لطفاً بیشتر توضیح بدین.

  138. نیلوفر گفت:

    سلام
    ببخشید، من در دvیافت داده ها از سرور مشکل دارم، در ضمن از لوکال هاست هم استفاده میکنم.متأسفانه مثل یکی از دوستانی که کامنت گذاشتن هم نمیتونم فایل php رو در حالت utf8 window BOM قرار بدم، حتی از برنامه های دیگری هم استفاده کردم ولی نمیدونم چرا وقتی از اون محیط خارج میشم باز به حالت ANSI بر میگرده، خواهش میکنم راهنمایی کنید من از php چیزی نمیدونم.
    یه سوال دیگه هم داشتم، الان چون از لوکال هاست استفاده میکنم در برنامه اندرویدی باید از آی پی خاص استفاده کنم یا در فایل های php هم باید به جای localhost یک آی پی بنویسم؟؟؟

    • متیما یوسفی راد گفت:

      درود بر شما

      فایل های خودتون رو با rapid php ایجاد کنین تا مشکلی نداشته باشن. بجای زبان php میتونین از java یا asp یا python یا … استفاده کنین و برنامه خودتون رو بسازین. برای ارتباط برنامه اندروید با هاست محلی، باید مطابق راهنمای مخصوص شبیه سازتون عمل کنین.

      • نیلوفر گفت:

        ممنون از پاسخگویی تان
        مشکلم حل شد و داده ها از سرور دریافت شدند، فقط یک مشکلی که وجود داره اینه که وقتی زمان اجرای برنامه طولانی میشه،داده ها از سرور دریافت نمیشه و در صفحه لوکال هاست این خطا درج میشه،
        Fatal error: Maximum execution time of 30 seconds exceeded in D:\xampp\phpMyAdmin\libraries\di\AliasItem.class.php on line 11
        فکر میکنم زمان اتصال به سرور قبل از اجرای کامل برنامه تموم میشه!
        لطفا راهنمایی کنید.

        • متیما یوسفی راد گفت:

          درود بر شمال

          میتونین زمان timeout رو بالا ببرین یا اینکه بعد از اجرای کامل برنامه عملیات سرور رو آغاز کنین.

  139. hesam گفت:

    سلام خدمت استاد متیما، یه سوال داشتم اونم اینکه از بین مقادیر جیسون چطوری میتونیم شرط بذاریم واسه نمایش دادن الان نگاه کنید مثلا این این صفحه جیسون من هست http://goo.gl/yf2LEY و میخوام فقط عنوان مطالبی که مثلا مقدار cats برابر ۲ دارند و نمایش بدم چیکار باید کرد؟ من از این کد استفاده کردم کار نکرد.
    String c = temp.getString(“cats”);
    int id = Integer.parseInt(c);

    if(id == 0){
    title.append(temp.getString(“post_title”));
    }

    else{
    title.setText(“nshood”);
    }

  140. علیزاده گفت:

    سلام با تشکر از آموزش و پاسخهای مفیدتون
    من در حال ساخت اپ برای وبسایتم بودم و وب سرویس ارتباط با سرور رو کاملا متوجه و پیاده سازی کردم اما طراح وبسایت من میگه دیتابیس ما sql server هستش
    آیا میشه با تغییرات کمی برای SQL server هم این برنامه رو استفاده کرد و این تغییرات بیشتر در کدام بخشها میباشد

    • متیما یوسفی راد گفت:

      درود بر شما

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

  141. vadomosan گفت:

    با سلام خدمت شما
    من تا الان خیلی از آموزشهای شما رو دیدم و ازشون بهره بردم بابت همه اینها متشکرم … میخواستم بدونم برنامه ای برای آموزش Telegram API خواهید داشت انشالله؟ راستش من به شدت نیاز دارم آموزشش را ولی در بستر اینترنت هیچ چیزی جز سایت خود تلگرام پیدا نمیکنم . ممنون میشوم جواب سوالم را بدید و اگر امکان داشت راهنمایی هم کنید . خیلی ممنونم

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

    • متیما یوسفی راد گفت:

      درود بر شما

      بنظرم نیازی نیست که جدول جدیدی بسازین. بلکه میتونین در سیستم وردپرس آگهی ها رو درج کنین و با استفاده از پلاگین داده json رو تولید کنین و در برنامه دریافت و تجزیه کنین.

  143. farhad گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شمال

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

  144. farhad گفت:

    در ضمن این اموزشو یکی از دوستان بمن داد، رایگان! ولی دیدم واقعا زحمت کشیدین … امکانش هست من ۱۰ تومن ب کارتتون بریزم و حلال کنید؟! واقعن بی پولی بیداد میکنه! اگرم راضی نیستین ، بالاخره یه جور جورش میکنم دیگه، البته هنوز ۲۰ درصدشم ندیدم! … به هیچ وجه هم به کسی نمیدمش رایگان.

  145. niloofar گفت:

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

  146. لیلا گفت:

    سلام اقای یوسفی، خسته نباشید، واقعا نکات خوبی رو یاد گرفتم از ویدیوهایی که زحمت کشیدین و ساختین… ولی یه گلایه هم دارم، شما عنوانتون رو نگاه کنید! “آموزش کامل ساخت اپلیکیشن دیوار اندروید!”… خلاصه بگم ، خواهش میکنم این مواردی رو که میگم رو بنویسید یا تهیه کنید و کدهاشو در اختیارمون قرار بدین، میتونید پولی هم بذارید و با عنوان تکمیل برنامه مشابه دیوار! فقط خواهشا قیمتشو از ۵ تومن بیشتر نزنید بخاطر مواردی که گفتم! … اینها باید میبودن ولی بازم میگم خسته نباشید خوب بود، خواهشن کدهاشو بزارید و دریک ویدیو خلاصه وار توضیح بدین… ممنون.
    ۱٫ سرچ! که مهمترین چیز توی اینجور برنامه هاست
    ۲٫ فرم لاگین… با فرم ثبت نام فرق داره، چون فرم ثبت نامو که گفتین ، درواقع همون درج اگهی هست…ولی لاگین یعنی اینکه شماره تلفن یا ایمیل کاربر رو بگیره و یک کد تایید براش ارسال کنه و کاربر با اون حساب وارد برنامه بشه
    ۳٫ نمایش آفلاین برنامه
    ۴٫ و حذف آگهی توسط کاربر در اپلیکیشن… بازم ممنون از زحمات شما و مدیریت ، خسته نباشید.

    • متیما یوسفی راد گفت:

      درود بر شمال

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

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

      اما مشکلات شما:

      ۱) جستجو: مانند تمامی قسمت های سمت سرور هستش و خیلی سادس. یه کلمه رو در برنامه از کاربر میگیرین و به سرور ارسال میکنین و در دیتابیس با یه کوئری ساده SELECT جستجو میکنین و نتیجه رو مثل روال معمول ینی در قالب JSON، برمیگردونین. ضمناً بحث جستجو در دیتابیس در فصل ۵ بصورت کامل بررسی شده و کوئری هاش آموزش داده شده.

      ۲) لاگین: شماره تلفن طرف رو میتونین از برنامه به سرور ارسال کنین و یه پیامک براش بفرستین یا اینکه ایمیل رو به سرور بفرستین و یه ایمیل فعال سازی واسش ارسال کنین. این بخش ها کاملاً مربوط به سمت سرور و زبان هایی مثل php و … هستش که امکانات ارسال ایمیل و … رو باید داشته باشند. البته کل کاری که باید بکنین برای فرستادن ایمیل در php استفاده از تابع mail هستش و پارامتر ها رو بهش پاس بدین تا ایمیل ارسال بشه.

      ۳) نمایش آفلاین برنامه: فصل ۵ که آموزش کتابچه هستش کار با دیتابیس رو آموزش دادم. برای نمایش آگهی ها بصورت آفلاین کافیه اونها رو داخل دیتابیس درج کنین و در زمان عدم اتصال به اینترنت، از دیتابیس بخونین و به کاربر نشون بدین.

      ۴) حذف آگهی: کافیه کاربر رو دکمه حذف کلیک کنه و آیدی آگهی به سرور ارسال بشه و با یه کوئری DELETE رکورد آگهی از دیتابیس حذف بشه.

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

      VinousEng@Gmail.Com

  147. سعید گفت:

    با سلام
    استاد من چند روز هست که روی این قسمت گیر کردم.وقتی برنامه رو با شبیه ساز باز میکنم این خطا رو میده:
    I/MatiMesseage: error in JSONDownloader in downloadURL() -> javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
    نمیدونم مشکل از کجاست.لطفا راهنمایی کنید.در ضمن سرورم مجازی نیست
    با تشکر

    • متیما یوسفی راد گفت:

      درود بر شما

      دقیق نمیدونم این خطا مربوط به چیه. برای انجام عمل دانلود داده json میتونین از کتابخونه volley یا android async یا okHttp استفاده کنین.

  148. لیلا گفت:

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

  149. سعید گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      نحوه ست کردن داده در لیست ویو در ویدئو های آموزش موجوده و توضیحش هم کمی طولانی. مختصر باید این کارا رو بکنین:

      ۱) درج داده ها در یک آرایه
      ۲) درج آرایه در یک آداپتور و تعیین نوع نمایش لیست
      ۳) برقراری ارتباط با شئ لیست ویو در محیط طراحی
      ۴) ست کردن آداپتور برای لیست ویو

      • سعید گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شمال

          منظورم تعریف آداپتور بود. به این شکل:

          adapter = new ArrayAdapter( this, android.R.layout.simple_list_item_1 , dataList ); ///test

  150. پارسا گفت:

    سلام مرسی از اموزش های خوبتون
    بنده تو کلاس Ads parser به یک مشکل بر خوردم اونم به این شکله که لاگ زیر رو نشان میده :
    org.json.JSONException: End of input at character 0 of

    • متیما یوسفی راد گفت:

      درود بر شمال

      احتمالاً در برنامه سمت سرور داده json بدرستی تولید نشده و در برنامه تجزیه نمیشه. چک کنین که در سمت سرور مشکلی وجود نداشته باشه.

  151. سعید گفت:

    با سلام و تشکر
    آقا نشد که نشد
    من با این کدا اینکارا رو انجام دادم ولی فک کنم کلا غلطه
    JSONObject temp = array.getJSONObject( i );
    String str = temp.getString( “name” );
    ArrayList myList = new ArrayList();
    myList.add(str);

    myList = new ArrayAdapter( this, android.R.layout.simple_list_item_1 , myList );
    تو خط آخر ارور میده
    اگه میشه لطفا کلا کدا رو برام بزارید

    • متیما یوسفی راد گفت:

      درود بر شمال

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

      • سعید گفت:

        با سلام
        کد ها رو اینجوری عوض کردم:

        myRequestQueue = Volley.newRequestQueue( this );
        JsonObjectRequest jObj = new JsonObjectRequest(Request.Method.GET,
        “http://irprogram.mangeneteam.ir/get_cat.php”, new Response.Listener() {
        @Override
        public void onResponse(JSONObject response)
        {
        try{
        JSONArray array = response.getJSONArray( “cat” );
        for (int i = 0; i < array.length() ; i++ ){
        JSONObject temp = array.getJSONObject( i );
        String str = temp.getString( "name" );
        ArrayList myList = new ArrayList();
        myList.add(str);
        arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, myList);
        category_list.setAdapter(arrayAdapter);
        }

        و در قسمت public class هر کد

        private ArrayAdapter arrayAdapter;

        رو اضافه کردم ولی هنوز مشکل و خطا رفع نشده و در قسمت

        arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, myList);

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

        • متیما یوسفی راد گفت:

          درود بر شمال

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

  152. parsa گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شمال

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

      • پارسا گفت:

        من سورس کدم مثلا شماست دقیقا کپی پیسته این مشکلی هم که گفتین نفمیدم کاملا و سورس کد رو براتون ایمیل کردم لطفا اگه ممکنه بررسی کنید مرسی

        • متیما یوسفی راد گفت:

          درود بر شمال

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

  153. محسن گفت:

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

    • متیما یوسفی راد گفت:

      سرود بر شمال

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

  154. niloofar گفت:

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

    ListViewLoaderTask -> android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
    بعد از نمایش این خطا عکس و متن آیتم هایی که با اسکرول به سمت بالا میان نمایش داده میشه ولی کلیک روی اونها انجام نمیشه

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

  155. محسن گفت:

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

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

    JSONObject temp = array.getJSONObject(i);
    String name = temp.getString("name");
    String[] from = {name};
    int[] to = {R.id.name_cat};

    }

    category_list = (ListView) findViewById(R.id.category_list);
    ArrayAdapter myAdapter = new ArrayAdapter( this, android.R.layout.simple_list_item_1 , name );
    category_list.setAdapter(myAdapter);

    اینم کد هاست.

    ArrayAdapter myAdapter = new ArrayAdapter( this, android.R.layout.simple_list_item_1 , name )

    تو این قسمت زیر name خط قرمز میکشه

    خواهشا مشکلش رو بگید

    • متیما یوسفی راد گفت:

      سرود بر شمال

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

  156. مصیب گفت:

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

  157. محمد گفت:

    سلام استاد
    من یه جیسون از سرورم دریافت کردم بدین شکل :
    Result: {
    “a”:int,
    “b”:int,
    “c”:int,
    “d” =[{
    “e”:”string”,
    “f”:”string”,
    “g”:”string”,
    “h”:”string”
    ]}
    }

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

    • متیما یوسفی راد گفت:

      سرود بر شمال

      بعد از اینکه آرایه رو از داده json استخراج کردین، با استفاده از کلیدواژه ها، در یک حلقه، داده های موردنظرتون رو استخراج کنین و داخل شئ هش مپ درج کنین.

      پ ن: داده json شما، اشتباهات داره. باید دقت کنین که کد json رو بدرستی بنویسین.

      • محمد گفت:

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

  158. .Reza. گفت:

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

  159. علیرضا گفت:

    Could not find class ‘android.util.ArrayMap’, referenced from method com.android.tools.fd.runtime.MonkeyPatcher.pruneResourceCache
    این ارور چیه ؟
    به من این ارور را میده

    • متیما یوسفی راد گفت:

      سرود بر شمال

      احتمالاً در ورژن نادرستی برنامه رو ساختین. مثلاً گزینه ArrayMap در اندروید ۴٫۴ به بالا در دسترسه. اگه ورژن پروژه شما پایین تر باشه این خطا رو میده.

  160. علیرضا گفت:

    ,و همچنین لیست ارورهای زیر
    ۰۸-۰۸ ۰۹:۴۷:۴۸٫۸۴۷ ۶۱۳۷-۶۱۳۷/com.digioff.digioff E/dalvikvm: Could not find class ‘android.util.ArrayMap’, referenced from method com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources

    ۰۸-۰۸ ۰۹:۴۷:۴۸٫۸۴۷ ۶۱۳۷-۶۱۳۷/com.digioff.digioff E/dalvikvm: Could not find class ‘android.util.ArrayMap’, referenced from method com.android.tools.fd.runtime.MonkeyPatcher.pruneResourceCache

  161. takpar95 گفت:

    سلام…شما در ویدیو سوم (دقیقه دو – ثانیه چهل) localhost را با ادرس localhost باز میکنید…
    ولی واسه من نمیشه و به جاش ocalhost/dashboard این ادرس باز میشه….
    چی کار کنم؟؟؟

    • متیما یوسفی راد گفت:

      سرود بر شمال

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

  162. اکبر گفت:

    با سلام وخسته نباشید قبل خرید چند تا سوال داشتم
    ۱- همراه با فایل اموزش شما کنار فایل اموزش پک سورس هم هست یا از صفر باید بنویسیم و فقط فیلم اموزشی هست با تشکر
    ۲ – سورس توی اندروید استدیو نوشته میشه یا اکلیپس

    • متیما یوسفی راد گفت:

      سرود بر شمال

      ۱) سورس هر پروژه ای در مجموعه آموزش اون فصل درج شده.
      ۲) در اندروید استودیو آموزش ها آماده شدن.

  163. اکبر گفت:

    با عرض پوزش من با نصب اندروید استدیو مشکل دارم راستش مثلا قسمت پروکسی تنظیمات و گرادل تنظیمات-+
    اموزش نصب و (ورژن)
    هم موجود میباشد

  164. niloofar گفت:

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

    • متیما یوسفی راد گفت:

      سرود بر شمال

      در برنامه اندروید میتونین یه نخ زماندار بسازین و مثلاً هر ۲۵ ثانیه ۱ بار کل لیست دسته بندی با مقادیر عددی تعداد رو بروزرسانی کنین. سمت سرور رو نیازی نیست تغییر بدین.

  165. takpar95 گفت:

    سرود بر شمال
    من از یک هاست رایگان( xzn.ir ) استفاده کردم…
    ,مرحله اخر که مربوط به سرور میشد…(یعنی ویدیو پنج این فصل…اخراش)
    شما فایل ها رو تست کردی..مال من فایل html و عکس ها درست نمایش داده میشه …
    ولی فایل های php یه صفحه خالی رو نمایش میده…در واقع هیچی نمایش نمیده…
    مشکل چیه؟
    اگه میشه راهنمایی کنید استاد!!؟؟؟؟

    • متیما یوسفی راد گفت:

      سرود بر شمال

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

      • takpar95 گفت:

        Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Access denied for user ‘u969938712_fun ‘@’localhost’ (using password: YES) in /home/u969938712/public_html/funclass
        /get_cat.php on line 14

        ارورش اینه…

        • متیما یوسفی راد گفت:

          سرود بر شمال

          احتمالاً برای دیتابیس خودتون دسترسی کاربر رو تعیین نکردین. وقتی یه کاربر رو برای mysql تعریف میکنین باید براش مشخص کنین که به کدوم دیتابیس میتونه دسترسی داشته باشه.

  166. اکبر گفت:

    با سلام و خسته نباشید استاد من یک پروژه دارم برای اندرویید استدیو میباشد متاسفانه وقتی توی اندرویید استدیو بازش میکنم و میخوام ازش خروجی فایل نصبی یعنی apk . بگیرم از gradle برنامه ایراد میگیره لطفا میشه راهنمایی کنیداین برنامه سمت سرور mysql با اسکریپت php و سایت evanto به علت نحریم راهنمایی نمیکنه برنامه مشابه برنامه دیوار و معروفه !!
    فایل زیپ کردم و گذاشتم توی سایت http://droidmarket.xzn.ir نام فایل دانلودی DroidMarket.7z با تشکر

    • متیما یوسفی راد گفت:

      سرود بر شمال

      باید خطایی که دریافت میکنین رو برام بذارین تا بتونم راهنماییتون کنم. ممکنه ایراد از پروژه شما نباشه.

      پ ن: متاسفانه تست و بررسی پروژه برام مقدور نیست.

  167. takpar95 گفت:

    سلام ..من یه مشکلی داشتم(فعلا قسمت ۷ هستم).
    همه کارایی که گفتید رو انجام دادم ولی برنامه خطا میده وقتی ادرس شمارو http://irprogram.matirad.com/get_cat.php گذاشتم بدرستی کار میکنه….ولی… مال من اینه http://funclass.webpi.ir/get_cat.php ولی برنامه بعد از اجرا … خارج میشه…
    این ارور رو دارم…لطفا کمک کنید…

    error in CatParser in parser() -> org.json.JSONException: Value <script of type java.lang.String cannot be converted to JSONObject

    ضمنا من متوجه اونجایی که ویدیو رو قطع کردید و ارور رو رفع کردید نشدم…(فک کنم اشکال از همون جاست…)

    • متیما یوسفی راد گفت:

      سرود بر شمال

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

      • takpar95 گفت:

        ببخشید میشه بیشتر توضیح بدید…دقیقا کجا از از این تابع استفاده کنم…اون فاصله اول کد شما هم هست…!!!!

        • متیما یوسفی راد گفت:

          سرود بر شمال

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

      • takpar95 گفت:

        امکانش هست شما اصلاح برام انجام بدین برام ایمیل کنید…من سرچ کردم متوجه نشدم دقیقا چیه جوری تابع trim استفاده کنم…منظور اینا کجا و چه جوری بنویسم…لطفا ..میدونم تابع trimچه کار میکنه ولی بلد نیستم بنویسم…

        • متیما یوسفی راد گفت:

          سرود بر شمال

          تابع تریم رو باید برای رشته ای که دانلود کردین فراخوانی کنین. مثلاً رشته دانلود شده در متغیر str هستش و هنوز تجزیه نشده. کافیه بنویسین:

          str = str.trim(); //tttt

  168. hesam گفت:

    سلام جناب متیما من با این اموزش لیست ویو ساختم و کار کرد ولی وقتی میخوام تو متریال تب ازش استفاده کنم ایراد میگیره
    هر تب یه فرگمنت داره و کد های دریافت اطلاعات و داخل onCreateView و onCreate گذاشتم خطای نال آبجکت گرفت از این کد
    android.widget.ListView.setAdapter(android.widget.ListAdapter)’ on a null object reference

    لینک اموزش

    http://www.androidhive.info/2014/07/android-custom-listview-with-image-and-text-using-volley/

    • متیما یوسفی راد گفت:

      سرود بر شمال

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

  169. اکبر گفت:

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

    Error:failed to find Build Tools revision 23.0.0 rc2
    install.build.tools”>Install Build Tools 23.0.0 rc2 and sync project

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

    • متیما یوسفی راد گفت:

      سرود بر شمال

      میتونین در فایل گریدل پروژه، نسخه بیلد تولز رو به نسخه ای که خودتون دارین تغییر بدین.

  170. محمدرضا گفت:

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

    • متیما یوسفی راد گفت:

      سرود بر شمالف

      شما در ابتدا باید تعداد مشخصی از رکورد های دیتابیس رو استخراج کنین. مثلاً ۵۰ رکورد رو بگیرین و داخل لیست ویو نمایش بدین. زمانی که کاربر اسکرول کرد و به انتهای لیست ویو رسید، دوباره از دیتابیس ۵۰ رکورد بعدی رو بگیرین و به آداپتور اضافه کنین و دستور notifyDatasetChanged رو به آداپتور بدین تا داده ها در لیست ویو بروز بشن. به همین ترتیب میتونین کل داده ها رو استخراج کنین.

  171. اکبر گفت:

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

    من برنامه ای درون اندروید استدیو باز کردم اما خطای
    compile ‘com.parse.bolts:bolts-android:1.+’
    compile ‘com.android.support:support-v4:22.0.0’
    compile ‘com.google.android.gms:play-services:7.0.0’
    compile ‘com.google.maps.android:android-maps-utils:0.3+’
    رخ داد
    مشکل از کجاست باید فایلی دانلود کنم ؟؟؟؟
    لطفا راهنمایی کنید با تشکر

    • متیما یوسفی راد گفت:

      سرود بر شمالف

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

  172. ahmad گفت:

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

    • متیما یوسفی راد گفت:

      سرود بر شمالف

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

      lv.getLastVisiblePosition() == lv.getCount() ///test

      این شرط میگه که آیا آخرین آیتم قابل مشاهده، آخرین آیتم لیست ویو هستش یا نه.

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

  173. اکبر گفت:

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

    • متیما یوسفی راد گفت:

      سرود بر شمالف

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

  174. shoeib گفت:

    سلام آرزوی سعادت دارم براتون…
    این آموزش اندروید دیگه ؟ برای این پرسیدم چون در مورد کدهای پی اچ پی عنوان گذاشتید… عذر میخوام چرا از mysql استفاده کردید و ازSQLite استفاده نکردید و آیا سرورهای اندروید مثل پی اچ پی پولی هست یا رایگانه؟
    چون برای phpباید حجم خرید .

    • متیما یوسفی راد گفت:

      سرود بر شمالف

      یه بخشی از آموزش مربوط به برنامه سمت سرور هستش که با php نوشته شده و دیتابیس سمت سرور هم mysql هستش. استفاده از دیتابیس در سمت سرور اختیاری هستش. منظورتون رو از سرور اندروید متوجه نشدم؟!

  175. آرمین گفت:

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

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

    Error:A problem was found with the configuration of task ‘:app:packageRelease’.
    > File ‘kapital’ specified for property ‘signingConfig.storeFile’ does not exist.

    البته چند بار هم امضا جدید زدم اما هرسری خروجی گرفتم این خطا هارو با نام صاحب امضا ها میده !

    ۱- لطف میکنید ایرادو بگید؟؟؟
    ۲-امضا ها دقیقا کجا ذخیره میشن ؟ ادرس فایل ؟

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

  176. shoeib گفت:

    سلام مجدد..الان فرض کنید من یک اپلیکیشن درست کردم مثلا مثل اینستاگرام بابت حجم داده ای که تویه حافظه این اپ هست و به صورت آنلاین در دسترس همه هست باید به جایی پول بدهم و حجم بخرم یا نه؟
    ۲-فرق my sql و sqlite چیه؟وکدوم بهتره؟
    ۳-الان ما با این آموزش نمیتونیم این امکان رو فراهم کنیم که کاربر مثل اپلیکیشن دیوار از روی گالریه گوشیش عکس و مطلب وارد کنه؟/؟!!!!چون من میخوام یک اپ تقریبا اجتماعی درست کنم

    • متیما یوسفی راد گفت:

      سرود بر شمالف

      بله. باید هاست بخرین تا بتونین داده های خودتون رو ذخیره کنین.

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

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

  177. reza گفت:

    سلام

    تو این آموزش از کتابخانه Volley استفاده شده یا از کتابخانه اسینتسک ؟؟؟؟

    • متیما یوسفی راد گفت:

      درود بر شما

      در فصل ۴ ارتباط با سرور بصورت عادی پیاده شده و volley هم معرفی شده. در فصل ۶ از هر دو استفاده شده.

  178. رسول گفت:

    سلام و تشکر فراوان بابت فیلمهای آموزشی
    ۲ تا سوال داشتم از خدمتتون
    ۱) اگر بخواهیم زمانی که کاربر برروی یکی از آیکونهای لیست ویو که عکس آن دانلود نشده کلیک کنه و واردصفحه مشخصات بشه اما عمل دانلود ادامه پیدا کنه و عکس در اونجا لود بشه چکار باید کرد؟
    ۲)استفاده از کتابخانه های دیگه مثل volley و…. باعث بالا رفتن سرعت دانلود و نمایش میشود یا خیر؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

  179. متیما یوسفی راد گفت:

    درود بر شما

    آپلود فایل رو میتونین بدون تبدیل فایل به رشته انجام بدین. کتابخونه android async اینکار رو خیلی خوب انجام میده. با volley هم میتونین عملیات سمت سرور رو انجام بدین.

  180. hpp گفت:

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

  181. محمد گفت:

    باسلام و خسته نباشید
    میخواستم بپرسم ایا نحوه کانکت شدن به دیتابیس توی https با http متفاوته ؟
    اخه من یه سری کد داخل یه سرور با http داشتم که اجرا میشد
    الان بردم روی یه سرور دیگه که با https هست و اجرا نمیشه !
    میشه نحوه اجرای کانکشن داخل https رو بگین ؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • محمد گفت:

        ببینید من کانکشنمو اینطور ساختم :

        function connectToDatabase(){
        $connection=mysqli_connect(“localhost”,”username”,”password”,”name_db”);
        if (mysqli_connect_errno()) {
        echo mysqli_connect_error();
        }
        mysqli_set_charset($connection,”utf8″);
        return $connection;
        }

        و اروری که برام نشون میده اینه :

        Access denied for user ‘abaragah_new’@’localhost’ (using password: YES)

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

        • متیما یوسفی راد گفت:

          درود بر شما

          باید برای دیتابیسی که ساختین، یه کاربر اضافه کنین. مثلاً به کاربر ali دسترسی به دیتابیس mydb رو بدین.

  182. علی گفت:

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

    • علی گفت:

      و چجوری باید لوکال هاست خرید و اجرا کرد ؟؟؟؟؟؟؟

      • متیما یوسفی راد گفت:

        درود بر شما

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  183. rca گفت:

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

  184. صالح گفت:

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

    in writeCrashedAppName, pkgName :com.example.mehran_pc.myapplication8
    FATAL EXCEPTION: main
    Process: com.example.mehran_pc.myapplication8, PID: 14581
    java.lang.NullPointerException
    at com.example.mehran_pc.myapplication8.ads$ImageDownloaderTask.onPostExecute(ads.java:299)
    at com.example.mehran_pc.myapplication8.ads$ImageDownloaderTask.onPostExecute(ads.java:241)
    at android.os.AsyncTask.finish(AsyncTask.java:632)
    at android.os.AsyncTask.access$600(AsyncTask.java:177)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5021)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
    at dalvik.system.NativeStart.main(Native Method)

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • صالح گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

          مثلاً شما تصویر رو دانلود کردین و داخل یه فایل ذخیره کردین. حالا از اون فایل خوندین و به Drawable تبدیلش کردین. باید ببینین که آیا null هستش یا نه. میتونین در ابتدای دانلود، حجم تصویر رو هم نیگه دارین و بعد از دانلود با حجم فایل دانلود شده مقایسه کنین. میتونین عملیات دانلود رو در try بذارین تا اگه خطایی داد برنامه کرش نکنه و خطا رو نشون بده.

  185. علی گفت:

    سلام و درود برشما(به قول خودتون..!!!)
    مشکل من اینه که وقتی فایل های phpبا استفاده از دستورecho(json_encode($response , JSON_PRETTY_PRINT)); مقادیر رو روی لوکال هاست نشون میدن از فارسی پشتیبانی نمیکنن بعنی به جای لغات فارسی چرت و پرت و عدد نشون میدن ….. ولی وقتی که از دستور
    echo”

    
    

    ";
    print_r($response);
    استفاده میکنم فارسی رو خیلی خوب نشون میدن....!!!
    ضمنا من تمام فایل های php رو utf8کردم
    چرا....؟؟؟؟؟؟

    • متیما یوسفی راد گفت:

      درود بر شما

      خروجی جیسان متن فارسی رو نشون نمیده. بعد از اینکه در شئ JSONObject در جاوا درجشون کنین، داده ها به شکل اول برمیگردن. ینی فارسی میشن.

  186. علی گفت:

    سلام من اخرش نفهمیدم که باید فایل ها رو با ansi ذخیره کرد یا utf8…. اخه شما تاکید داشتید که حتما از utf8 برای فایل هایphp استفاده کنیم بعدش به خاطر رفع خطا اونا رو ansi کردین .. دراین صورت مشکلی تو نمایش متن فارسی پیش نمیاد..؟؟؟؟؟

  187. mohamad گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  188. علی گفت:

    سلام …. ببخشید هی ازتون سوال می پرسم .. واقعا کلافه شدم … من دقیقا دستورات شما رو برای اتصال simpleadapter به لیست ویو داخل نویگیشن جهت دسته بندی مطالب نوشتم اما وقتی برنامه و اجرا میکنم خط listview_cat.setAdapter(adapter); رو ایراد میگیره ومطمینم adpter من هیچ ایرادی نداره …. وقتی براش یه try\catch نوشتم و براش یه لوگ ارور تعریف کردم همچین اروری میده
    Only the original thread that created a view hierarchy can touch its views.
    ,برا همین لیست ویر رو خارج از threadتعریف کردم که بازم خطا برطرف نشد…!!!
    این اسکرین شات کدهامه ….
    http://s7.picofile.com/file/8266565026/sc.png
    لطفا کمکم کنید

    • متیما یوسفی راد گفت:

      درود بر شما

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

  189. JAVAD گفت:

    سلام.میشه فایل apk این برنامه رو برام بفرستید؟؟

  190. وحید گفت:

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

  191. mohamad گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      باید قسمت هایی از کد رو کپی کنین که با mysql سرور تداخل نداشته باشه. مثلاً وقتی دیتابیس رو تو سرور میسازین، دیگه دستور create database رو نیاز ندارین.

  192. علی گفت:

    سلام من تا اخر اموزش شما پیش رفتم اما به یه مشکل جدی برخوردم و اون اینه که اصلا تو اندروید استودیوی من NameValuePair , HttpClient , HttpPost , setEntity وجود نداره و اصلا این موارد رو تشخیص نمیده …. و همچنین شما خودتون تو اموزش گفتین که اینا خیلی قدیمی شدن و باید از کتابخونه volly استفاده کنیم اما اموزشتون برای volly خیلی کم بود و اصلا عمل post و …. رو با استفاده از اون توضیح ندادین… الان باید من چیکار کنم؟؟؟؟؟ بازم ممنون بابت اموزش و پشتبانی خوبتون…
    ولی یه سوال شما که اینقدر میگید volly خوبه پس چرا تو اموزش ازش استفاده نکردید؟؟؟؟ و از این متد های قدیمی استفاده میردید ؟؟؟؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

  193. علی گفت:

    بعد از کلی تحقیق طریقه استفاده از volley رو برای post اطلاعات بلد شدم ولی هر کاری میکنم اطلاعات ارسال نمیشه و لوگی که رو توی بخش erorresponse معرفی کردم رو نشون میده … set_data رو قبلا توی هاستم آپلود کردم…
    این د های بخشvolley هست http://s8.picofile.com/file/8267674134/use_volley.jpg
    بازم ممنون…..

  194. علی گفت:

    سلام استاد اونجایی که شما لیست ویو رو در هربار اسکرول set adapter می کنید باعث میشه که موقعیت اسکرول در ابتدای لیست ویو قرار بگیره (این مشکل رو من توی اجرای شما روی جنی موشن هم دیدم که فک کنم شما متوجهش نشدید) …. البته این مشکلو میشه با چند تا کد ساده حل کرد ولی بهتر نبود به جای set adapter از notifyDataSetChanged استفاد میکردید ؟؟؟؟؟؟؟ چون مثلا فکر کنید وقتی list از page 100 میخواد ۵ تا اگهی بگیره باید یکجا ۵۰۰ تا اگهی رو دویاره در داخل لیست ویو setadapter کنه ..به نظر شما این کار باعث کاهش سرعت برنامه نمیشه ؟؟؟؟

    • متیما یوسفی راد گفت:

      درود بر شما

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

  195. علی گفت:

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

    dataToSend.add(new BasicNameValuePair(“title”, main_hm.get(“title”)));
    dataToSend.add(new BasicNameValuePair(“intro”, main_hm.get(“intro”)));
    dataToSend.add(new BasicNameValuePair(“desc”, main_hm.get(“desc”)));
    dataToSend.add(new BasicNameValuePair(“seller”, main_hm.get(“seller”)));
    dataToSend.add(new BasicNameValuePair(“email”, main_hm.get(“email”)));
    dataToSend.add(new BasicNameValuePair(“phone”, main_hm.get(“phone”)));
    dataToSend.add(new BasicNameValuePair(“cat”, main_hm.get(“cat”)));
    dataToSend.add(new BasicNameValuePair(“image”, encodedImage));

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

    compileSdkVersion 24

    targetSdkVersion 24

    هست
    لطفا کمک کنید

    • متیما یوسفی راد گفت:

      درود بر شما

      در ورژن جدید اندروید این متد ها حذف شدن و باید از کتابخونه هایی مثل Volley یا android async استفاده کنین

  196. mohamad گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      احتمالا پروژه سینک نشده. باید از دکمه import from eclipse, gradle برای وارد کردن پروژه استفاده کنین.

  197. علی گفت:

    با سلام

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

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

    • متیما یوسفی راد گفت:

      درود بر شما

      متد ارسال اطلاعات به سرور رو تغییر بدین. مثلاً از کتابخونه android async برای پست کردن اطلاعات استفاده کنین. آموزش ریسایکلر ویو رو هم در فصل ۶ درج کردم.

  198. احمد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  199. علی گفت:

    سلام من با کمک شما تونستم یه برنامه مثل آموزش شما طراحی کنم فقط من میخام که یه محیطی برا ویرایش و ابدیت اگهی ها برای کاربر ایجاد میکنم جهت این کار دورا به ذهنم رسید اول اینه که دیتابیس محلی ایجاد کنم و اگهی های هر کاربر رو در اون ذخیره کنم ودر بخشی دیگر اون ها رو نشون بدم ودوم این که همراه با هر اگهی از یه گوشی خاص کد منحصر به فردی رو بفرسم و بعد در بخش ویرایش اگهی های به کاربر اونارو نشون بدم ….به نظر خودم راه دوم مقرون به صرفه تره ولی اول نمیدونم چه کدی رو بفرسم و دوم این که چجوری اون کد رو در php بررسی کنم(????= select * from ads where user_key ) البته بررسی اون کد توی محیط اندروید راحته ولی چون باید یکجا همه ی اگهی ها رو بگیرم و بعداگهی ها رو با یک کد خاص رو به کاربر نشون بدم سرعت برنامه میاد پایین .. خیلی ممنون میشم کمکم کنین …..

    • متیما یوسفی راد گفت:

      درود بر شما

      متوجه راهکار های شما نشدم. برای اینکه یه آگهی رو ویرایش کنین، کافیه یه دکمه زمان نمایش هر آگهی براش بذارین. کاربر با زدن اون دکمه وارد محیط ویرایش اون آگهی بشه و بعد از ذخیره تغییرات، آیدی اون آگهی به همراه تغییرات، به سرور بره و با کوئری update عمل بروزرسانی انجام بشه.

  200. علی گفت:

    با سلام من از این پکیجی که خریدم اصلا راضی نیستم به سوالاتم جواب هم که نمی دید

    • متیما یوسفی راد گفت:

      درود بر شما

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

  201. احسان گفت:

    سلام من به خطا زیر برخورد کردم میتونید بگید علتش چی هست
    error in AdsParser in parse() -> org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject

  202. پرویز گفت:

    سلام و خسته نباشید امیدوارم راهتون ادامه پیدا کنه پکیجاتون بسیار عالیه
    فک یه سوال داشتم
    اینکه استاد یوسفی تو یه قسمت با ارور “نمیتونم جیسون رو به رشته تبدیل کنم ” مواجه میشن چی جوری برطرفش میکنن من هر کاری کردم نشد الان ۴ روز دارم روش کار میکنم نمیشه همه کار کردم از سرچ زدن تو گوگل تا ذخیره کردن با ٍEncoding انگیلیسی یعنی Ansi لطفا کمک کنین خیلی لازم دارم

    • متیما یوسفی راد گفت:

      درود بر شما

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

  203. مرتضی گفت:

    سلام اقا من برنامه رو ساختم با آموزشاتون و خیلی هم عالی و درست کار میکنه و کلی هم امکانات دیگه بهش اضافه کردم ولی فقط و فقط یه نکته مونده که خیلی برام سخت شده و چند روزه روش کار میکنم نمیشه :
    من میخوام لیست بی پایان بسازم با همون لیست شما یعنی اول بیاد مثلا ۱۰ داده اول رو لود کنه بعد که اسکرول میکنم ۱۰ تای بعدی رو لود کنه و همینطور تا آخر اما این آموزشی که شما گذاشتید اینطوری نیست و یکدفعه میاد همه رو لود میکنه

    خواهش میکنم بهم بگید چطوری باید این لیست رو به لیست بی پایان تغییر بدم
    خدا خیرتون بده ، خیلی وقتگیر شده برام

  204. mohamad گفت:

    سلام
    اگر بخواهیم به جای اینکه category رو در دراور نشان بدیم به image button وصلش کنیم باید چیکار کنیم؟
    مثلا مثل همون چیزی که در دیوار و ebay و اپ های دیگه هست که category به شکل image button هست
    ممنون

    • متیما یوسفی راد گفت:

      درود بر شما

      کدهای دانلود داده ها و نمایششون در لیست ویو رو در متد کلیک شدن یه دکمه تعریف کنین. حالا اون دکمه میتونه یه image button باشه.

  205. mohamad گفت:

    سلام و درود یک مشکلی چند روزه وقتمو گرفته
    فایلهای php رو که شما نوشتید در پوشه مورد نظر زمپ و هم ومپ کپی کردم(مثلا get_cat.php وبقیه)یعنی با هر دو نرم افزار تست کردم …هر کاری بگید کردم مثلا فرمتشو ظاهر کردم و دیدم که php هست و مشکلی نداره …پورتشو عوض کردم و خیلی کارهای دیگه انجام دادم که در سایتها نوشته بود….اما وقتی این فایلهای php رو در مرورگر قرار میدم ارور not found میده …
    در حالی که php my admin باز میشه … تشکر

    • متیما یوسفی راد گفت:

      درود بر شما

      منظورتون از قرار دادن فایل در مرورگر چیه؟ فایل های php رو میتونین در یه پوشه بریزین و پوشه رو داخل آدرس htdocs بذارین. بعد برنامه xampp رو اجرا کنین و وارد صفحه اصلی هاست محلی بشین (همون صفحه مربوط به آدرس htdocs) و بعد اسم پوشه حاوی فایل های php رو کلیک کنین. اونوقت اگه فایل index داشته باشین، کد شما اجرا میشه وگرنه لیست فایل های php رو نشون میده.

  206. mohamad گفت:

    ( ! ) Fatal error: require_once(): Failed opening required ‘include.php’ (include_path=’.;C:\php\pear’) in C:\wampp\www\get_cat.php on line 3
    الان این ارور رو هم میده

    • متیما یوسفی راد گفت:

      درود بر شما

      آدرس فایل php رو احتمالاً اشتباه نوشتین. فایل ها رو کار هم بذارین و بعد فقط اسم فایل رو در تابع require بذارین.

      • mohamad گفت:

        درود فراوان
        آدرس دهی و همه چی درسته اما باز هم ارور میده
        نمیدونم چطوری میشه اسم فایل رو در تابع require گذاشت؟

        • متیما یوسفی راد گفت:

          درود بر شما

          اسم فایل رو داخل کوتیشن بذارین. مثلاً اینطوری:

          require(“inc.php”); /////nothing

  207. abbas گفت:

    سلام
    اگه بخوایم واسه هر کالا یا محصول قسمت نظرات داشته باشیم باید چی کار کنیم؟
    یعنی هرکس بتونه نظر بده درباره کالای ما
    ممنون

    • متیما یوسفی راد گفت:

      درود بر شما

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

  208. mohamad گفت:

    سلام و عرض ادب بنده آموزش شما رو خریدم
    فرض بفرمایید من category ای دارم که دارا ی بخشهای مختلفیست مثلا: املاک _ لوازم منزل و غیره
    خب حالا میخوام برای هر بخش یک imagebutton بر روی صفحه اصلی و یا همون صفحه اول خودم قرار بدم که با کلیک بر روی مثلا دکمه املاک آگهی های املاک رو فقط نشون بده و بقیه هم به همین ترتیب.
    میشه لطفا کدها و کلاسهایی که باید بسازم رو با کمی توضیح برام ایمیل بفرمایید چون من به همین خاطر این آموزش رو خریدم که نوشته بود شبیه دیوار هست اما کتگوری در دراور بود و هر قدر هم تلاش کردم نتونستم کاری بکنم ممنونم از لطفتون

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • mohamad گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

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

  209. omid گفت:

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

  210. mohamad گفت:

    سلام ودرود طبق آموزشهای شما پیش رفتم اما داده ها رو از روی لوکال هاست نمیخونه با ut8-whit outBom هم ذخیره کردم فایلهای پی اچ پی رو اما این ارور رو میده
    ۱۰-۲۷ ۰۷:۳۶:۰۹٫۷۹۴ ۱۷۳۹-۶۵۷۰/com.world.ideaone.idea I/MatiMessage: error in JSONDownloader in downloadURL() -> java.net.ConnectException: failed to connect to /127.0.0.1 (port 8080) after 15000ms: isConnected failed: ECONNREFUSED (Connection refused)
    ۱۰-۲۷ ۰۷:۳۶:۰۹٫۸۶۹ ۱۷۳۹-۱۸۳۹/com.world.ideaone.idea W/EGL_emulation: eglSurfaceAttrib not implemented
    ۱۰-۲۷ ۰۷:۳۶:۰۹٫۸۶۹ ۱۷۳۹-۱۸۳۹/com.world.ideaone.idea W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xdf4ead40, error=EGL_SUCCESS
    ۱۰-۲۷ ۰۷:۳۶:۱۰٫۰۶۵ ۱۷۳۹-۶۵۷۳/com.world.ideaone.idea I/MatiMessage: error in AdsParser in parse() -> org.json.JSONException: End of input at character 0 of
    ۱۰-۲۷ ۰۷:۳۶:۱۰٫۳۰۹ ۶۶۸-۶۸۷/system_process I/ActivityManager: Displayed com.world.ideaone.idea/.lmanzel: +593ms
    ۱۰-۲۷ ۰۷:۳۶:۱۰٫۳۷۲ ۱۷۳۹-۱۸۳۹/com.world.ideaone.idea E/Surface: getSlotFromBufferLocked: unknown buffer: 0xeb1a37a0

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • m گفت:

        یه سوال دیگه داشتم
        شما یه button ساختید که همه داده ها رو یک جا دریافت میکنه ..حالا اگه ما بخوایم به جای همه داده ها .,.. داده ها ی موجود در یک category مثلا category مربوط به مثلا بخش تکنولوژی رو بگیره و نشون بده و داده های بخشهای دیگه رو نشون نده باید چیکار کرد ….در سایتهای خارجی گشتم پیدا نکردم
        ممنونم

        • mohamad گفت:

          البته توسط همون button که باکلیک بر رویش این اتفاق بیفته و در دراور و طور دیگه نباشه
          ممنون

        • متیما یوسفی راد گفت:

          درود بر شما

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

          *: مثلاً ۱۲ آیدی همون دسته هستش.

        • متیما یوسفی راد گفت:

          درود بر شما

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

        • mohamad گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

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

  211. ali گفت:

    سلام … با توجه به عکس ضمیمه شده من از کتابخونه volley برای دریافت اطلاعات استفاده می کنم و این کد هارو تو یه کلاس مخصوص دانلود اطلاعات نوشتم … قصد دارم که اطلاعات پس از دریافت در تابع notices_downloader ریترن بشه ولی متاسفانه این تابع یه hashmap نال(null) بر میگردونه به عبارتی داخلی تابع response دارای مقداره ولی خارج از اون مقداری نداره با وجود این که من هش مپ رو در تابع اصلی معرفی کردم و اونو final کردم …. به نظر شما باید چیکار کنم که اگه تو هر کلاسی نیاز به اطلاعات داشتم با فراخوانی تابع notices_downloader اطلاعاتو بگیرم(hashmap=notices_downloader(context))
    ???????/؟؟؟؟؟؟؟؟؟
    http://s8.picofile.com/file/8273792042/Untitled.png

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • علی گفت:

        سلام… من دقیقا سوالم همینه که چجوری مطلع بشم که عملیات تموم شده که تابع موردنظر رو فراخونی کنم …
        ؟؟؟؟؟؟ اگه میشه یه روش معرفی کنید بهم …. درمورد async task هم اطلاع دارم وبارها ازش استفاده کردم

        • متیما یوسفی راد گفت:

          درود بر شما

          گفتم که در async task این امکان رو دارین. ینی با متد ها میتونین تعیین کنین که چه کاری چه زمانی انجام بشه. مثلاً دستوراتی که در متد onPreExecute نوشته بشن، قبل از اجرای دستورات اصلی اجرا میشن. دستورات اصلی مثلاً عمل دانلود رو در متد doInBackground مینویسین. بعد از اجرای دستورات اصلی هم دستورات داخل onPostExecute اجرا میشن.

  212. سالار گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  213. Mahdi گفت:

    سلام . من قسمت سرور این دوره رو کامل و بدون مشکل انجام دادم هنگامی که قسمت اول سمت کلاینت رو نوشتم (نمایش دسته ها در دراور) با مشکلی برخوردم . هنگامی که عبارت listView.setAdapter( simpleAdapter ); رو داخل ترد مینویسم وبرنامه رو ران میکنم فورس کلوز میده و برنامه بسته میشه ولی هنگامی که دستور بالا رو پاک میکنم ارور نمیده ولی لیست ویو یی هم نمایش داده نمیشه . البته مقدار دانلود شده و برگشتی از کلاس JSONDownloader خالی است . کلاس JSONDownloader رو چندین بار چک کردم و مشکلی نداره . ممکنه مشکل از سرور باشه ؟ آخه مشکلی که توی فیلم بود از سرور بود که گفه نشد که دقیقا از کجا بود .

    • متیما یوسفی راد گفت:

      درود بر شما

      مشکل سرور من این بود که یونیکد فایل های php رو روی utf-8 گذاشته بودم و خروجی رو بدرستی تولید نمیکرد. شما باید روی utf08 without bom بذارین.

  214. Ali گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • Ali گفت:

        اینم ارور برنامه هنگام ران شدن :

        E/AndroidRuntime: FATAL EXCEPTION: Thread-39779
        Process: com.example.mahdi.chineh, PID: 12105
        android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
        at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:8128)
        at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:1257)
        at android.view.ViewGroup.invalidateChild(ViewGroup.java:5428)
        at android.view.View.invalidateInternal(View.java:13927)
        at android.view.View.invalidate(View.java:13891)
        at android.view.View.invalidate(View.java:13875)
        at android.widget.AbsListView.resetList(AbsListView.java:2571)
        at android.widget.ListView.resetList(ListView.java:549)
        at android.widget.ListView.setAdapter(ListView.java:490)
        at com.example.mahdi.chineh.Category$1.run(Category.java:51)
        at java.lang.Thread.run(Thread.java:818)

        • متیما یوسفی راد گفت:

          درود بر شما

          احتمالاً کدهایی که برای کار با اشیاء محیط طراحی هستش رو داخل یه نخ جدید نوشتین. مثلاً مقداردهی یه لیست ویو. باید در نخ اصلی برنامه این کار رو انجام بدین.

  215. فرزین گفت:

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

  216. علی گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      با این مجموعه آموزشی نمیشه با وردپرس کار کرد. فقط میشه سمت موبایل رو یاد گرفت. برای وردپرس باید یه پلاگین بسازین که داده های داخل دیتابیس رو (در قالب json یا xml) تولید کنه و شما در برنامه موبایل اون داده رو تجزیه کنین. مثلاً rss

  217. Ali گفت:

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

    private void getcat(){

    Thread t1 = new Thread(new Runnable() {
    @Override
    public void run() {
    JSONDownloader dj = new JSONDownloader();
    String temp = dj.downloadURL(“http://mahdi3751.ir/chineh/get_cat.php”);
    CatParser parser =new CatParser();
    String[] from ={ “name” , “count” };
    int to[] = {R.id.name , R.id.count};
    SimpleAdapter simpleAdapter = new SimpleAdapter(getBaseContext() ,parser.parse(temp) , R.layout.cat_list_row ,from ,to);
    listView.setAdapter(simpleAdapter);
    }
    });

    t1.start();

    }

    • متیما یوسفی راد گفت:

      درود بر شما

      نخ خودتون رو عوض کنین (مثلاً از async task استفاده کنین). اینطوری میتونین قبل و بعد از عملیات دانلود رو مدیریت کنین.

  218. علی گفت:

    سلام جناب یوسفی راد…خیلی ممنون از اموزش خوبتون…یه سوال داشتم راجع به ساخت برنامه…تو قسمت اخر از ساخت برنامه سمت سرور شما اومدین تمام فایل های php و دیتابیس ساخته شده رو روی هاستتون آپلود کردین…سوال من اینه که نمیشه بدون این کار برنامه اندرویدی رو ساخت؟ یعنی من فایلام داخل همون درایو c و پوشه ی xammp باشه و دیتابیس هم همون localhost باشه و برنامه ساخته شه و کار کنه؟

    • متیما یوسفی راد گفت:

      درود بر شما

      اینطوری برنامه شما در همون شبکه محلی (localhost) اجرا میشه. دیگه دسترسی عمومی نخواهد داشت.

  219. sajad گفت:

    سلام
    یه وب سایت وردپرسی(کلاسی پرس) شبیه دیوار دارم با دیدن این آموزش میتونم اپلیکیشن را کد نویسی کنم؟
    ممنون

    • متیما یوسفی راد گفت:

      درود بر شما

      برای بخش وردپرس نه. ولی برنامه اندروید (مبحث ارتباط با سرور) رو آره.

      • sajad گفت:

        با تشکر
        میتونم اپلیکیشن سایت زیر رو طراحی کنم؟(مشابه دیوار)
        http://www.agahidivari.ir

        • متیما یوسفی راد گفت:

          درود بر شما

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

  220. علیرضا رضایی گفت:

    سلام
    چرا فایل apk را بصورت تنها قرار نمیدید؟
    لطفا فایل نمونه apk را برایم ایمیل کنید.
    apk@hi2.in
    سپاس.

  221. سودابه گفت:

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

  222. مجتبی گفت:

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

  223. reza گفت:

    وآلا پیشنهاد من به اونایی که مبتدین اینه که خودتون رو توی مخمصه نندازین !
    باید از پایه شروع کنید ، از ابتدایی ترین کدها و دستورات و IDE بنام ایکلیپس
    برنامه شبیه دیوار به این سادگیها و یه شبه دیوار نشده
    بلکه سازمانی تشکیل شده که حداقل چندین مهندس برنامه نویس خبره داره و پشتیبان ۲۴ ساعته و …
    و اینکه گول این گونه تیترها رو نخورید: (آموزش کامل ساخت اپلیکیشن دیوار اندروید)
    جناب ،شمایی که این اموزش رو تهیه کردید
    چرا جونای ملت رو اذیت میکنید ؟ ، درسته که حداقل چند نکته اموزشی رو فراگیر میکنید که البته توی سایت ها ی زیادی میشه راحت و رایگان پیداشون کرد ولی دلیل نمیشه مباحث اموزشیتون رو مرتبت کنید به اون چیزی که اصلا به برنامه دیوار مربوط نمیشه
    یا اگر هم میشه توی صدتا برنامه دیگه هم داره استفاده میشه
    شما اگر واقعا سطحتون تا این حد بالا بود بجای اموزشهای ناقص و پراشکالتون و درامد کم میرفتید چندتا پروژه امثال دیوار یا شیپور یا دیجی کالا یا آپارات با درامدهای بالا پیاده میکردید …
    پس لطفا با کلمات بازی نکنید
    لطفا این پیام رو پابلیک کنید
    با تشکر

    • متیما یوسفی راد گفت:

      درود بر افزاینده دانش شما

      اینقد که شما خودتون رو اذیت میکنین، حتماً از تیم سازنده برنامه دیوار هستید؟!! این آموزش با موضوع ارتباط با سرور ارائه شده و چون انتقال آگهی در این برنامه پیاده شده، شبیه دیوار معرفی شده. ساختن برنامه کامل دیوار (هم برنامه سرورش و هم اندرویدش) برای من ۲ هفته بیشتر طول نمیکشه. اگه بخوام دوباره آموزش آماده کنم، حتماً آموزش کامل یه برنامه که شما تو تیم تولیدش بودین (مثل دیجی کالا، شیپور، دیوار یا ایسام) رو میذارم که بدونین برنامه هایی مثل دیوار و شیپور و دیجی کالا سخت نیستند و راحت میشه ساختشون؛ فقط پیاده سازی زمان میبره.

      پ ن ۱ : اینکه چرا من به سمت این برنامه ها نمیرم و پیادشون نمیکنم تا پول دربیارم بخاطر اینه که کارم خرید و فروش جنس نیست. این ایده کلیشه ای «برنامه آگهی» هم مناسب من نیست.

      پ ن ۲ : امثال شما رو در تیم توسعه برنامه های بزرگ راه نمیدن (!). پس شما مشمول این قاعده میشید «کسانی که کمتر میدانند بیشتر تحسین میکنند». اگه پیاده سازی برنامه دیوار خیلی عجیب و غریب هستش براتون، پس شما در سطح نازلی از دانش برنامه نویسی هستید.

      پ ن ۳ : آموزش کامل دیوار، فقط یه تیتر تبلیغاتی هستش و برای خرید آموزش باید به سرفصل و محتوا توجه بشه. از این بازی با کلمات حتماً در آینده انجام خواهم داد. چه در سایت خودم که قراره راه بیفته و چه در سایر سایت ها..!

  224. محمد گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

  225. رضا گفت:

    سلام تو این قسمت ساخت برنامه دیوار مقدا “url ” به کجا اشاره میکنه و از کجا داده دریافت میکنه

    (public void onBtnShowAdsClick( View v
    }
    ; (Intent i = new Intent( this , ads.class
    (i.putExtra( “url” , url_ads
    (startActivity(i
    {

    ممنون

  226. رامین گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      این پروژه در اندروید استودیو قدیمی نوشته شده. برای ایمپورت کردن در اندروید استودیو جدید باید از گزینه import from eclipse, gradle استفاده کنین. بعد که پروژه ایمپورت شد، میتونین تغییرات رو اعمال کنین.

  227. حیدری گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

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

      • حیدری گفت:

        سلام.نخ رو حذف کردم درست شد.
        الان برنامه درست اجرا میشه تا اینکه میخواد عکسها رو دانلود بکنه به مشکل بر میخوره و ای پیغام رو میده:
        error in ImageDownloaderTask()—>java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 80): connect failed: ECONNREFUSED (Connection refused)

        • متیما یوسفی راد گفت:

          درود بر شما

          در try..catch خطایی که رخ میده رو به این شکل لاگ کنین و نتیجه رو برام بذارین تا بتونم راهنماییتون کنم:

          e.printStackTrace(); ///test

        • حیدری گفت:

          Log.i(“matima”, “error in ImageDownloaderTask()—>” + e.printStackTrace());به این صورت نوشتم این خطار میگرهThe operator + is undefined for the argument type(s) String, void و از اجرای برنامه جلوگیری میکنه

        • متیما یوسفی راد گفت:

          درود بر شما

          متد printStackTrace خودش لاگ تولید میکنه. نباید در متد دیگری فراخوانیش کنین. رشته هم برنمیگردونه که + بذارین قبلش.

        • حیدری گفت:

          ۰۱-۰۱ ۰۱:۱۷:۴۴٫۵۸۸: W/System.err(4192): java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 80): connect failed: ECONNREFUSED (Connection refused)

        • حیدری گفت:

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

        • متیما یوسفی راد گفت:

          درود بر شما

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

  228. مصیب گفت:

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

  229. مصیب گفت:

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

    • متیما یوسفی راد گفت:

      درود بر شما

      میتونین چند تا آدرس متفاوت تعریف کنین و برای هر دکمه عملیات دانلود از آدر موردنظر رو فقط با تغییر آدرس، پیاده کنین.

  230. علی گفت:

    سلام خیلی ممنون بابت پاسخ هاتون و آموزش خیلی خوبتون ….
    من یه سوال دارم که مدت هاست من درگیر خودش کرده و اون اینه که نمی شه توی onresponse کتابخونه volley یک متد فرا خونی کرد مثلا وقتی توی onresponse مینویسیم
    ;()MainActivity activity = new MainActivity
    ;()activity.method
    ارور میده و حتی یه متد از خود اون کلاس هم نمیشه فراخونی کرد…
    تورو خدا کمکم کنین چون واقعا اعصابم رو این موضوع خورد کرده…
    پیشاپیش بابت جوابتون مممنون

    • متیما یوسفی راد گفت:

      درود بر شما

      مثلاً شما در اکتیویتی Main هستید و متدی مثل onResponse رو نوشتین. برای اینکه به متد های کلاس Main دسترسی داشته باشید، نباید از کلاس شئ تعریف کنید؛ کافیه به این ترتیب عمل کنید:

      Main.this.method(); //test

      • علی گفت:

        خیلی ممنون بابت پاسختون..
        مشکلم حل شد
        البته من به صورت ;()method رویداد رو فرا خونی میکردم..
        که وقتی main.this پشتش نوشتم مشکلم حل شد….
        خیلی خیلی خیلی خیلی ممنون ….

  231. علی گفت:

    سلام …. اساسا مشکل من اینه که مثلا میخوام وقتی اطلاعات دانلود شد و در دیتابیس ذخیره شد سپس اطلاعات داخل لیست ویو نشون داده بشه … ولی از اونجایی که کتابخونه والی مثل اسنیک تسک عمل میکنه یعنی خط به خط پیش نمیره وقتی اداپتور لیست ویو ست میشه اطلاعاتی هنوز دانلود نشده
    نگاه کنید این عکس کدمه http://s8.picofile.com/file/8281557834/android.png
    کلاس json downloader من همون کلاسه که کتابخونه والی اطلاعات رو دانلود میکنه ولی قبل از اینکه اطلاعات دانلود بشه خط بعدی اجرا میشه و اداپتوری که هنوز اطلاعاتش دانلود نشده داخل لیست ویو ست میشه …
    چیکار باید کنم؟؟؟؟؟؟

    • متیما یوسفی راد گفت:

      درود بر شما

      میتونین این کدها رو در async task بنویسین. در متد doInBackground عمل دانلود و در متد onPostExecute عمل بروزرسانی آداپتور

  232. علی گفت:

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

  233. اسماعیل گفت:

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

  234. ali گفت:

    سلام.من از سیستم خودم به عنوان سرور استفاده میکنم و همه چیز درست هستش.وقتی اطلاعات رو به هاست انتقال دادم ادرسهای داخل کدها رو هم تغییر دادم.وقتی داخل مرورگر از http://www.bepoushobefroushapp.webpi.ir/get_cat.php
    استفاده میکنم پاسخ درستی دریافت میکنم ولی وقتی اپ رو اجرا میکنم lv خالی میباشد که با برسی بیشتر به این نتیجه رسیدم که بجای دانلود اطلاعات داخل cat یا ads این متن را دانلود میکند
    This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support البته به همراه تعداد زیادی کدهای html.
    البته داخل مرورگر همه چیز درست هستش.میتونید خودتون امتحان کنید
    http://www.bepoushobefroushapp.webpi.ir/get_cat.php

    • متیما یوسفی راد گفت:

      درود بر شما

      آدرس سایت وقتی تو مرورگر باز میشه یه پسوند هم پیدا میکنه (?i=1) این مورد رو هم به آدرس داخل برنامه اضافه کنین.

      • ali گفت:

        سلام.انجام دادم و نشد.
        دیباگ گرفتم دیدم به جای اطلاعات دیتابیس در داخل متغیرها،کدهای زیر قرار میگیرد
        function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e=””,f=0;fd[f]?”0″:””)+d[f].toString(16);return e.toLowerCase()}var a=toNumbers(“f655ba9d09a112d4968c63579db590b4”),b=toNumbers(“98344c2eee86c3994890592585b49f80”),c=toNumbers(“521389d9cf7453a98f3a3c5ddba8cd6a”);document.cookie=”__test=”+toHex(slowAES.decrypt(c,2,a,b))+”; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/”; location.href=”http://www.bepoushobefroushapp.webpi.ir/get_cat.php?i=1″;This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support
        ممنون از راهنمایهاتون

  235. غلام محمد عابدی گفت:

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

دیدگاه شما

نام

ایمیل

سایت( اختیاری )