Have you ever seen a beautiful screen and wondered how it was designed or read a hundred lines of neatly formatted code and wondered how it works? This course aspires to seamlessly blend app design with android development giving you the complete picture. Learn how to design and code a fully working, professionally designed Android app from Photoshop to Playstore under 16 hours.
We build an app called BucketDrops in the series which lets you keep track of life goals. The course begins with app design instructed by Gary and covers the following:
We then dive into Android Programming using Android Studio instructed by Vivek Ramesh "Vivz" which covers the following topics
Follow along as Gary Simon and Vivek Ramesh "Vivz" walk you through the entire process of designing and coding a production-ready android app.
Who are these guys?
Gary Simon has been a professional designer for over 15 years and has dealt with over a thousand clients on a variety of design and development projects. He owns a popular design business, along with its associated youtube presence which is one of the most popular design channels with almost 100,000 subscribers.
Vivz has been a java developer for nearly a decade and is the founder of a channel called slidenerd that deals with mobile programming on YouTube with almost 100,000 subscribers
Between the two, millions upon millions of aspiring designers and coders alike have benefited from their instructions.
Who should take this course?
Anyone that's interested in designing and developing apps for android. You can be an absolute beginner and follow along. You can also be an intermediate/advanced designer or coder and still gain valuable insights.
So if you're ready to start designing and coding amazing android apps, let's get started!
In this lesson, we're going to overview all of the properties that are important when creating new documents and artboards within Photoshop. From the document type, width/height values, resolution, color modes, and background contents. We will also discuss artboards, which is a relatively new feature within Adobe Photoshop that allows you to create multiple canvases (called Artboards) within a single document. We will also discuss how you can work with the artboard tools and properties.
In this lesson, we will discuss how exactly layers work from a very basic understanding, to a more comprehensive understanding. You will learn how to create layers, add layer styles, blend modes, raster vs. shape layers, and more.
In this lesson, we're going to create a new document for the purposes of demonstrating how to design a very basic UI header. We'll start by creating a new document, and then creating a shape layer for holding a navigation. We'll then use the type tool to create the navigation links, and then add a hover state. Then to wrap it up, we will add a modal popup for displaying a checkmark.
In this lesson we'll discuss how to export our assets within Adobe Photoshop. We'll discuss how you can quickly select layers through "Auto-Select" by clicking within the design as opposed to manually navigating through the layers menu, and then we will discuss how you can export assets quickly and efficiently.
In this lesson, we will overview exactly how to create documents within Adobe Illustrator, along with all of the necessary properties that are important to note when creating new documents. We'll cover profiles, artboard numbers, size, units, width x height, bleed and advanced properties. We'll also discuss how we can quickly adjust the canvas size after we've created the document.
In this lesson, we will discuss all of the properties that are important when dealing with layers within Illustrator. There are several differences when it concerns layers in Photoshop vs. layers in Illustrators.
This video shows how to upload code to GitHub directly from Android Studio. We need to have Git installed for this to happen which we can easily check by opening the Terminal or Command Prompt and typing the Git command. If Git is actually installed, it will show you the version number of Git when you type ‘git —version’ in the Terminal or Command Prompt. If Git is not installed, download it for your platform, install it like any other tool. Create an account on GitHub which is free with public repositories. Open Android Studio and simply select the option ‘Share Project On GitHub’ which lets you login to GitHub from Android Studio, select all the files which you want to commit and push the files to the remote origin.
This video explores the project structure in Android Studio to make you understand the different parts and where to store what type of data. The drawable folders are good for storing images, the mipmap folders are good and very specific to storing launcher icons, the layout folder contains XML user interface definitions for all the screen elements, the values folder contains colour definitions, text definitions and dimension definitions which can be used to specify widths heights etc. and the styles file contains appearance descriptions of each UI control or widget should exactly look like on screen. All these values have a unique ID generated automatically for them by Android which is placed inside a file called R.java. The code files are placed inside the java folder whereas the AndroidManifest file contains a list of all android components used. The gradle build files describe the list of dependencies or libraries that our app requires to work properly.
This video illustrates two concepts- gravity that controls where the content appears within the View, left, right, top, bottom, centre, middle or a combination of all and layout gravity that controls where the View itself appears within its ViewGroup or layout and the same options apply as gravity.
This video discusses how an Activity works in Android and what are the methods that an Activity class provide and how and when the Android system calls these methods. It then illustrates the recent activities running on the phone and the Activity back stack which is basically the list of screens that the person is navigating through. The currently active screen is at the top of the stack and when you press the back button, it is removed from the top and destroyed bring the last Activity the user was engaging with to the top of the stack. Finally the video introduces the methods involved in the Activity lifecycle which you need to use as a developer in your apps to handle certain situations.
This video shows the list of topics that we plan to cover in the full series along with links on how to get the code for each video. We start with an introduction to android programming that deals with basic topics, then we cover how to setup Bucket Drops in Android Studio. We move to the part now where we code the home screen with a background image which is loaded using the Glide library. We explain the concept of Fragments and Dialogs in the next section and move to our database product Realm which is a replacement for SQLite. We then cover the Recycler View in absolute detail and move to styles and themes and implementation for swipe to delete. The next part focuses on Custom Views and Widgets in Android and how you can use them to match your UI/UX needs. We finally talk about Broadcast Receivers, Services and how to publish the app on the play store.
This video shows how to setup the Bucket Drops app in Android Studio. Start Android Studio and click on Start a new Android Studio Project, You are taken to the Configure your new project screen, give the application name as Bucket Drops, specify a package name and save the code to a certain folder on your PC or Mac. Select the devices that you wish to target and select a template where we will choose Empty Activity. Give a name for the Activity that android studio must create for you and then specify the name of the layout file appropriately. And you are all set to code.
This video shows how to make a selector in Android. A selector is basically a collection of drawables where each drawable is displayed when the widget using the selector is in a particular state and as a developer you have to specify which states of the selector correspond to which drawables. When the button is pressed, it selects the first colour in our case and when the button is not pressed, it selects the second colour from the selector for our Button when we apply a selector to the text colour of our Button. Instead of using images as selector items, we can also use shapes like rectangle where we specify the solid colour and the stroke colour that must be applied at each state of the selector.
This video shows how to add a Fragment to XML directly. In the first step, create an activity and its layout file. Create a class that extends the android.app.Fragment or android.support.v4.Fragment and override the onCreateView method. Define a layout for the fragment that contains all the UI widgets which you want to display inside the Fragment. Link this layout inside onCreateView using a Layout Inflater. Create the fragment tag in the XML layout of the Activity and specify the class attribute to point to the Java class file of the Fragment that you created earlier.
This video talks about FragmentManager which is an interface for interacting with Fragment objects inside of an Activity and FragmentTransaction which is an API for performing a set of Fragment operations. FragmentManager tracks a list of Fragments in the current Activity. Each Fragment can be assigned an ID or a TAG which can be used by the FragmentManager later to find it using the findFragmentById or findFragmentByTag methods. FragmentTransactions let you add, remove, replace or hide Fragments in Activities programmatically.
This video talks about a fragment that displays a dialog window, floating on top of its activity's window called a DialogFragment in Android. This fragment contains a Dialog object, which it displays as appropriate based on the fragment's state. Control of the dialog (deciding when to show, hide, dismiss it) should be done through the API here, not with direct calls on the dialog. You can implement one either using the Fragment approach in which case you use the onCreateView method or the Dialog approach in which case you use the onCreateDialog approach. Create an XML layout of the Dialog that you want to display. Create a class that extends from DialogFragment. Override the onCreateView method or the onCreateDialog method depending on your chosen approach. Construct the object of a DialogFragment inside your activity and simply call the show method to display the Dialog or dismiss method to destroy the Dialog.
This video shows how to add the DialogFragment in code for adding drops to our database. In the first step, we create a class that extends DialogFragment, in the next step we override the onCreateView method and link the XML layout which we created in the last video. We create an on click listener inside our Activity which will be triggered when the users tries to add a new drop. Then we create an object of our DialogFragment class and call the show method that accepts a FragmentManager or a FragmentTransaction. We filter the input entered by the user using an inputType and finally add another ClickListener inside the Dialog to dismiss it when the person tries to close the Dialog.
Once upon a time, my teacher asked me to write a program to check if the input is leap year. I went to my teacher and asked him "Sir, can you please explain why you wrote if(i%4==0)?". He told me to get lost saying "I ll never learn programming"
Are you like me whose teacher writes code and never explains why? You have finally come to the right instructor on Udemy who teaches you now just how to code but also why.
I have taught 100000+ people so far on my channel slidenerd which is rated as one of the topmost sources in the world to learn Android or IOS and other aspects of mobile development and general programming by several online blogs and forums. I have made several hundred videos on YouTube over the years and many of them are at the top of the search results on YouTube and Google.
I have real world teaching experience and a degree in IT Engineering. with more than 10 years of coding experience. I have won several coding challenges in the meantime. What do you say? we learn the how, what, why behind everything together?
Gary Simon is a professional freelance graphics and web designer with well over a decade of experience. Having served over a thousand clients, Gary understands many facets of the design industry.
He has also been a course instructor for several of the top online education websites, teaching a wide range of topics including:
Gary began designing websites in 2000, and just a few years later started focusing on identity design. From that point on, Gary grew a large clientele that allowed him to fully develop skills that extend beyond design alone.
The following is a list of web technologies in which Gary is proficient:
He is also an expert with the following software:
Gary began teaching his skills to others after releasing a single logo design tutorial, which has since garnered over a million views. In 7 years, Gary has released over 200 video tutorials and 20+ video courses. On his Youtube channel alone, his videos receive a half million views monthly. He enjoys connecting with students and helping them develop their skills on an on-going and frequent basis.