توجه:

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

برای پیگیری سوالات خود در مورد اموزش ها هم میتوانید در زیر این پست نظر بگذارید و هم به آدرس ایمیل مدرس پیام بدید: amirstructure1372@gmail.com

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

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

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

خرید سورس:

خرید یکجا دوره + سورس رایگان:

فایل نصبی پروژه:

دانلود APK

قسمت سوم- ساخت Fragment تنظیمات

در این جلسه میایم و فرگمنت مربوط به قسمت تنظیمات رو ایجاد میکنیم و یاد میگیریم که در لحظه چطوری یک فرگمنت رو ایجاد کنیم و در لحظه ائن رو اضافه یا hide کنیم.

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

قسمت دوم- ساخت پروژه

در این قسمت بالاخره پروژمون رو Create میکنیم و تنظیمات مربوط به پروژمون رو انجام میدیم و از یکسری امکانات پیشفرض اندروید استودیو جهت ساخت پروژمون کمک میگیریم و در نهایت Toolbar و NavigationDrawer مربوط پروژمون رو شخصی سازی میکنیم.

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

قسمت اول – طراحی ظاهر برنامه در محیط نرم افزاری Pencil

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

قسمت ششم- ساخت FloatingLabels قسمت دوم

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

قسمت پنجم- ساخت FloatingLabels قسمت اول

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

قسمت چهارم- ساخت tabLayout

در این قسمت میایم و بر اساس سناریو ای که قبلا طراحیش کرده بودیم قسمت مربوط به TabLayout رو هم به پروژمون اضافش میکنیم تا اینکه بخشهای مختلف برنامون رو در داخل این Tab ها قرار بدبم.

قسمت نهم- قسمت سوم ساخت RecyclerView

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

قسمت هشتم- قسمت دوم آموزش RecyclerView

در این جلسه Adapter مربوط به RecyclerView خودمون رو میسازیمش و در نهایت یک ثبت درآمدی رو انجام میدم (بدن دیتابیس)

قسمت هفتم- قسمت اول ساخت RecyclerView

در این جلسه یک توضیح کلی در مورد RecyclerView میدهیم و سپس Layout مربوط به اون رو میسازیمش

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

قسمت دوازدهم- عملیات ویرایش و حذف حساب از داخل دیتابیس

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

قسمت یازدهم- اضافه کردن حساب به داخل دیتابیس

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

قسمت دهم- ساخت دیتابیس حساب

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

قسمت پانزدهم- اضافه کردن مقادیر به داخل دسته های کلی و جزئی

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

قسمت چهاردهم- ساخت دسته های کلی و جزئی قسمت دسته بندی

حالا توی این جلسه میرسیم به قسمت دسته بندی و طبق روالمون  به کمک نرم افزار SQLite Studio دسته های کلی و جزئی مربوط به قسمت دسته بندی هارو طراحی و تحلیل میکنیم.

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

قسمت سیزدهم – انتخاب یک حساب

در این جلسه  داده های خودمون رو با رویداد کلیک کاربر میفرستیم به اکتیویتی درآمد و درنهایت اونجا از idHesab و همچنین نام حساب اون استفاده میکنیم جهت ذخیره در داخل دیتابیس.

قسمت هجدهم- اضافه کردن تاریخ شمسی به پروژه

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

قسمت هفدهم- انتخاب یک دسته بندی

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

قسمت شانزدهم – پیاده سازی  دسته بندی

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

قسمت بیست و یکم- اضافه کردن درآمد به موجودی حساب

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

قسمت بیستم – ثبت درآمد

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

قسمت نوزدهم- ساخت دیتابیس درآمد و هزینه در داخل SQLiteStudio

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

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

قسمت بیست و چهارم- تکمیل ظاهر فرگمنت گزارشگیری

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

قسمت بیست و سوم- ساخت ظاهر فرگمنت تنظیمات

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

قسمت بیست و دوم- کسر کردن هزینه از مقدار موجوذی حساب

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

قسمت آخر – گزارشگیری از تراکنش ها

