Beast Android Development:Integrating A Node.Js Server
4.6 (46 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
346 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Beast Android Development:Integrating A Node.Js Server to your Wishlist.

Add to Wishlist

Beast Android Development:Integrating A Node.Js Server

Learn how to create and combine a Node.js server with Firebase to create powerful, faster, and more secure android apps.
Best Seller
4.6 (46 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
346 students enrolled
Created by Carlos Valentin
Last updated 12/2016
English
Current price: $12 Original price: $60 Discount: 80% off
4 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 12.5 hours on-demand video
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Build a real time android chatting app
  • Create a node.js server to increase an android apps security and performance
  • implement user to user push notifications
  • Utilize Rx-Java effectively to create a non-blocking structure
  • Integrate user profiles inside an android app
  • Understand and ask for android marshmallow/nougat permissions
  • Scale and compress images to insure quick and reliable upload speed
View Curriculum
Requirements
  • You should understand android concepts such as the activity life cycle, recyler-views, fragments, and xml layouts
  • You should understand the basics of rx-java some topics including what observers/observables, how to use subjects, and making background threads
  • You should be able to utilize Googles Firebase inside an android project
  • You should have access to your SHA1 fingerprint
  • You should understand how to install and use butter-knife for android view bindings
  • You should already have android studios installed and have at least two devices for testing. You can use 2 emulators but it is recommended you use at least one phone.
  • You do not need to have any node.js experience to take this course
Description

Firebase alone although a useful and powerful back end is not enough to build a truly great android app. It is best to create a node.js server to play middle man between your android client and Firebase. By having a node.js server, you improve security, app performance, and unlock features such as user to user push notifications! 

The main purpose of this course is to show you how to build and utilize a node.js server with Firebase to create a powerful android application. In order to accomplish this goal, we will build a fully functional chatting app from scratch. This app will contain features such as real time chatting, user profiles, and notifications to name a few. You will also pick up some UI tricks like creating a bottom navigation bar, using circular image views, and wiring up a search bar. 

This course is designed for intermediate Android Developers. We are going to be creating plenty of android code but a lot of boilerplate code such as recycler-view adapters will not be explained. Therefore, it is best that you already have a firm understanding on Android. In addition, you are also expected to know the basics of rx-java. Rxjava will play a big role in our project and there will be no basic explanations such as what observables/observers are. Although we will be building a node.js server, you are not required to know how to code in javascript. Just be sure to be ready for the challenge of quickly picking up a new language! 

This course is one of a kind as there is no other Android course that tackles implementing a node.js server into development. By taking this course not only will you achieve a whole new level in your development skills but you'll be able to build any app you can think of!  

       



Who is the target audience?
  • This course is for Intermediate Android Developers who want to learn how to create more powerful and safer apps
  • Since we will be using another language other then Java, this course is also for android developers who love a challenge
  • This course is not for beginner Android Developers
Compare to Other Android Development Courses
Curriculum For This Course
60 Lectures
12:30:37
+
Setting Up Our Environment
7 Lectures 57:50

In this lecture we will talk about the goals of the course as well as see a demo of the app we will build.

Preview 07:03

In this lecture we will discuss and install node.js into our machines. We will also grab Atom, a brand new IDE to work with node effectively. 

Preview 05:56

In this lecture we will organizing the files and folders that will hold our node server. In addition, we also see how to write hello world in java-script.

Preview 08:07

In this lecture, we will build a simple node.js server using express and install a few packages using the node package manager.

Preview 05:22

In this lecture, we are going to create our android app beast chat. In addition, we are going to connect the app to our server using sockets.

Preparing our android client
10:48

Our android client will use fragments for all the screens and for this lecture we prepare this. In addition, we build our first screens. 

Using fragments
08:45

In this lecture we add firbase to both our android client and node.js server. By adding firebase to our node server, we grant it admin access to our database.

Adding firbase to our client and server
11:49
+
User Authentication
10 Lectures 01:57:59

In this lecture, we build a very simple login and registration screen.

Building a simple login/registration screen
15:25

In this lecture, we prepare our android client to send the user registration info to our server.

Sending registration information pt.1
18:16

In this lecture, we complete setting up our android client to send the user information to our server.

Sending the user registration information pt.2
05:40

In this lecture, we prepare our server to retrieve the user registration from our client.

Registering a user pt.1
07:35

In this lecture, we use our server to register a user using Firebase.

Registering a user pt.2
10:34

After registering our user, we need to let the client know if the request failed our succeeded. In this lecture, we see how to send the android client a response from our server.

Sending our client a response
11:18

In this lecture, we create a custom authentication token for our user using the server. This token will contain the users email address and will substantially decrease the amount of firebase rules needed. 

Creating a custom auth token
10:17

In this lecture, we write rxjava subscription methods in order to send the users login information to our node server.

User login pt.1
16:32

In this lecture, we build an authentication check for our app to insure that a user must be logged in to use the main features. 

User login pt.2
11:31

To finish off the second section, we complete our login by storing the users information inside a shared preference. In addition, we test both our server and client code for user login.

User login pt.3
10:51
+
Building Our Apps Navigation
4 Lectures 40:21

In this lecture, we add and set up a bottom navigation with pictures inside our android project. 

Bottom navigation pt.1
13:04

In this lecture, we finish setting our our apps navigation by hooking up fragments to our bottom bar. In addition, we also see how to use an android animation. The fade out!  

Bottom navigation pt.2
11:01

In this lecture, we build an adapter and a few fragments for our view-pager. This view-pager will hold our friends flow inside the app.

View-pager pt.1
11:39

In this lecture, we finish setting up our view-pager by hooking it up to our apps UI. 

View-pager pt.2
04:37
+
Friend Requests
10 Lectures 02:10:47

In this lecture, we are going to prepare our first recycler view by building all the necessary layouts. This recycler-view will have a search bar at the top in order to allow the user to search for friends.

Search bar recycler-view pt.1
14:29

In this lecture, we finish building all the necessary layouts for our search bar recycler-view.  

Search bar recycler-view pt.2
11:27

In this lecture, we build the recycler-views adapter and view holder. With these two items build, all that is left is adding data to the recycler-view.

Search bar reycler-view pt.3
11:00

in this lecture, we see how to see our search bar recycler-view to display all the users from firebase.

Reading data from firebase
13:45

In this lecture, we will explain and start implementing the flow for friend requests on our client side.

Sending a friend requests pt.1
11:26

In this lecture, we continue with our friend request logic and integrate the friend request withdraw feature.

Sending a friend request pt.2
14:51

In order to complete sending a friend request, we must access and write inside  another users data. This is strictly forbidden in our app. Therefore, we will use our server to do the task.

Updating other users data pt.1
11:03

In this lecture, we finish up sending friend requests.

Updating other users data pt.2
15:35

In this lecture, we integrate an important feature. That feature is once a users gets a friend request, he or she cannot then request the other user.

Receiving a friend request
14:56

In this lecture, we see how to use rx-java to assist in creating a fully functional search bar.

Wiring up our search bar
12:15
+
User Friends
5 Lectures 01:33:23

In this lecture, we start displaying the users friend requests by building the necessary layouts and making a view holder. 

Displaying friend request pt.1
13:43

In this lecture, we finish displaying the friend request by hooking up our adapter and data.

Displaying friend request pt.2
19:57

In this lecture, we wire up both our client and server to approve or decline friend requests.

Approving friend requests
19:58

In this lecture, we start building our final recycler view for this section. We start of course with our layouts and also view holder. In addition, we also fix a few layout mistakes from the last lecture.

Showing the users friends pt.1
19:50

In this lecture, we finish showing the users their approved friends by hooking up our adapter and attaching data.

Showing the users friends pt.2
19:55
+
Push Notifications
4 Lectures 47:07

In this lecture, we see how to obtain and safely store the messaging id given to us from firebase.

Firebase cloud messaging id
10:47

In this lecture, we prepare our server to obtain and send a message to the appropriate user.

Firebase push messaging pt.1
09:01

In this lecture, we prepare our android client to receive and display messages. 

Firebase push messaging pt.2
13:24

To finish off our friend request messaging, we also add an indicator to show the user any new friend requests.

New friend request indicator
13:55
+
Building Our Chatting Feature
14 Lectures 03:08:32

In this lecture, we start building our message activity layout in order to start sending messages.

Making our chat box pt.1
10:56

In this lecture, we finish building our message activity layout in order to start sending messages.

Making our chat box pt.2
12:06

In this lecture, we build our forth recycler view! We get all the boiler plate stuff done such here as the item layout, view holder, and adapter.

Customizing user messages
19:56

In this lecture, we prepare our client to start sending user messages.

Sending a message pt.1
18:04

In this lecture, we prepare our server to handle the user messages correctly.

Sending a message pt.2
13:16

In this lecture, we start displaying user messages by wiring up our recycler-view and adapter.

Displaying user messages
08:47

In this lecture, we start designing the layout for our final recycler views items.

Making a user chat room pt.1
10:06

In this lecture, we finish designing the layout for our final recycler views items and build the view holder/adpater.

Making a user chat room pt.2
11:33

In this lecture, we hook up our final recycler view to our firebase data.

Displaying user chat rooms pt.1
09:18

In this lecture to prepare our client side to handle sending chat rooms to the current user.

Displaying user chat rooms pt.2
14:38

In this lecture, we finishing showing the user their chat rooms by preparing our server to handle the chat room data correctly.

Displaying user chat rooms pt.3
19:56

Our chat room does work however, there are a few corrections we can make to allow a better user experience.

Fixing chat bugs pt.1
16:39

In this lecture, we finish polishing up the chat feature.

Fixing chat bugs pt.2
07:36

To finish off our chat feature and section, we add a indicator to our bottom bar to tell the user how many new messages they have.

Adding a message notification
15:41
+
Modify User Profiles
6 Lectures 01:14:38

In this lecture, we prepare the final screen for our app.

Building our final layout
16:47

In this lecture, we allow the user to access their camera or photo picker inside the app to save an image.

Allowing camera usage
15:26

In this lecture, we start requesting permissions to android 6 and up.

Requesting permission in android 6/7 part.1
06:46

In this lecture we finish asking for permissions in Android Marshmallow. With that taking care of, we can use the camera freely on any device. 

Requesting permission in android 6/7 part.2
09:47

In this lecture, I show you how to turn a users picture into a bitmap and compress it to insure quality. In addition, we also see how to store the picture in firbase storage.

Compressing and storage a users picture.
18:37

We add our final feature to our course which is a sign out button. I also want to personally thank each and very one of you for taking my course!

Adding a sign out feature/Thank you!
07:15
About the Instructor
Carlos Valentin
4.2 Average rating
286 Reviews
5,984 Students
4 Courses
Android Developer

I started with android about 2 years ago right after my java course at Arizona State. However since I was in school, I only really focused on practicing and not developing my own apps. Now that school is over, I am a full fledged android developer! I've published one app so far called RushTPO which holds information about my fraternity. 

The main object of my courses is to help you improve as an Android Developer. I believe there are enough beginner android courses on Udemy and I wish to take my students to bigger and higher heights. My courses tackle on subjects such as Firebase, Rxjava, advanced uI designs, and even implementing Node.js into development .

When I am not developing which is rare: you can catch me at the gym chasing a two plate bench, playing clash royale, or reading a good book about success stories. A great fun fact about me is that I was once addicted to playing chess but stopped once I found android development. If you have any questions, feel free to message me here but I will respond faster if you do so on Facebook!