توضیحات پروژه:

سلام و عرض ادب خدمت شما بزرگواران

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

در این پک آموزشی برنامه در سمت سرور با زبان php و سمت اندروید با زبان java در محیط Android Studio طراحی شده است .

مواردی که در این دوره فرا خواهید گرفت:

  • – ثبت نام
  • – ورود به حساب کاربری
  • – خروج از حساب کاربری
  • – طراحی گزینه فراموشی رمز
  • – ارسال آگهی به همراه تصویر
  • – ساخت لیست بی پایان ( دریافت ۱۰ تا ۱۰ تا آگهی ها )
  • – دریافت آگهی ( بر اساس دسته بندی و استان )
  • – نمایش آگهی های هر کاربر
  • – جستجو پیشرفته بین آگهی ها بر اساس عنوان یا توضیحات
  • – امکان حذف یا ویرایش آگهی توسط صاحب آگهی
  • – نمایش زمان ارسال آگهی ( برای مثال : ۵ دقیقه پیش )
  • – آموزش زوم کردن تصاویر
  • اضافه کردن تبلیغات عدد به برنامه اندرویدی
  • استفاده از پرداخت درون برنامه ای کافه بازار به کمک سرویس نیواد که از api کافه بازار استفاده میکند (ضد پچ و هک )
  • – نحوه انجام پرداخت توسط کاربر و همچنین حذف تبلیغات عدد پس از پرداخت
  • – کار با ویو پیجر
  • – کار با تب اسلایدینگ
  • – کار با کتابخانه پیکاسو
  • – کار با کتابخانه Async
  • – کار با کتابخانه Pull Refresher (رفرش آگهی ها به سبک متریال )
  • – کار با Spinner ها (سفارشی)
  • – کار با لیست ویو سفارشی
  • – کار با گرید ویو سفارشی
  • – کار با کارد ویو

بیش از ۱۳ ساعت در ۲۶ قسمت ویدیو آموزشی

خرید سورس:


سورس ویژه اندروید استودیو می باشد.

خرید بصورت یکجا + سورس رایگان:


جمع کل آموزش ها ۵۰ هزارتومان + سورس ۳۰ هزار تومان – ۲۵٪ تخفیف = ۶۰ هزارتومان

فایل نصبی برنامه:

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

دانلود فایل

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

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

دانلود کتابخانه

قسمت سوم

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

قسمت دوم

ادامه ثبت نام و ورود سمت سرور با زبان php

دانلود بصورت رایگان

قسمت اول

ثبت نام و ورود سمت سرور با زبان php

دانلود بصورت رایگان

قسمت ششم

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

رایگان – دانلود رایگان

قسمت پنجم

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

رایگان – دانلود رایگان

قسمت چهارم

پیاده سازی ثبت نام و ورود در سمت اندروید قسمت دوم

قسمت نهم

طراحی فایل های رابط php جهت دریافت آگهی ها قسمت دوم

قسمت هشتم

طراحی فایل های رابط php جهت دریافت آگهی ها قسمت اول

قسمت هفتم

پیاده سازی گزینه فراموشی رمز قسمت دوم

قسمت دوازدهم

نمایش آگهی ها در سمت اندروید قسمت سوم

قسمت یازدهم

نمایش آگهی ها در سمت اندروید قسمت دوم

قسمت دهم

نمایش آگهی ها در سمت اندروید قسمت اول

قسمت پانزدهم

نمایش آگهی ها در سمت اندروید قسمت ششم

قسمت چهاردهم

نمایش آگهی ها در سمت اندروید قسمت پنجم

قسمت سیزدهم

نمایش آگهی ها در سمت اندروید قسمت چهارم

قسمت هجدهم

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

قسمت هفدهم

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

قسمت شانزدهم

دریافت آگهی ها طبق دسته بندی آن ها

قسمت بیست و یکم

اضافه کردن امکان ویرایش پروفایل کاربر مانند تغییر نام کاربری و متن امنیتی

قسمت بیستم

(اضافه کردن قابلیت جستجو پیشرفته به برنامه به همراه اضافه کردن رفرش متریالی به لیست ها)

قسمت نوزدهم

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

قسمت بیست و چهارم

طراحی بخش عظیم ارسال آگهی به همراه ارسال تصویر سمت سرور با زبان php

قسمت بیست و سوم

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

قسمت بیست و دوم

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

قسمت بیست و ششم

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

قسمت بیست و پنجم

اضافه کردن تبلیغات عدد به برنامه

درباره محمد مخلص

مدیریت تیم برنامه نویسی اسمارت موب . مسلط به زبان های : java Android C# C++ JSON PHP ASP ایمیل پشتیبانی : info@smaartapp.ir وبسایت تیم اسمارت موب : smart-mob.ir وبسایت اپلیکیشن اسمارت اپ : smaartapp.ir

ما را دنبال کنید:


آموزش های پیشنهادی سایت (نمایش همه):