از تمامی تراکنش های هزینه و درآمد به صورت دلخواه در قالب RecyclerView گزارشگیری میکنیم.

قسمت بیست و ششم- گزارشگیری از حساب ها

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

قسمت بیست و پنجم- گزارشگیری از کل ثبت ها

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

لینک کوتاه شده مطلب: http://www.esfandune.ir/DqnWw

درباره امیر اصغری

با سلام و احترام امیر اصغری ، ساکن شهرستان اهر ، تسلط کامل به برنامه نویسی اندروید ،جاوا، و php

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


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


۶۱ نظر

  • محمد گفت:

    این آموزش ۲۹ قسمته و قسمت ۱ و ۲۴ نیست در آموزش… لطفآ ایمیل کنید…چرا ناقص آپلود میکنید ؟؟؟

    • امیر اصغری گفت:

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

  • محمد علی گفت:

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

  • سعید گفت:

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

    • امیر اصغری گفت:

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

  • مسعود گفت:

    باسلام
    آیا فایل apk نسخه کامل پروژه است
    چون بخش هایی مثل تنظیمات و درباره ما و ارتباط با ما چیزی نداره

    • امیر اصغری گفت:

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

  • Mohammad گفت:

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

    • امیر اصغری گفت:

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

      موفق و سربلند باشید

  • Mohammad گفت:

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

    • امیر اصغری گفت:

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

  • Mohammad گفت:

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

    • امیر اصغری گفت:

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

  • امید گفت:

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

    • امیر اصغری گفت:

      با سلام
      خیر در این دوره ما Back up گیری از دیتابیس رو نذاشتیم
      چون خواستیم بیشتر تمرکزمون بر روی طراحی و تحلیل دیتابیس باشه.
      ولی در حالت کلی ذخیره سازی و احیا اطلاعات باید کلاس BackupAgent را به ارث ببرید .
      آسان ترین روش برای پیاده سازی و استفاده از قابلیت backup, بکاربردن SharedPreferencesBackupHelper برای shared preferences و FileBackupHelper جهت تهیه ی backup از فایل های موجود در حافظه ی داخلی سیستم است . هر دو کلاس کمک رسانی (helper class) نام برده به صورت خودکار فایل های ثبت یا رجیستر شده را ذخیره سازی و احیإ می کند .
      برای دریافت اطلاعات بیشتر به لینک زیر مراجعه بفرمائید
      https://developer.android.com/google/backup/signup.html

  • سید حسن میرطالبی گفت:

    fragmentTransaction.replace(R.id.context_main, fragment);
    ان کد خطا می ده قسمت fragment هر کاری کردم درست نشد لطفا کمکم کنید.

    • امیر اصغری گفت:

      با سلام
      دوست عزیز این مرحله همان مرحله جایگزین سازی هست که شما اون فرگمنتی که طراحی کردید رو جایگزین یک view جهت نمایش میکنید از اون جایی که من نمیدونم چه اروری برای شما نمایش داده میشه احتمال میدم خطا از این دو چیز باشه یا اینکه شما در لایه context_main آیدی مروطه لایه رو که هست context_main رو ننوشتید که شاید ارور از این باشه
      در غیر این صورت از fragment هست که شما شی کلاس رو یا نام دیگری در نظر گرفتید یا اصلا شی در این مورد درست نکردید.
      امیدوارم که مشکلتون حل بشه.
      موفق باشید

  • محمد گفت:

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

  • امیر گفت:

    سلام مهندس من کل پروژه رو خریدم.

    قسمت

    Fragment fragment = null;
    fragment = new FragmentSetting();
    if (fragment!= null)
    {
    FragmentManager fragmentManager =getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    fragmentTransaction.replace(R.id.context_main,fragment);
    fragmentTransaction.commit();

    }

    و

    public class FragmentSetting extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_setting, container, false);
    return view;
    }
    }

    ولی این خطا رو میده

    Wrong 2nd argument type. Found: ‘android.app.Fragment’, required:
    ‘android.support.v4.app.Fragment’ less…

    replace (int, android.support.v4.app.Fragment) in FragmentTransaction cannot be applied
    to (int, android.app.Fragment)

    چکار کنم؟

    • امیر گفت:

      با این روش رفتم درست شد، ممنون از خودم getFragmentManager().beginTransaction().replace(R.id.context_main,new FragmentSetting()).commit();

    • امیر اصغری گفت:

      با سلام شما برای حل این مشکل دو تا کار میتونید انجام بدید یا اینکه خط زیر رو توی کلاس Fragment تون import کنید یا همون کلاس رو مجددا از همین کد زیر extend کنید.
      android.support.v4.app.Fragment
      موفق باشید …

  • امیر گفت:

    ببخشید فکر کنم درست کپی نشد.
    getFragmentManager().beginTransaction().replace(R.id.context_main,new FragmentSetting()).commit();

  • امیر گفت:

    در جلسه ۵ ایجادTabLayout در صفحه main

    class ViewPagerAdapter extends FragmentPagerAdapter{
    private final List fragmentList=new ArrayList();
    private final List fragmentTitleList=new ArrayList();

    public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
    }

    @Override
    public android.support.v4.app.Fragment getItem(int position) {
    return fragmentList.get(position);
    }

    @Override
    public int getCount() {
    return 0;
    }
    }
    که در قسمت return fragmentList.get(position); خطا ی زیر را میده
    Incompatible types.
    Required:
    android.support.v4.app.Fragment
    Found:
    android.app.Fragment
    جالب اینجاست که در فیلم شما این قسمت
    public android.support.v4.app.Fragment
    به این صورته public Fragment

    • امیر اصغری گفت:

      ببینید دوست عزیز خدمتتون عرض کردم یا import کنید یا ارث بری کنید
      حال که فرگمنت من به این صورته مطمئنا import شده چون Android Studio رو تو حالت Auto import قرار دادم کلاس های مورد نیاز خودکار در اون قسمت اضافه میشن
      اگر توی tabLayout مشکل دارید کد setUpViewPager رو بذارید زیر کد tabLayout.setUpWithViewPager تا مشکلتون حل بشه

  • امیر گفت:

    منم رفتم در حالتAuto import قرار دادم ولی مشکلم حل نشد.
    رفتم در import ها به جایimport android.app.Fragment
    import android.support.v4.app.Fragment این رو جایگزین کردم.
    مشکلم حل شد.

  • یاس گفت:

    با سلام در جلسه چهار در این قسمت کد
    if (fragment != null){

    FragmentManager fragmentManager = getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    fragmentTransaction.replace(R.id.context_main ,fragment);
    fragmentTransaction.commit();
    از فرگمنتی که توی replace نوشتم ایراد میگیره با این ارور
    Error:(101, 94) error: incompatible types: android.app.Fragment cannot be converted to android.support.v4.app.Fragment

  • امیر گفت:

    سلام مهندس
    سلام
    من درapp_bar_main
    اومدم واسه
    android.support.design.widget.CoordinatorLayout
    android:id=”@+id/coordinatorlayout” ادرس تعریف کردم.
    بعدش با دستور
    getFragmentManager().beginTransaction().replace(R.id.coordinatorlayout,new FragmentSetting()).commit();
    که قبلا نتیجه گرفته بودم اومدم صفحات رو جابه جا کنم ولی نه خطا میده و نه جابه جا میکنه.
    نمیدونم چکار باید بکنم؟

    • امیر اصغری گفت:

      با سلام
      هیچ مشکلی وجود نداره فرگمنت شما ایجاد شده
      فقط فرگمنت قبلی hide نشده
      برای حل این مشکل در آخر کار بنویسید
      ;()fragmentTransaction.hide

      • امیر گفت:

        این دستورمتاسفانه اجرا نمیشه، در دستورات فیلمتون اجرا میشه ولی اونجا خطا میده و دوم اینکه من بعد ازreplace و قبلش دستورhide رو اضافه کردم داخلش یک فرگمنت باید تعریف بشه، این که R.id.coordinatorlayout فرگمنت نیست هر چی سرچ میکنم، دستورات رو جابه جا میکنم نمیشه که نمیشه

      • امیر گفت:

        حتی مهندس بعداز دستور
        getFragmentManager().beginTransaction().replace(R.id.context_main,new FragmentSetting()).addToBackStack(null).commit();

        این دستور هم استفاده کردم fragment میاد ولی صفحه قبلی سرجاش هست که هست
        getFragmentManager().beginTransaction().hide(getFragmentManager().findFragmentById(R.id.context_main));

        • امیر اصغری گفت:

          من نمیدونم چرا شما مثل ویدئو کار نمیکنید
          کد شما رو هم تست نکردم
          توصیه میکنم از کدهای موجود و ویدئو استفاده کنید …

  • امیر گفت:

    سلام مهندس در جلسه۱۶ واسه دسته بندی بهsql من گیر میده
    String sq = ” SELECT ID,NameDastehayeKoli FROM tb1_dastehayekoli WHERE NoeDastebandi = ‘” + noeDastebandi + “‘”;

    SQLiteDatabase database = this.getReadableDatabase();
    Cursor cursor = database.rawQuery(sq, null);
    حتی من دیتابیس و کدهای این قسمت شما رو هم ک\ی کردم بازم فورس کلوز میده و دیتابیس رو نمیخونه. خط بالا رو هم در نرم افزار sqlite امتحان کردم درست بود. الان دیگه نمیدونم چکار کنم؟

  • یاسمن گفت:

    cannot resolve resource @id/invisible
    با سلام ایم مشکل تو فایل xml من بوجود اومده چجوری میتونم حلش کنم

  • Z.s گفت:

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

    • امیر اصغری گفت:

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

  • z s گفت:

    سلام.در جلسه ساخت تنظیمات fragment برنامه ی من ازخط زیر خطا میگیره:
    fragmentTransaction.replace(R.id.context_main,fragment);
    از fragment آخر ایراد میگیره و این خطا رو میده:
    replace(int, android.support.v4.app.Fragment)’ in ‘android.support.v4.app.FragmentTransaction can not be applied to (int,android.app.fragment)
    ممنون میشم راهنمایی کنید.

  • zohre گفت:

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

  • z s گفت:

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

    • امیر اصغری گفت:

      اگر طبق روال عادی باشه اصولا نباید باتن hide بشه
      مگر اینکه شما قابلیت invisible یا gone شدن برای button تون توی رویداد کلیکش نوشته باشید.

  • sara گفت:

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

  • زهره گفت:

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

  • زهره گفت:

    سلام پیرو کامنت قبل من در کلاس HesabdariViewHolder از طریق itemView.setOnLongClickListener میخوام این کار را انجام بدم.اما متد حذف در دیتابیسم به درستی کار نمی کند و برنامه کرش میکنه.لطفا راهنمایی کنید.متد حذف اینه:
    public boolean deleteDH(int id)
    {
    boolean result;
    String sql=”DELETE FROM tbl_DH WHERE ID = ” + id;
    try {
    SQLiteDatabase database = this.getWritableDatabase();
    database.execSQL(sql);
    database.close();
    result = true;
    } catch (Exception ex) {
    result = false;
    }
    return result;
    }

  • زهره گفت:

    متدی هم که در رویداد کلیک آیتم در کلاس آداپتر نوشتم ای هست:
    databaseForHesabdari.deleteDH(getAdapterPosition());

  • mohammadreza گفت:

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

    • امیر اصغری گفت:

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

  • زهره گفت:

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

  • زهره گفت:

    خیلی ممنون اگر کامنت من رو خونده بودید من متدی که تو دیتابیس نوشتم رو براتون نوشتم و همین ویژگی هایی که گفتین داره اما گفتم که هیچ جوابی بر نمی گردونه.
    public boolean deleteDH(int id)
    {
    boolean result;
    String sql=”DELETE FROM tbl_DH WHERE ID = ” + id;
    try {
    SQLiteDatabase database = this.getWritableDatabase();
    database.execSQL(sql);
    database.close();
    result = true;
    } catch (Exception ex) {
    result = false;
    }
    return result;
    }

  • یاسمن گفت:

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

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

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