قیمت این دوره: 180,000 تومان
  • مدرس دوره : ادریس آهنی
  • تعداد ویدیوها : 54 ویدیو
  • مدت زمان دوره : 18:39:00
  • سطح دوره : متوسط
  • وضعیت دوره : به اتمام رسیده
  • تاریخ آخرین بروزرسانی : 1398/12/26
آموزش ساخت چت اندروید با استفاده از فایربیس

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

آموزش 0 تا 100 ساخت یک اپلیکیشن چت اندروید با استفاده از FireBase

 

اگر تا حالا به اپلیکیشن هایی که نیاز به سمت سرور داشته اند توجه کرده باشید متوجه شده اید که برای ساختن یک موبایل یا وب اپلیکیشنی که نیاز به سمت سرور دارد شما باید زمان وانرژی و هزینه ی بیشتری صرف کنید تا بتوانید یک سیستم بک اند مناسب برای اپلیکیشن خود پیاده سازی کنید. Firebase در سال 2011 توسط اندرو لی و جیمز تامپلین تأسیس شد و در آوریل 2012 پایگاه داده ابری بلادرنگ خود را راه اندازی نمود. محصول اولیه Firebase یک پایگاه داده ای بلادرنگ بود که با رابط برنامه نویسی نرم‌افزارخود به توسعه دهندگان این اجازه را می داد تا داده‌های خود را از مشتریان متعدد ، ذخیره و همگام سازی نمایند. در اکتبر 2014 شرکت گوگل این شرکت را از آن خود کرد.

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

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

پیش نیاز های این دوره آشنایی با جاوا و اندروید است.

8 جلسه ابتدای دوره رایگان است .

 




فهرستـــ ویدیوها

مدت زمان دوره 18:39:00
00:00
00:00
  • با مشاهده آنلاین جلسات در سایت ، هزینه اینترنت شما به صورت نیم بها محاسبه خواهد شد.

1
  • معرفی دوره

00:03:00

معرفی دوره

2
  • ابزارهای مورد نیاز این دوره

00:11:00

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

3
  • ارتباط اپلیکیشن با فایربیس در اندروید استودیو

00:06:00

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

4
  • app bar سفارشی

00:11:00

سفارشی کردن app bar در اندروید استودیو 

5
  • ساخت Tab های مورد نیاز اپلیکیشن چت

00:23:00

استفاده کردن از TabLayout و ViewPager و پیاده سازی یک کلاس برای نمایش Tab های موجود در اپلیکیشن

6
  • نحوه ثبت نام کردن کاربران با استفاده از فایربیس

00:29:00

پیاده سازی ثبت نام کردن کاربران با استفاده از فایربیس و طراحی layout های مربوط به  login و register

7
  • پیاده سازی متد مربوط به ثبت نام کاربران

00:29:00

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

8
  • پیاده سازی متد مربوط به login کاربران

00:16:00

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

9
  • طراحی یک Menu برای برنامه و Log out کردن از برنامه

00:09:00

طراحی یک Menu شامل 3 گزینه برای انتخاب و خارج شدن از برنامه با استفاده از Log out

10
  • ارسال یک ایمیل فعال سازی هنگام ثبت نام کاربران برای تایید کردن ایمیل کاربران

00:21:00

ارسال یک ایمیل فعال سازی برای جلوگیری از ساخت ایمیل های غیر معتبر توسط کاربران

11
  • استفاده از دیتابیس realtime در برنامه و طراحی SettingsActivity

00:25:00

نحوه ایجاد دیتابیس بلادرنگ در برنامه برای ذخیره داده های خود و طراحی  SettingsActivity

12
  • ذخیره username, status, uid هر کاربر در Realtime Database

00:28:00

ذخیره کردن داده های ذکر شده در دیتابیس بلادرنگ برای کاربران و جلوگیری از دسترسی کاربران به MaintActivity قبل از وارد کردن username های آنها

13
  • بازیابی مقادیر username و status از دیتابیس

00:14:00

توضیح مختصر:  بازیابی مقادیر username  و status از دیتابیس و نمایش آنها در SettingsActivity

14
  • اضافه کردن آیتم ایجاد گروه در Menu

00:15:00

اضافه کردن گزینه ای با عنوان ایجاد گروه برای ساختن گروه ها