۳۳۷ نظر

  • مهدی گفت:

    لینک های دانلود خرابه

  • محمد گفت:

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

  • علی گفت:

    سلام

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

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

  • mosayeb گفت:

    ایا این امکان وجود دارد که اگهی ها بعد از تایید به نمایش رد بیان ؟؟

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

  • mosayeb گفت:

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

    • باسلام
      سورس برنامه شامل فایل های رابط php و دیتابیس برنامه و سورس کد کامل برنامه سمت اندروید هست
      اموزش فعالسازی وجود نداره این سورس دقیقا همون سورسی هست که ما طی این ۲۶ قسمت آموزش تکمیل کردیم
      حالا برخی دوستان واردن و فقط توسط سورس میتونن تغییرات خودشونو اعمال کنن و شخصی سازی کنن
      بعضی دوستانم که وارد نیستن آموزش رو تهیه میکنن و طبق اموزش ها پیش میرن
      طبیعتا کسی که طبق آموزش ها پیش بره بصورت کامل نحوه طراحی و شخصی سازی رو یاد میگیره

  • میلاد گفت:

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

    • سلام لطف دارین
      من داخل این پک به بخش مدیریت داده ها کاری نداشتم
      شما برای اینکه پنلی برای مدیریت داده های خودتون طراحی کنید نیاز دارید که یکی از دو زبان php یا asp رو بصورت حرفه ای بلد باشین تا بتونین پنلی با امنیت کامل طراحی کنین
      فکر میکنم داخل سایت اموزش ساخت سایت مدیریت داده وجود داشته باشه

  • علی گفت:

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

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

  • mosayeb گفت:

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

    • باسلام
      ببینید همونطور که توی ویدیو هم تاکید کردم واسه ارسال دو یا بیشتر عکس باید هر کدی که نوشته میشه چه سمت اندورید چه سرور یکبار دیگه همونجا نوشته بشه با یه اسم دیگه
      بر فرض مثال زمانی که گالری باز میشه ما برای عکس اول مقدار ۱ رو به اکتیویتی فور ریسالتمون پاس دادیم شما یکی دیگه باید بسازین و عدد ۲ رو پاس بدین
      یا سمت فایل رابط ما برای تصویر ۱ یه فایل گرفتیم با نام myfile و همونو گسترش دادیم شما برای تصویر دوم یه فایل دیگه مثلا با نام myfile2 بثازین و مثل فایل قبلی گسترش بدین
      عملا همه موارد کپی پیست تصویر اول باید بشه با این تفاوت که یه نام دیگه باید بدین بهشون

  • mosayeb گفت:

    فکر کنم سمت سرور دارم اشتباه میکنم چون تصویر دوم جایگزین تصویر یک میشه و هر دو با یک نام میشن
    if(!empty($_FILES[‘myfile’])){
    if($_FILES[‘myfile’][‘error’] == 0){

    $name = $_FILES[‘myfile’][‘name’];

    $connection = connectToDatabase();
    $Username = $_REQUEST[‘Username’];
    $Title = $_REQUEST[‘Title’];
    $Desc = $_REQUEST[‘Desc’];
    $Price = $_REQUEST[‘Price’];
    $Tell = $_REQUEST[‘Tell’];
    $Email = $_REQUEST[‘Email’];
    $City = $_REQUEST[‘City’];
    $Cate = $_REQUEST[‘Cate’];

    $content = $_FILES[‘myfile’][‘tmp_name’];
    $namefile = ‘pics/’ . $Username . date(“y-m-d-G-i-s”) . “.jpg”;
    $content = $_FILES[‘myfile2’][‘tmp_name’];
    $namefile = ‘pics/’ . $Username . date(“y-m-d-G-i-s”) . “.jpg”;
    باید این دو تا رو داخل دو تا شرط جدا بنویسم ؟؟
    سمت اندروید رو اینجوری نوشتم
    btn_select_img2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    startActivityForResult(intent,2);

    }
    });

    • ببینید
      شما فقط اومدین لینک تصویر دوم رو از تصویر اول ساختین دوست عزیز
      عرض کردم باید تمام موارد که برای تصویر اول نوشته شدن برای تصویر دوم هم نوشته بشن
      بر فرض مثال
      شما برای تصویر اول یه فایل رو دریافت کردین در کد زیر :
      $name = $_FILES[‘myfile’][‘name’];

      خب برای تصویر دوم هم که قراره اسمشو بذارین myfile2 این کد وامثال این کد رو اجرا کنین
      $name2 = $_FILES[‘myfile2’][‘name’];

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

  • انیشتین گفت:

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

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

    • سلام
      – شما خودتون میتونید هر نوع امکاناتی به برنامه اضافه کنید چون سورس برنامرو در اختیار دارید
      – بله داخل ویدیو ها توضیح دادم که برای اصافه کررن شهر چکار باید بکنید ( ۰ تا ۱۰۰ این پروژه با ویدیو اموزش داده شده )
      – ببینید اموزش های بنده پروژه محور هست ، امکانات و طراحی هایی که برای این پروژه در نظر گرفته بودم در همین حد هست و بیشتر نمیشه
      اما در اینده اموزش های پروژه محور دیگه ای مثل ساخت چت روم ، شبکه اجتماعی و … در نظر دارم که اموزش بدم و شما اگر هر پک اموزشی رو کامل یاد بگیرین میتونین همشونو با هم ترکیب کنید و اپ مد نظرتونو ازش در بیارید

      لازم به ذکره که پشتیبانی این اموزش همیشگی هست ( توسط کامنت و گاها ایمیل )

  • مصطفی گفت:

    سلام
    اگه فقط فیلم ها رو بخواهیم چی کار بکنیم؟
    منظورم اینکه فقط کل فیلم ه ها رو بگیریم و سورس برنامه رو نگیریم

  • علی گفت:

    سلام محمد جان وقتی سورس رو میخوام باز کنم این ارور رو میده
    Error:Failed to find Build Tools revision 23.0.3
    Install Build Tools 23.0.3 and sync project
    فکر کنم برای sdk شماست که ۲۳٫۰٫۳بوده من اینو از کجا میتونم بگیرم.

    • سلام
      شما سه راه پیش روتون دارین
      اول اینکه وارد گردل app بشین و بیلد تولز اپ رو به بیلد تولزی که خودتون داخل اس دی کی دارین تغییر بدین
      دومین راه اینه که توی گوگل سرچ کنید
      download build tools 23.0.3
      دانلودش کنین و اکسترکتش کنین و داخل فولدر build tools موجود در فولدر sdk بریزید
      سومین راه هم اینه که توسط sdk manager بیلد تولز ۲۳٫۰٫۳ رو دانلود کنید و تمام

  • امیر حسین اشرفی گفت:

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

  • امیر حسین اشرفی گفت:

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

    • سلام
      اطلاعات در هنگام دریافت json هستن
      اما
      برای ارسال جیسون نیست و عملا ارسال جیسون نیازی نیست
      لایبری های Volley و Async دقیقا مشابه هم هستن و دریافت اطلاعات بصورت جیسون و … رو انجام میدن
      تفاوتشون در ارائه امکانات و نحوه بهینه سازیشونه

  • علی گفت:

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

  • saman گفت:

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

  • sajad گفت:

    با عرض سلام و خسته نباشید
    در وب سایت اینجانب امکانات سایت دیوار را دارم(آگهی ویژه،نردبان و …)
    امکان پیاده سازی این امکانات هست؟
    با تشکر

  • امیر حسین اشرفی گفت:

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

  • ابراهیم میر بلوچ زهی گفت:

    بسم الله الرحمن الرحیم
    سلام
    هنگامی که میخواهم در اندروید استودیو پروژه جدید ایجاد کنم با این خطا مواجه میشوم
    SDK problem
    your Android SDK is missing out of date or is missing templastes you can configure your SDK via configure | project Defaults|project structure | SDKs
    OK

  • ابراهیم میر بلوچ زهی گفت:

    بسم الله الرحمن الرحیم
    سلام من چه جوری میتونم یک هاست تهیه کنم؟

  • ابراهیم گفت:

    با سلام در این اموزش شما نحوه ی برقرا ی با ssl و https رو هم یاد دادید که دیوار استفاده میکنه؟

  • Amirhossein گفت:

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

    • باسلام
      عملا فکر نمیکنم این مورد نیاز باشه
      چون اگهی هارو تا شما تایید نکنید نمایش داده نخواهد شد
      با این حال
      برای اعمال این مورد شما هم میتونین توی php اینکارو بکنید هم در سمت اندروید
      در سمت اندروید کافیه یه شرط if بذارین و متن وارد شده توی ادیت تکست رو بگیرین و توسط متد contain که یک کلمه رو میگیره میگین اگر فلان کلمه بود اجازه ارسال نده
      یه همچین کدی میشه

      if(et_text.getText().toString().contain("سلام")){
      // کلمه سلام وجود داره
      }

  • سجاد گفت:

    سلام استاد وقتتون بخیر یه سوال به نظر شما بعد دیدن این دوره میتونیم همچین چیزی رو به صورت شخصی سازی بسازیم مثلا ایده خودمون پیاده سازی کنیم 🙂

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

  • علی گفت:

    سلام
    مهندس جان دوتا سوال
    اولی اینکه توی اکتیویتی مین به این کدهایی که app هستن گیر میده
    app:pstsShouldExpand=”true”
    app:pstsIndicatorColor=”@color/colorPrimary”

    دومی اینکه توی کد زیر به R گیر میده و قرمز میکنه
    setContentView(R.layout.activity_main);

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

  • ebi گفت:

    سلام این برنامه برای اندروید چند طراحی شده چه api استفاده میکنید؟

  • ebi گفت:

    سلام منظورم اینه برای اندروید چند طراحی شده ۵ به بالا اندروید ۴ هم جواب میده

    • اها api سمت اندروید منظورتونه
      در این پکیج من ابتدای اموزش توضیح دادم api هارو و همون ابتدا روی ۱۵ قرار دادم
      اما بدلیل اینکه ما لایبری هایی که استفاده کردیم مین اس دی کای پایینی دارن احتمالا شما میتونین api رو تا ۸ هم کاهش بدید !

  • امین گفت:

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

  • امین گفت:

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

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

  • امین گفت:

    با سلام و مرسی از همکاریتون منظور شما اینجاست ؟

    @NonNull
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    try {
    row = convertView ;
    if(convertView == null) {
    row = inflater.inflate(R.layout.row_list, parent, false);
    }

    row_list_img1 = (ImageView) row.findViewById(R.id.row_list_img1);
    row_list_title = (TextView) row.findViewById(R.id.row_list_title);
    row_list_price = (TextView) row.findViewById(R.id.row_list_price);
    row_list_time = (TextView) row.findViewById(R.id.row_list_time);
    row_list_card = (CardView) row.findViewById(R.id.row_list_card);

    final HashMap hash_get = (HashMap) hash_all.get(position);

    row_list_title.setText(hash_get.get(“Title”).toString());
    row_list_price.setText(hash_get.get(“Price”).toString() + ” تومان”);

    if (Integer.parseInt(hash_get.get(“Date”).toString()) = 60 && Integer.parseInt(hash_get.get(“Date”).toString()) = 1440 && Integer.parseInt(hash_get.get(“Date”).toString()) = 43200 && Integer.parseInt(hash_get.get(“Date”).toString()) = 518340) {
    int hhhh = Integer.parseInt(hash_get.get(“Date”).toString()) / 60 / 24 / 30 / 12;
    row_list_time.setText(hhhh + ” سال پیش”);
    }

    Picasso.with(MainActivity.activity)
    .load(hash_get.get(“Img1”).toString())
    .placeholder(R.mipmap.ic_launcher)
    .into(row_list_img1);

    }catch (Exception e){

    }

  • محمد جواد گفت:

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

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

  • امین گفت:

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

    • باسلام
      باز کردن دوربین با گالری تفوت چندانی نداره
      دقیقا کدای قسمت onActivityForResult هردو یکسانه
      تفاوتشون در اینتنت هست که شما باید در اون قسمتی که گفتیم اگر روی فلان دکمه کلیک شد بیا گالری رو باز کن بجاش کد باز کردن دوربین رو وارد کنید
      این کد هم با یه سرچ داخل گوگل دستتون میاد
      سرچ کنید how open camera by intent in android
      موفق باشید

  • shadow گفت:

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

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

  • امین گفت:

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

  • Ali گفت:

    سلام ببخشید یه سوال دارم الان من برنامه رو تست میکنم یه ارور میده موقع باز کردن زده
    has stopped ستون unfortunately
    این ارور برای چی هست

  • امیر حسین اشرفی گفت:

    استاد عزیز زمانی که شما اومدین پست ها رو ۱۰ تا ۱۰ تا گرفتین نباید امتحانش میکردین؟؟؟؟!
    فقط ۴ تا رو گرفتین و اصلا به ۱۰ تا هم نرسید ببینیم کد کار میکنه یا نه !!!
    الان بنده مثل کد شما دقیقا نوشتم اما کار نمیکنه !

    • باسلام
      دقیقا همون کدی که بنده نوشتم به عنوان سورسدر اختیارتون قرار گرفته
      مبحث ۱۰ تا ۱۰ تا لود شدن هم کار میکنه و میتونین اپ دمو رو مشاهده کنین
      یقینا در قسمتی از کد اشتباه کردین

  • امین گفت:

    با volley یا okhttp یاد میدین؟

  • امین گفت:

    از کد تخفیف چطور استفاده کنیم؟ من کد تخفیف میخام

  • امین گفت:

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

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

  • امیر حسین اشرفی گفت:

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

  • جلال گفت:

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

  • افلاطون گفت:

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

  • امیر رضا شهروش گفت:

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

  • امیر رضا شهروش گفت:

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

    این اون ادرسی هست که اگهی های من بعد از ثبت میگیرن
    http://smart-mob.ir/Soton/pics/16-11-19-21-07-04.jpg

    • دقیق یادم نیست اما تا جایی که یادمه ما کاری کردیم که اگر استاتوس ۱ بود اگهی نمایش داده بشه اگر ۰ بود نمایش نده پس اون اگهی که ۰ هست اطلاعاتش زیاد مهم نیست چون قرار نیست نشون بده
      اون اگهی هایی که ۲ یا ۳ تا تصویر دارن بصورت دستی وارد شدن و توسط اپ این کار صورت نگرفته ( احتمال میدم به دقت ویدیو هارو مشاهده نکردین چون بنده تمام موارد رو توضیح دادم )

    • امیر رضا شهروش گفت:

      اوکی شد

      ممنون از اموزش خوبتون

  • محمد گفت:

    سلام استاد

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

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

  • عادل گفت:

    سلام
    من میخوام برنامه رو بخرم. اما قبلش فایل نصبی اش رو دانلود کردم و امتحان کردم. خیلی خوبه. خسته نباشید و ممنون.
    ولی دوتا مشکل داره:
    یکی اینکه وقتی شهر رو انتخاب می کنیم، صفحه اتومات ریفرِش نمی شه

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

    مشکلش قابل حله؟

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

  • محسن گفت:

    سلام
    نظرتون در مورد کتابخانه recycleview برای نمایش آگهی ها چی هستش؟ آیا دلیلی خاصی داشته که استفاده نکردین ؟

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

  • j..m گفت:

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

  • مصیب گفت:

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

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

  • مهندس گفت:

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

  • مهندس گفت:

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

  • محسن گفت:

    آموزش ساخت سایت دیوار رو هم دارید؟؟

  • ilalia گفت:

    به مناسبت دهه فجر یه تخفیف بذارید 🙂

  • امین گفت:

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

    میشه بیشتر در مورد این کدها برای گرفتن myfile 2 ,myfile3 توضیح بدین

    if(!empty($_FILES[‘myfile’])){
    if($_FILES[‘myfile’][‘error’] == ۰){

    $name = $_FILES[‘myfile’][‘name’];

    $content = $_FILES[‘myfile’][‘tmp_name’];
    $namefile = ‘pics/’ . $Username . date(“y-m-d-G-i-s”) . “.jpg”;

    if(move_uploaded_file($content,$namefile)){

    $linkk = “domain/” . $namefile ;
    کدوما رو باید تغییر بدم ؟
    ممنون از لطف شما

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

  • امین گفت:

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

    • همون سرنخی که دادم و عرض ردم کاری که داریم میکنیم رو برای تمام تصاویر باید انجام بدین منظورم هم سمت اندروید بوده هم سرور
      شما myfile رو برای تصویر ۱ میفرستین
      طبیعتا برای تصویر ۲ باید myfile2 تصویر ۳ باید myfile3 الی اخر ارسال کنین و به طبع سمت سرور هم باید این مای فایل هارو دریافت کنین
      پیشنهاد میکنم در ابتدا اموزش هارو با دقت مشاهده کنین و در انتها خودتون دست به کد بشین تا کاملا مسائل براتون واضح بشه

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

    عزیز سلام! من چند وقتی هست که این پکیج و خریداری کردم و دارم ازش توی
    برنامه خودم استفاده میکننم!
    یه جای برنامم به یه مشکل خوردم!
    برنامه داخل شبیه سازی که روی سیستمم دارم درست اجرا میشه اما زمانی که
    روی گوشی نصبش میکنم به مشکل میخورم و ارور Unfortunately nameapp has
    stopped
    میده! میدونید مشکل از کجاست!
    لطفا جواب من و بدید! خیلی گیرم!

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

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

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

  • کوروش گفت:

    سلام استاد خسته نباشید . من کدهای php و android و دقیقا همونطوری که آموزش داده بودید کپی کردم اما وقتی در صفحه ثبت نام کاربر میخواد ثبت نام کنه و دکمه ثبت نام و میزنه اون material dialog که ساختید فقط میچرخه و پیغامی نمایش نمیده . وقتی آدرس دامنه فایل php شما رو میزنم ثبت نام با موفقیت انجام میشه . اما میدونم که مشکل از فایل php نیست چون به دیتابیس وصل میشه ( http://kouroshz0.webpi.ir/register.php ) و از طریق مرورگر هم username و pass ارسال میشه و ساخته میشه . انگار هیچ کدوم از دستورات شرطی no و ok و null رو نمیخونه برنامه چون چیزی نمایش نمیده ! اما وقتی از مرورگر ارسال میکنم user و pass و پیغام ها در مرورگر نمایش داده میشن (http://kouroshz0.webpi.ir/register.php?Username=aaa&Pass=bbb)
    مشکل از کجاست ؟ ممنون

  • ilalia گفت:

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

  • کورش گفت:

    استاد سلام و خدا قوت
    وقتی اپ و اجرا میکنم (چه روی گوشی یا emulator) وقتی میخوام بین فرگمنت ها جا به جا شم مثلا بعضی وقت ها ۳ بار جابه جا شم یا ۵ بار یا … (مشخص نیست هربار یه طوریه) برنامه کرش میکنه یا بعد از مدت کمی کار با برنامه کرش میکنه و جا به جایی بین فرگمنت ها و کلا کار با برنامه روان نیست ! مشکل از چیه ؟
    art/runtime/jdwp/jdwp_request.cc:48] Check failed: p_ == end_ read too few bytes: 1
    art/runtime/barrier.cc:90] Check failed: count_ == 0 (count_=-1, 0=0) Attempted to destroy barrier with non zero count
    art/runtime/runtime.cc:366] Runtime aborting — recursively, so no thread-specific detail!
    art/runtime/runtime.cc:366]
    A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 25537 (JDWP)

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

          • کورش گفت:

            استاد یه .png به آخر لینک اضافه کنید درست میشه !

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

          • کورش گفت:

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

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

  • حامد گفت:

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

    با تشکر

    • باسلام
      ما در این پک آموزشی ، دیتابیس های برناممونو خودمون دستی از ۰ ساختیم و برناممونو بهش متصل کردیم
      شما برای سایتتون ، دیگه نیاز نیست این دیتابیس هارو بسازین و کافیه برنامتونو به دیتابیس های سایتتون متصل کنید

  • امیر حسین گفت:

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

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

  • morteza گفت:

    سلام ابزار MY SQL DATABASE Wizard در هاستی که هتیه کردم وجود نداشت چطور باید اون رو نصب کنم ؟ راهی وجود داره ؟ چون هرکاری کردم نتونستم چیزی به عنوان create database users پیدا کنم !

  • امیر حسین گفت:

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

    • abbasalim گفت:

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

      • امیر حسین گفت:

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

  • miladnasri گفت:

    سلام
    پس از اینکه متریال دایلاگ رو اضافه کردم وکد زیر رو هم زدم:
    compile project(‘:material-dialogs’)
    حالا موقع سینک کردن ارور زیر رو میده:
    https://ibb.co/gFhcDv

  • امیر حسین گفت:

    The path
    ‘C:\Users\Double_M\AppData\Local\Android\Sdk’
    does not refer to an Android SDK.

    Android Studio will use its default SDK instead:
    ‘C:\Users\psg\AppData\Local\Android\Sdk’
    and will modify the project’s local.properties file.
    سلام
    عذر خواهی میکنم که مزاحم میشم
    من دیشب کد سورس های ستون و اموزش ستون رو خریداری کردم رو خریداری کردم
    ولی با چنین مشکلی روبرو میشم
    اگر بتونید کمک کنید ممنون میشم

  • حسین گفت:

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

  • امیر حسین گفت:

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

  • miladnasri گفت:

    برنامه موقعی که از تایم آوت اتصال به سرور بگذره فورس کلوز میده:

    AsyncHttpPost post = new AsyncHttpPost(“https://thephp.miladnasri.com/ihub/mili-logincheck.php”);

    post.setTimeout(10000);

    راهی بجز زیاد کردن زمان تایم آوت دارید؟

  • Mohammad گفت:

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

    ۱_ این ک من از هاست رایگان webpi.ir استفاده میکنم اما وارد c panel که میشم محیطش خیلی با محیط آموزش شما فرق داره هم محیط درست کردن دیتا بیس هم محیط فایل منیجر. سه تا عکس زیر..
    http://s9.picofile.com/file/8289420084/p1.png
    http://s8.picofile.com/file/8289420134/p2.png
    http://s8.picofile.com/file/8289420176/p3.png

    ۲_ و این که من دقیق نمیدونم ادرس http رو چجوری بدم توی اندروید….
    من مثلا باید بنویسم ادرس سایت هاست مثل “http://webpi.ir/adres php” ک ادرس php رو توی عکس سوم نشون دادم
    یا بنویسم ادرس home page ک از طرف سایت هاست بهم دادن؟ مثل “http://phoenix1375.webpi.ir/adres php”
    این عکس از طرف سایت بهم دادن اطلاعاتش رو…
    http://s8.picofile.com/file/8289421076/p4.png

    ممنونم از تمامی زحماتتون…

    • باسلام
      ببینید شما ظاهرا با دقت مراحل ساخت دیتابیس رو پیش نبردین
      با دقت به توضیحات توجه نکردین
      هرچند به شدت مخالفم که دارین از هاست رایگانه استفاده میکنین چون بیشتر هاست های رایگان مشکل دارن و شمارو ممکنه به اشتباه بندازن که فکر کنید مشکل از کداتونه
      پیشنهاد بنده اینه که یک هاست ارزان قیمت ( قیمتش نهایت ۱۰ تومن باشه ) تهیه کنید و از ابتدا آموزش هارو با دقت مشاهده کنید مخصوصا زمانی که داریم دیتابیس میسازیم چون طبق اسکرین شاتی که ارسال کردین شما وارد قسمت اضافه کردن دیتابیس بصورت دستی شدین در صورتی که بنده روش اتوماتش رو پیش بردم !

  • Mohammad گفت:

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

    ۲_ و این که من دقیق نمیدونم ادرس http رو چجوری بدم توی اندروید….
    من مثلا باید بنویسم ادرس سایت هاست مثل “http://webpi.ir/adres php” ک ادرس php رو توی عکس سوم نشون دادم
    یا بنویسم ادرس home page ک از طرف سایت هاست بهم دادن؟ مثل “http://phoenix1375.webpi.ir/adres php”
    این عکس از طرف سایت بهم دادن اطلاعاتش رو…
    http://s8.picofile.com/file/8289421076/p4.png

  • miladnasri گفت:

    چطور میشه کاری کرد که هر بار که اندروید استودیو رو باز میکنیم لازم نباشه که لایبرری زیر دوباره سینک بشه
    compile ‘com.koushikdutta.async:androidasync:2.+’
    چون دفعات بعدی که پراکسی رو قطع میکنیم به مشکل میخوره و ارور زیر رو میده:
    https://ibb.co/fGbEAa

    • باسلام
      به تنظیمات اندروید استدیو برین و در سر برگ gradle تیکه offline mode رو بزنید تا گردلتون به حالت افلاین بره
      لازم به ذکره اگر دیپندنسی جدیدی اضافه کنید باید این تیک رو بردارید (خود اندروید استدیو درخواستشو میده)

  • امیر حسین گفت:

    سلام و عرض ادب خدمت تمام عزیزان اسفندونه ای
    ممنون از اموزشتون بسیار کامل و جامع هست وخیلی راحت توضیح میدید ممنونم
    من ی مشکل رندریگ برخورد کردم
    public final class Banner extends ad ( -ir.adad.client..Banner)
    این کلاس به مشکل خورده که فکر میکنم بدلیل کم بودن سرعت اینترنت ننمیتونه دانلود کنه البته من وی ان استفاده میکنم ولی نمتونه دانلود کنه سورس مورد نظرش رو
    خود استودیو زده دانلود ولس نمیشه و انتخاب هم داره باز نمیشه
    ممننون میشم ی راهنمایی کنید

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

  • miladnasri گفت:

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

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

  • علی ناصری گفت:

    سلام خسته نباشید
    استاد قسمت سوم خیلی بی مقدمه شروع میشه و معلوم نیس اون قسمتا چجور ساخته شدن
    لطفا توضیح بدین که چجور قسمت login و register به قسمت main activity اضافه شدن

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

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

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

  • miladnasri گفت:

    سوال اول: آیا از JSON برای دریافت اطلاعات از سرور استفاده میشه؟
    سوال دوم: JSON چه مزیت ها یا نواقصی نسبت به سایر روش ها داره؟

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

      • miladnasri گفت:

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

  • امیر حسین گفت:

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

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

      • امیر حسین گفت:

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

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

  • باقر گفت:

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

  • علي گفت:

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

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

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

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

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

    عکس ارور:
    http://uupload.ir/files/eacs_55.jpg

  • حسین موسوی گفت:

    سلام ممنون از سایت خویتون
    من اکتیویتی رجیستر رو دقیقا همانند سورس کد ساختم و همینطور فایلهای رابط php رو ولی بعد از وارد کردن اطلاعات و زدن دکمه ثبت دیالوگ wait نمایش داده میشه و دیگه نمیره یعنی dismiss نمیشه . در صورتی که بعد از آن وقتی سرور رو چک می کنم اطلاعات بدرستی ثبت شده !!!

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

    • باسلام
      پیامی‌که از سرور چاپ میکنید رو با دقت سمت اندروید بررسی کنید و دستور if خودتون رو بسازید و wait رو dissmiss کنید

      • حسین موسوی گفت:

        این اروری هست که چاپ میکنه :
        PHP Warning: mysqli_connect(): Headers and client library minor version mismatch. Headers:50546 Library:50634 in /home/*****/public_html/********/registercar.php on line 6

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

        هر تغییری دادم در سمت اندروید نشد و باز هم بعد از دکمه ثبت اطلاعات ، دیالوگ wait دیسمیس نمیشه و برنامه همونجا میمونه . در ضمن یکی دو بار هم force close داد

  • محمد گفت:

    خسته نباشید
    می خواستم بدونم دلیل اینکه بعد از رجیستر این کد تو هیچ اکتیویتی کار نمیکنه چیه ؟
    if(!sp.getString(“Username”,null).equals(“”) && !sp.getString(“Pass”,null).equals(“”)){
    finish();
    }

    عملیات رجیستر درست انجام میشه ( در سمت سرور ) ولی حس می کنم توی sp ذخیره نمیشه !؟ چرا ؟

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

      • محمد گفت:

        ولی کد بالا رو شما در onResume استفاده کردین و من هم همینطور … اصلا اینطور بگم فایل php رجیستر و لوگین . بهمراه اکتیویتی های login , register , main دقیقا از سورس کد کپی کردم و طبق ویدیو های ۱ تا ۴ تو برنامه گذاشتم . ولی بعد رجیستر که بدرستی انجام میشه ، نه onResume کار میکنه و نه لوگین ( البته برای لوگین سمت سرور اروری دریافت می کنم که میگه مشکل syntax هست که خط yes_user رو ایراد می دونه ) !!!

        مشکل رو متوجه نمیشم

        • نسخه پی اچ پی خودتونو ارتقا بدین
          همینطور برای چاپ یه مقدار از echo و print استفاده میشه ، هرکدوم که هست از اون یکی استفاده کنید ببینید مشکلتون حل میشه یا نه
          اگر نشد پیام اروری که چاپ میشه رو ارسال کنید

  • amirhossein گفت:

    سلام ، من صفحه ی رجیستر و لاگین رو کامل طراحی کردم ولی متوجه یه مشکلی شدم که اگر دستگاه به اینترنت وصل نباشه برنامه unfortunately stop میکنه میخواستم بدونم آیا راه حلی وجود داره برای این مشکل ؟

  • محمد گفت:

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

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

    در کدهایی که برای اسینک که نوشته اید می خوام لیست هش خود را return کنم ولی زمانی که این کار رو می کنم hash ارسال شده خالی می باشد و چون از thread استفاده شده ابتدا دستور return اجرا میشه بعد دستورات پر کردن hash لطفا کمک کنید این هم کدهای من :

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

    public static List<HashMap> Get_Factor_Day(final String IDStore, String NoForosh, String NoDastebandi, final int Page){

    HashMap hashadd = new HashMap();
    hashadd.put(“FactorID”,”125″);
    hash_all.add(hashadd);
    hashadd.put(“czcz”,”130″);
    hash_all.add(hashadd);
    AsyncHttpPost post = new AsyncHttpPost(
    new RabetAddress().Get_List_Factor

    );
    // No Forosh => if ==0=>FactorNagd ………..if ==1=>FactorNesieh…………if ==2=>All Factor
    //dastebandi =>if ==1=>ID ………..if ==2=>price many…………if ==3=>price kam

    post.setTimeout(30000);
    MultipartFormDataBody body = new MultipartFormDataBody();

    body.addStringPart(“IDStore”,IDStore);
    body.addStringPart(“NoForosh”,NoForosh);
    body.addStringPart(“NoDastebandi”,NoDastebandi);
    body.addStringPart(“Page”,String.valueOf(Page));
    body.addStringPart(“Chack”,”null”);
    post.setBody(body);

    AsyncHttpClient.getDefaultInstance().executeString(post, new AsyncHttpClient.StringCallback() {
    @Override
    public void onCompleted(final Exception e, AsyncHttpResponse source, final String result) {
    if (e != null) {
    MainActivity.activity.runOnUiThread(new Runnable() {
    @Override
    public void run() {
    Toast.makeText(MainActivity.activity, “خطا در برقراری اتصال با سرور”, Toast.LENGTH_LONG).show();
    e.printStackTrace();
    }
    });

    }

    MainActivity.activity.runOnUiThread(new Runnable() {
    @Override
    public void run() {

    //metod badi_____________________________
    if (!result.equals(“”)) {

    if (Page == 0) {
    hash_all.clear();

    }

    try {

    JSONArray jsonArray = new JSONArray(result);
    for (int i = 0; i < jsonArray.length(); i++) {

    JSONObject object = jsonArray.getJSONObject(i);
    HashMap hashadd = new HashMap();
    hashadd.put(“FactorID”, object.get(“FactorID”).toString());
    hashadd.put(“CustomerID”, object.get(“CustomerID”).toString());
    hashadd.put(“NoKharid”, object.get(“NoKharid”).toString());
    hashadd.put(“Price_MenhayPardakhti”, object.get(“Price_MenhayPardakhti”));

    Toast.makeText(MainActivity.activity, “hhhhhh=>”+String.valueOf(i), Toast.LENGTH_SHORT).show();

    hashadd.put(“MobileCustomer”, object.get(“MobileCustomer”).toString());
    hashadd.put(“CustomerName”, object.get(“CustomerName”).toString());
    hashadd.put(“CustomerFamily”, object.get(“CustomerFamily”));
    hash_all.add(hashadd);

    }
    //==========================Set Adptor ===================================================
    // recyclerView.getAdapter().notifyDataSetChanged();
    Toast.makeText(MainActivity.activity, “داخل کلاس انجام شد۱۰۰ درصد”, Toast.LENGTH_SHORT).show();

    //========================================================================================

    } catch (Exception e) {
    e.printStackTrace();
    // MainActivity.wait.dismiss();
    Toast.makeText(MainActivity.activity, “داخل کلاس فاکتور نداشتیم۲”, Toast.LENGTH_SHORT).show();
    Toast.makeText(MainActivity.activity, “هیچ فاکتوری وجود ندارد۲”, Toast.LENGTH_SHORT).show();

    }

    }//end if
    else if (result.equals(“null”)) {

    Toast.makeText(MainActivity.activity, “هیچ اطلاعاتی از سمت سرور دریافت نشده است خطایی وجود دارد”, Toast.LENGTH_SHORT).show();
    }
    else {
    Toast.makeText(MainActivity.activity, “خطای در اتصال به سرور به وجود آمده است”, Toast.LENGTH_SHORT).show();

    }

    }
    });

    }
    //____________end oncompelete______________

    });

    return hash_all;
    }

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

  • مهرداد گفت:

    با سلام سورس را خریداری کردم در هنگام اجرا با این ارور موجه میشم لطفا راهنمایی کنید
    Error:(22, 0) Could not find method android() for arguments [build_a6gard89qlp8i8h45csm8b80w$_run_closure3@62c9e76b] on root project ‘Soton’ of type org.gradle.api.Project.
    Open File

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

  • حسین موسوی گفت:

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

    ممنون از شما

  • پوریا گفت:

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

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

  • محمد گفت:

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

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

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

      • محمد گفت:

        ممنون
        نه فروس کلوز نمیده ،اطلاعات تو سرور ذخیره میشه .. مثلا اطلاعات کاربر جدید ، ولی در ادامه تو سمت اندروید هیچ قسمتی اون اطلاعات رو نمیشناسه که برای دستورات دیگه بتونم ازشون استفاده کنم …
        هر خط رو جدا گونه با سورس چک کردم ولی اشکال رو نفهمیدم من به غیر از کدهای سورس یه اری لیست دارم تو اکتیویتی اصلیم برای gridview … !!

        امکان داره که ذخیره نکنه تو بعضی برنامه ها ؟؟؟

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

  • ashkan گفت:

    سلام
    در مرحله دریافت آگهی این ارور رو میده لطفا راهنمایی کنین
    E/AndroidRuntime: FATAL EXCEPTION: main
    Process: “package name”, PID: 18491
    android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class android.support.v7.widget.CardView
    at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
    at packname.Frag_Banners_All$Ad.getView(Frag_Banners_All.java:214)
    at android.widget.AbsListView.obtainView(AbsListView.java:2937)
    at android.widget.GridView.onMeasure(GridView.java:1069)
    at android.view.View.measure(View.java:20214)
    at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)
    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)
    at android.view.View.measure(View.java:20214)
    at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1626)
    at android.view.View.measure(View.java:20214)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
    at android.view.View.measure(View.java:20214)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
    at android.view.View.measure(View.java:20214)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
    at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1111)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:631)
    at android.view.View.measure(View.java:20214)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:900)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
    at android.view.View.measure(View.java:20214)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
    at android.view.View.measure(View.java:20214)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
    at android.view.View.measure(View.java:20214)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at android.view.View.measure(View.java:20214)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
    at android.view.View.measure(View.java:20214)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3083)
    at android.view.View.measure(View.java:20214)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2683)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1636)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1928)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1524)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7520)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
    at android.view.Choreographer.doCallbacks(Choreographer.java:686)
    at android.view.Choreographer.doFrame(Choreographer.java:622)
    a

    • باسلام
      به این نحوه نمیشه دیباگ کرد پروژتونو
      خود دیباگر دقیقا قسمتی که خطا میده رو به رنگ آبی نمایش میده
      روش کلیک کنید ببینید دقیقا کجای سورستون دارای مشکله
      اگر متوجه نشدید از اون قسمت دیباگر که آبی رنگ هست + وقتی روی متن آبی رنگ کلیک میکنید ، قسمتی که نمایش میده دو اسکرین شات تهیه و ارسال کنید تا مشکلتونو بررسی کنم

      • ashkan گفت:

        قسمت های آبی رنگ در دیباگ اینا هستن
        W/System: ClassLoader referenced unknown path: /data/app/ir.resturantsinfo.resturanha-2/lib/arm
        W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
        W/art: Suspending all threads took: 10.248ms
        و
        at ir.resturantsinfo.resturanha.Frag_Banners_All$Ad.getView(Frag_Banners_All.java:214)

        و وقتی گزینه بالا رو کلیک میکنم در سورس frag_all_banners اینو میاره
        row = inflater.inflate(R.layout.row_list,parent,false);

  • kabir گفت:

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

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

      • kabir گفت:

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

        • باسلام مجدد
          یقینا جاییو جا انداختین
          به بنده داخل تلگرام پیام بدین تا جهت رفع مشکل با TeamViewer اقدام بکنیم و بهتون نشون بدم که مشکل کجاست و کجارو جا انداختین یا اشتباه کد زدین
          ایدی تلگرام :
          @SmaartAppIR

  • kabir گفت:

    من قسمت سرچ رو کامل کردم اینم کار نمیکنه هرچند که هنوز آگهی های من کار نمیکنه

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

    [۱۴-Apr-2017 19:16:25 UTC] PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /home/android/public_html/android/search_ban.php on line 33

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

      • kabir گفت:

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

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

  • kabir گفت:

    با عرض سلام و خسته نباشید…
    من به هر شکلی بود مشکل رو حل کردم فقط الان یسوال دارم
    میخواستم ببینم میشه قسمت سرچ رو برد داخل یه اکتیویتی دیگه؟ چون وقتی فایل ها رو میبرم به Override@ ایراد میگیره و Ad هم هرکاری کینم خط قرمز میکشه زیرش
    میشه سرچ رو برد توی یه اکنیویتی دیگه؟ اگر بله چه تغییراتی باید بدم توی کد ها
    البته فایل از فرگمنت به AppCompat تغییر دادم

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

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

  • محمد گفت:

    سلام
    من برای تست هاست خودم فقط لینکهای هاست ستون رو عوض کردم و همون کدهای php رو آپلود کردم …
    کل برنامه اوکی ، حتی آگهی هایی که بصورت دستی در سرور وارد کردم هم نمایش داده میشن ولی در قسمت ثبت آگهی جدید بعد از زدن دکمه ثبت خطای “خطا در ثبت آگهی” رو نمایش میده !
    یعنی داره “no” چاپ میشه ولی سمت سرور اصلا اروری دریافت نمی کنم حتی عکس آپلود میشه تو هاست !

    ممنون از شما …

  • محمد گفت:

    ممنون حل شد …. مشکل از این بود که شما بعدا در table بنر desc به descript تغییر داده بودید ولی من نه ….

    ببخشید باز ۲ تا سوال هست:
    ۱٫ چرا برنامه توی گوشی اوکی ولی توی تبلت ۸ من اصلا اجرا نمیشه و بعد اینیستال فورس کلوز میده ؟ ( نمی دونم ربط داره یا نه ولی سیم کارت نمی خوره )

    ۲٫ توی استدیو میگه که getNetworkInfo منسوخ شده برای چک نت متد بهتری هست ؟

    • ۱ – تنها زمانی با خطای فورس کلوز در تبلت های بدون سیمکارت مواجه میشین که نیاز به اطلاعاتی مثل imei داخل پروژتون داشته باشید که بنده فکر نمیکنم داخل پروژه چنین دسترسی رو صادر کرده باشم پس باید به دیباگر خودتون برای پیدا کردن خطا مراجعه کنید
      ۲ – داخل اینترنت سرچ کنید صد ها روش برای بررسی اینترنت کاربر وجود داره ضمن اینکه این روش فعلی درسته منسوخ شده ولی هنوز کاربرد داره

  • kabir گفت:

    سلام
    برای اجرای ۴ تا عکس این کد ها درسته؟
    http://s9.picofile.com/file/8292511392/php.php.html
    اگر نه من چی باید بنویسم؟

    • باسلام
      همونطور که داخل اموزش ها اعلام کردم هر کاری که برای تصویر ۱ انجام میدین باید برای تصویر ۲ و … هم انجام بدین
      الان شما یه نگاه به آدرس تصاویری که توی این فایل رابط ساختین بندازین ؟
      ایا مقادیر $namefile و $namefile2 و $namefile3 و $namefile4 اصلا تفاوتی با هم دارن ؟
      دقیقا هر چهرتا آدرس یک تصویر رو ذخیره کردن !!!!!!!!
      ضمن اینکه خط زیر رو که برای تصویر ۱ گذاشتین چرا برای تصاویر ۲ و ۳ و ۴ نذاشتین ؟
      move_uploaded_file($content,$namefile);

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

  • حسن گفت:

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

  • میلاد گفت:

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

  • alfa گفت:

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

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

      • alfa گفت:

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

        • مواردی که مربوط هستن به ویو هارو مشاهده کنین
          این موارد مباحثی نیستن که ما به شما بگیم کدومو ببینین یا نبینین
          کار با اشیاء در برنامه نویسی اندروید جز اصول و پایه و حد ۰ به حساب میان
          مثل این هست که برای رشته عمران شما آجر و … رو نشناسی و بگی لیست اموزششون رو بدین تا ببینم در صورتی که در کنار آجر ، سیمان و … هم نیازه عزیز !

          • alfa گفت:

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

  • وحید گفت:

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

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

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

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

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

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

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

    به ایمیلتون پیام دادم لطفا چک کنید ممنون

  • میلاد گفت:

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

  • محمد گفت:

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

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

  • حسین موسوی گفت:

    روزتون بخیر و ممنون از پاسخ گویی تون
    اگه میشه راهنمایی کنید ، شما در زمان نوشتن کد برای گزینه فراموشی رمز در قسمت forgot با نوشته این کد AlertNewPass(username); نام کاربری رو به alert new pas انتقال دادید و در این خط استفاده کردید new_pass(username,et_new_pass.getText().toString());

    مشکل من این هست که forgot در رو یک فرگمنت و new pass رو در فرگمنت دیگری نوشتم حالا نمیدونم که username رو به چه صورت توی خط بالا string شو بگیرم اگه امکان داره بگید چجوری باید پرش کنم

    با تشکر

    • سلام خدمت شما
      تابع AlerNewPass رو از نوع استاتیک (static) تعریف کنید یعنی به این صورت :
      private static void
      یا
      public static void
      و در کلاس دیگه ای که میخواین این تابع رو صدا بزنید اول نام کلاسی که این تابع داخلش هست رو بذارید و سپس اسمش تابع رو صدا بزنید
      برای مثال :
      YourClass.AlerNewPass(username);

      موفق باشید

  • محمد گفت:

    سلام ، روز خوش
    اگر در برنامه بجای یک table برای آگهی ها چند table داشته باشیم تغییرات در کدام قسمت برنامه لازم است ؟
    آیا می شود در فایلهای php رابط ، table ها را اضافه کرد یا باید فایلهای رابط جداگانه نوشت ( در این صورت تغییرات در سمت اندروید به چه صورت است ؟)

    پیشاپیش ممنون از راهنمایی شما

    • محمد گفت:

      … بطور مثال در هنگام حذف آگهی این کوری جواب میده ؟

      $result = mysqli_query($connection,”delete from banners where ID=’$ID’ and delete from banners2 where ID=’$ID’ and delete from banners3 where ID=’$ID’ “);

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

        • محمد گفت:

          ممنون واقعا باعث شدید روشم و از اول تغییر بدم و الان کلی بهینه تر شد …

          فقط ۲ تا مساله دارم با برنامه :
          ۱٫ میشه به delete_banners.php کدی اضافه کرد که عکس داخل پوشه pics رو هم پاک کنه تا هاست اضافی نگیره … ؟؟؟

          ۲٫ با یک اکانت یکی دوبار که بنر جدید ارسال میکنم از دفعات بعد ارور میده و فورس کلوز ، ولی در سمت اندروید این مساله هست فقط … یعنی ارور خطای ارتباط با سرور میده ولی تمام و کمال آگهی ارسال شده و در سرور موجوده … برای این فورس کلوز در پنجره logcat این دو خط رو نشون میده :

          if(result.equals(“ok”)){
          و
          AsyncHttpClient.getDefaultInstance().executeString(post, new AsyncHttpClient.StringCallback() {

          مرسی از لطف همیشگیتون

          • محمد گفت:

            ببخشید خواستم سوال دوم رو دقیق تر بگم …

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

          • خواهش میکنم

            ۱ – بله داخل گوگل اگر سرچ کنید براتون میاره مثلا سرچ کنید :
            how delete file in php

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

  • حسین موسوی گفت:

    خسته نباشد …
    من وقتی این کد رو در فرگمنت مینویسم فورس کلوز میده با این که sp رو بصورت static از اکتیویتی اصلی میگیرم ؟!

    if(!sp.getString(“Username”,null).equals(“”) && !sp.getString(“Pass”,null).equals(“”)){
    fab.setVisibility(View.VISIBLE);
    }else {
    fab.setVisibility(View.GONE);
    }

  • Amir گفت:

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

  • Arman گفت:

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

  • saeed گفت:

    Error:(22, 0) Could not find method android() for arguments [build_214mfrcc5nf74hsme0v8hi4gb$_run_closure3@424e48d1] on root project ‘Soton’ of type org.gradle.api.Project.
    Open File

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

  • سعید گفت:

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

    compile project
    رو میدم خطای زیر رو میده
    Error:(73, 54) No resource found that matches the given name (at ‘android:actionModeCloseDrawable’ with value ‘@drawable/abc_ic_ab_back_mtrl_am_alpha’).
    این قسمت رو ارور میدخ
    @drawable/abc_ic_ab_back_mtrl_am_alpha

    • سعید گفت:

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

  • amir گفت:

    سلام من تو پرو ژه ام به جای این که از ویو پیجر استفاده کنم از باتم بار استفاده کردم ، و به این مشکل برخوردم که هر بار صفحه عوض میشه فرگمنت recreate میشه . این هم کد های منه :
    bottomBar = (BottomBar)findViewById(R.id.bottomBar);
    bottomBar.setOnTabSelectListener(new OnTabSelectListener() {
    Fragment fragment = null;
    @Override
    public void onTabSelected(@IdRes int tabId) {
    if (tabId == R.id.tab_all){
    fragment = new Frag_Banners_All();
    }else if (tabId == R.id.tab_cate){
    fragment = new Frag_Banners_Cate();
    }else if (tabId == R.id.tab_my){
    fragment = new Frag_Banners_My();
    }
    getSupportFragmentManager()
    .beginTransaction()
    .replace(R.id.content, fragment)
    .commit();

    }
    });

    }
    در ضمن همه ی سایت های خارجی رو گشتم و به نتیجه ای نرسیدم .

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

  • amir گفت:

    مرسی از کمکتون منیه سوال دیگه هم داشتم . زمانی که تو یه فرگمنت پره و توی یه شهر خالی میرید برنامه force stop میکنه یا مثلا وقتی شما یه چیزی سرچ میکنی برنامه اونو به درستی میاره ولی اگه یه چیزی سرچ شه که وجود نداشته باشه باز هم force stop میشه . دلیلش هم این خط کده :
    final HashMap hash_get = (HashMap) hash_all.get(position);

  • سامی گفت:

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

  • سامی گفت:

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

    • امکان ضبط اموزش اختصاصی وجود نداره اما میتونیم با دریافت هزینه بصورت اختصاصی براتون بخش علاقه مندی هارو روی پروژتون طراحی کنیم
      با ایدی زیر در تلگرام در تماس باشید :
      @SmaartAppIR

  • sahar گفت:

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

    • باسلام
      بین قسمت دوم و سوم موارد ابتدایی برنامه نویسی انجام شده
      پیشنهاد میکنم حتما برای اینکه در ادامه کار با مشکل روبه رو نشید چند قسمت ابتدایی برنامه نویسی اندروید رو که همکاران براتون ضبط کردند رو مشاهده کنید

  • علی گفت:

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

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

      • علی گفت:

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

        • دوست عزیز شما صحبتی میکنین که با عقل بنده جور در نمیاد
          دقیقا پروژه ای که توی اموزش ها تکمیل شده ، همون داخل سایت قرار گرفته به عنوان سورس کد
          مورد خطا لیست ، بدون استثنا دوستانی که ترای کش گذاشتن مشکل رفع شده ، بنده میدونم خودم چه کدی زدم و چه طرحی رو پیاده کردم که عرض میکنم و روی بیش از ۲۰۰ پروژه با حالت ترای کش مشکل رفع شده
          مشکل شما جای دیگست
          مطالب از سرورتون دریاف نمیشه و این یعنی خطا در کدنویسی شما
          با دقت اموزش هارو پیش برید چرا که بخواین اختصاصی براتون رفع مشکل بشه بصورت ساعتی هزینش باهاتون حساب میشه و مطمئن باشید در اخر شرمنده بنده میشید چرا که دقیقا عین صحبت و راهنمای که کردم مشکل فورس کلوز لیست قابل حل هست
          موفق باشید

  • masoud گفت:

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

  • siamak گفت:

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

  • محمد گفت:

    سلام
    لطفا میشه راهنماییم کنید که چطور ارسال عکس دوم به بعد رو در فایل رابط php اختیاری کنم . در حال حاظر طبق آموزش (عالی) شما حتما کاربر باید ۳ عکس ارسال کنه تا result پر باشه و ok پرینت کنه …

    ممنونم

    • سلام
      خیلی ساده میتونید یک مقدار جدید ارسال کنید به سمت سرور که حالی یکی از اعداد ۱ یا ۲ یا ۳ باشه
      توسط این عدد متوجه بشید که کاربر چند عکس ارسال کرده و طبق نیازتون کدنویسی کنید داخل این شرط ها )if(

      • محمد گفت:

        سلام ممنون ازتون

        ولی من زیاد تو php وارد نیستم ، فکر می کنید امکانش باشه یکم بیشتر توضیح بدین…
        مثلا بگید کجاها تغییر ایجاد کنم و اون مقدار رو کجا استفاده کنم …
        سر نخ بدین شاید تونستم حلش کنم
        متشکرم ازتون

        • خیلی سادست عزیز
          با یه دستور if میتونید اینکارو انجام بدید
          یه مقدار ارسال کنید مثلا با نام NumberImg و شرط بذارین که اگر این مقدار برابر ۱ بود یعنی یک عکس وجود داره و فقط یک عکس رو اپلود و ثبت کنید ، اگر برابر ۲ بود دوتا عکس اپلود و ذخیره بشه و …

  • amirhossein گفت:

    سلام من میخواستم بدونم چجوری میتونم توی خود detail_banners اطلاعات رو دریافت کنم ، یعنی تقریبا بلدم فقط نمیدونم چجوری آرایه Json رو به string تبدیل کنم.

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

      • amirhossein گفت:

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

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

  • آرمین گفت:

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

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

  • هادی گفت:

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

    • باسلام
      برای اینکه با ساخت ویو ها ( مباحث ساده و اولیه اندروید ) اشنا بشید ابتدا چندین قسمت از اموزش های ابتدایی اندروید سایت رو مشاهده کنید
      سپس بیاید سمت این پک
      در این صورت مشکلی نخواهید داشت

  • شاهین گفت:

    سلام،امکان خرید نیست،ای نماد منقضی شده

  • محمود گفت:

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

نظر خود را بیان کنید

*

code

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