15
  • بازیابی و نمایش گروه های موجود در یک Fragment

00:17:00

بازیابی گروه های موجود در Realtime Database و نمایش آن ها در ListView ایجاد شده در GroupsFragment

16
  • ایجاد GroupChatActivity

00:21:00

ایجاد Activity مربوط به Group Chat و حرکت به این Activity با کلیک بر روی هر یک از آیتم های موجود در لیست گروه ها

17
  • ذخیره داده های send شده توسط هر کاربر در گروه مورد نظر

00:24:00

فرستادن داده هایی که کاربر در ورودی وارد می کند و ذخیره ی این داده ها در Realtime Database گروه مورد نظر

18
  • بازیابی داده های موجود در هر گروه و نمایش آن ها به کاربر

00:19:00

بازیابی تمامی داده هایی که برای هر گروه در دیتابیس وجود دارد و نمایش آن ها به کاربران هنگامی که وارد آن گروه می شوند

19
  • Scroll خودکار پیام ها

00:09:00

Scroll خودکار به انتهای پیام ها بعد از بازیابی آن ها از دیتابیس

20
  • استفاده از Cloud Storage برای ذخیره عکس پروفایل کاربر در فایربیس

00:18:00

انتخاب یک عکس پروفایل از دیوایس کاربر و ذخیره آن در Storage

21
  • ذخیره آدرس عکس ذخیره شده پروفایل کاربر در Realtime Database

00:16:00

ذخیره آدرس عکس ذخیره شده پروفایل کاربر در دیتابیس Realtime و استفاده از این آدرس برای نمایش عکس پروفایل کاربر در Image View

22
  • ایجاد یک Activity و طراحی یک Layout

00:20:00

ایجاد Activity مربوط به Find Friends و طراحی Layout مربوط به نمایش کاربران در RecyclerView

23
  • استفاده از FirebaseRecyclerAdapter

00:23:00

لیست کردن تمامی کاربران ثبت نام کرده با استفاده از FirebaseRecyclerAdapter

24
  • نمایش اطلاعات هر کاربر بعد از کلیک کردن بر روی آیتم آن کاربر

00:27:00

نمایش اطلاعات هر کاربر در ProfileActivity بعد از کلیک کردن بر روی آیتم آن کاربر

25
  • ارسال و لغو درخواست چت

00:24:00

پیاده سازی ارسال و لغو درخواست چت برای یک کاربر خاص

26
  • لغو درخواست چت توسط دریافت کننده درخواست

00:14:00

پیاده سازی لغو درخواست چت توسط کاربری که درخواستی از طرف کاربری دیگر داشته است.

27
  • پذیرفتن درخواست چت توسط دریافت کننده درخواست

00:18:00

پیاده سازی پذیرفتن درخواست چت توسط کاربری که درخواستی از طرف کاربری دیگر داشته است.

28
  • پیاده سازی Remove یک کاربر و نمایش Contacts کاربران

00:26:00

پیاده سازی Remove  یک کاربر و نمایش تمامی Contacts های ذخیره شده کاربر در تب  Contacts

29
  • اضافه کردن تب مربوط به نمایش Requests

00:13:00

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

30
  • نمایش Requests های ارسال شده برای کاربر

00:34:00

پیاده سازی نمایش Requests ارسال شده برای کاربر در تب Requests

31
  • پذیرفتن یا رد کردن درخواست های ارسال شده برای کاربر

00:20:00

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

32
  • رفع چند باگ

00:13:00

رفع چند مشکل موجود در برنامه و تغییر بخش هایی از کد برای برطرف کردن باگ های موجود
زمان: 12:05

33
  • نمایش تمامی Contacts ها در تب Chats

00:23:00

نمایش contact ها در تب chats برای چت خصوصی

34
  • پیاده سازی کلیک کردن آیتم های تب Chats

00:26:00

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

35
  • ذخیره پیام های Private Chat در دیتابیس

00:23:00

پیاده سازی ذخیره پیام های وارد شده توسط کاربر در private چت در دیتابیس فایربیس

36
  • بازیابی پیام های Private Chat موجود در دیتابیس و نمایش آن ها

00:39:00

پیاده سازی بازیابی پیام های Private Chat موجود در دیتابیس و نمایش آن ها به کاربر 

37
  • Scroll کردن خودکار به انتهای پیام ها در Private Chat

00:13:00

Scroll کردن خودکار به انتهای پیام ها و رفع چند باگ 

38
  • پیاده سازی Push Notification در پروژه

00:21:00

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

39
  • Cloud Function

00:26:00

ساخت یک Function برای ارسال نوتیفیکیشن هنگام درخواست چت و deploy آن

40
  • نمایش نام کاربر درخواست کننده چت در نوتیفیکیشن

00:20:00

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

41
  • نمایش Requests های ارسال شده به کاربران دیگر

00:10:00

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

42
  • Online یا Offline بودن کاربر

00:13:00

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

43
  • رفع باگ Online یا Offline بودن کاربر

00:14:00

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

44
  • نمایش Online یا Offline بودن کاربران

00:19:00

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

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

00:19:00

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

46
  • ارسال عکس

00:39:00

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

47
  • ارسال یک فایل

00:36:00

پیاده سازی ارسال یک فایل pdf برای یک کاربر و دانلود آن با  کلیک بر روی آن فایل

48
  • حذف پیام ها ی ارسال شده در چت

00:42:00

حذف پیام های ارسال شده توسط کاربر از هر دوطرف یا از یک طرف با کلیک کردن بر روی هر پیام

49
  • طراحی layout مربوط به PhoneLoginActivity

00:17:00

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

50
  • ارسال کد تایید به شماره تلفن کاربر

00:37:00

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

51
  • ورود به برنامه بعد از تایید شدن کد

00:21:00

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

52
  • پیاده سازی فراموش کردن رمز ورود کاربر

00:20:00

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

53
  • آشنایی با Security Rules دیتابیس فایربیس

00:45:00

آشنایی با Security Rules و نوشتن چند قانون امنیتی برای دیتابیس فایربیس

54
  • سورس پروژه نهایی

00:00:00

سورس پروژه نهایی


نظرات کاربران در رابطه با این دوره

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

amir.amg

ارسال شده در 1401/02/30

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

با اینکه یکم دوره قدیمی شده آیا مشکلی پیش نمیاد؟

چون فایربیس تغییر کرده!

ادریس آهنی (مدرس)

ارسال شده در 1401/02/31

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

محمدباقر آ

ارسال شده در 1401/01/28

سلام و درود

بنده میخام این دور رو بخرم اما مشکل فایر بیس هست چون تحریم هستیم باید **شکن رو استفاده کنیم بنظر شما میشه داخل برنامه dsn سرویس شکن رو مستقیما قرار داد تا مشکل فایر بیس حل بشه؟

محمدباقر آ

ادریس آهنی (مدرس)

ارسال شده در 1401/01/28

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

mz123

ارسال شده در 1400/10/16

سلام و درود خدمت استاد

استاد این دوره پنل ادمین برای عضویت و ورود دارد؟

ادریس آهنی (مدرس)

ارسال شده در 1400/10/16

سلام دوست عزیز 

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

amiroo

ارسال شده در 1400/05/26

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

armin.olfati

ارسال شده در 1400/03/16

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

mohammad ab

ارسال شده در 1400/02/01

درود بر شما جناب آهنی

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

 

mohammad ab

ادریس آهنی (مدرس)

ارسال شده در 1400/02/02

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

z.sadat.o

ارسال شده در 1399/12/22

با سلام  

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

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

محدودیتی در استفاده از دیتابیس فایربیس از نظر تعداد جدول های ایجاد شده در آن و ... وجود ندارد؟

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

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

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

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

ادریس آهنی (مدرس)

ارسال شده در 1399/12/23

سلام دوست عزیز

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

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

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

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

موفق باشید

homan

ارسال شده در 1399/10/26

سلام

توی ایران کار میکنه؟ یعنی در حال حاضر تحریم نیستیم از طرف فایربیس؟

 

ادریس آهنی (مدرس)

ارسال شده در 1399/10/26

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

موفق باشید

mohammadjavdaneh

ارسال شده در 1399/09/17

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

ادریس آهنی (مدرس)

ارسال شده در 1399/09/17

سلام دوست عزیز

در این دوره از Android studio و زبان برنامه نویسی جاوا استفاده شده. 8 جلسه ابتدایی دوره رایگان هست و شما قبل از خرید دوره می تونید اون ها رو به صورت رایگان ببینید.