Java Essentials for Android
4.7 (226 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.
6,549 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Java Essentials for Android to your Wishlist.

Add to Wishlist

Java Essentials for Android

Learn Java for Android development. No experience required. Includes web-based exercises.
4.7 (226 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.
6,549 students enrolled
Created by David Janzen
Last updated 9/2015
English
English
Current price: $10 Original price: $35 Discount: 71% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 8.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Java data types
  • Strings
  • Control structures (if-then-else, loops)
  • Methods
  • Automated testing with JUnit
  • Classes
  • Inheritance, Interfaces, Polymorphism
  • Arrays and ArrayLists
  • Introduction to Android
View Curriculum
Requirements
  • Web Browser and Internet Access (really, that's all you need!)
Description

Java is the base language for developing Android apps. You need to learn Java for Android development. This course will teach you how to program in the Java Programming Language focusing on Java concepts that you will need in order to develop Android apps.

Many of the topics include on-line labs with a novel automated tutor that has been university course tested and shown to significantly improve student learning. All of the exercises can be completed on the web so you don't have to do any installations. The Android Studio IDE is introduced so if you prefer you can install the professional tools you will need for Java and Android development.

Automated testing with JUnit is included along the way with a special emphasis on test-driven development.

This Learn Java for Android Development -course introduces Android briefly through a couple of simple Android apps and lab exercises and it is designed to get you ready to take a professional Android course as most of them require that you learn Java for Android development.

Still not sure? Check out the free lecture in Chapter 12: Arrays.

Who is the target audience?
  • People who want to write Java programs
  • People who want to build Android apps or games
  • Designers who want to expand their skill sets
  • Entrepreneurs who want to explore programming and app building
  • Students
  • Anyone curious about how to write computer programs
  • People who want to take an Android course, but don't have the Java background
  • People who want to write automated tests for Java programs
Students Who Viewed This Course Also Viewed
Curriculum For This Course
103 Lectures
08:44:09
+
Welcome
1 Lecture 02:35

This video introduces the course.

Preview 02:35
+
Programming Environment
1 Lecture 03:19

This video introduces you to a free, web-based environment where you can write Java programs. We will use this environment throughout the course.

Preview 03:19
+
Primitive Data Types
12 Lectures 24:52

This video introduces simple data in Java, starting with integers. We cover the mathematical operations that you would expect (addition, subtraction, multiplication, division), plus one more (modulus).

Java Int Operations
08:13

This is the Java program developed in the Java Int Operations video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Int Operations Code (Optional)
119 Bytes

This video introduces an on-line lab on ints and int operations.

Java Int Operations Lab
00:35

This video introduces all the primitive (built-in) Java data types.

Java Data Types
04:25

This video presents examples of how to declare and use variables of primitive data types such as int and float in Java.

Data Type Examples
04:45

This .java file contains the Java code written in the previous video. If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

The DataTypes.pdf file contains the two slides from the Java Data Types slide.

Int Examples (Optional)
200 Bytes

This video discusses how to declare and initialize variables in Java.

Variable Declarations Lecture
02:08

This video presents examples of declaring and using additional Java primitive data types such as char and boolean.

More Primitive Data Types
04:10

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Float Examples (Optional)
147 Bytes

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Char Examples (Optional)
166 Bytes

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Boolean Examples (Optional)
150 Bytes

This video introduces an online lab with exercises on Java data types, variables, and assignment.

Java Data Types, Variables, and Assignment Lab
00:36
+
Constants, Casting and Comments
9 Lectures 15:45

This video introduces constants in Java.

Constants
01:30

Quiz to check your knowledge and understanding of Java constants.

Constants Quiz
3 questions

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Constants Examples (Optional)
142 Bytes

This video teaches more about floating point numbers in Java, including the differences between integer and floating point division. It also introduces the Java Math library.

Float Division And Math Library
04:41

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Math Examples (Optional)
183 Bytes

This quiz checks your knowledge and understanding of math operations with floating point numbers and the Math library.

Floats and Math Library Quiz
3 questions

This video introduces you to the concept of casting, or changing a data type.

Casting
05:22

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Casting Examples (Optional)
240 Bytes

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Casting Char Examples (Optional)
162 Bytes

This quiz checks your understanding of how values are cast from one data type to another.
Casting Quiz
3 questions

This video introduces the two types of comments in Java.

Comments
04:12

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Comments Examples (Optional)
396 Bytes
+
Strings
6 Lectures 14:23

This video teaches you a bit about Java Strings.

String Concatenation
03:16

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

String Concatenation Examples (Optional)
225 Bytes

This video teaches how to use Java Strings, including several of the useful String methods, and pointers to the Java documentation on Strings.

Strings
07:15

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Strings Examples (Optional)
585 Bytes

This video reviews String concepts and introduces how to compare strings with the equals method.

String Lecture
03:52

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

String Lecture Examples (Optional)
926 Bytes

This quiz checks your knowledge on String basics in Java.

Strings Quiz
3 questions
+
Selection Control Structures
12 Lectures 23:28

This video introduces the if-then-else constructs for making choices in your Java programs.

If Then Else
05:02

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

If Then Else Examples (Optional)
365 Bytes

This video demonstrates how to use additional comparison operators such as <=, >=, ==, and !=.

More Comparison Operators
02:18

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Comparison Operator Examples (Optional)
365 Bytes

This video demonstrates how to combine multiple conditions in if-then-else statements.

Multiple Conditions
05:06

The .java file contains the Java code written in the previous video. If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

The OperatorsPrecedence.pdf file shows Java operators and their precedence order.

Multiple Condition Examples (Optional)
231 Bytes

This video introduces how to use ! to complement (or negate) a conditional expression.

Complementing Conditions
03:09

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Complement Examples (Optional)
315 Bytes

This video introduces the online lab on if-then-else structures.

If Then Else Lab
01:11

This video introduces the switch statement, a compact alternative to if-then-else for int and char values.

Switch
04:43

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Switch Examples (Optional)
589 Bytes

This video introduces a set of online exercises for practicing with if-then-else, nested-if, and switch statements.

If-Then-Else, Nested-If, and Switch Exercises
01:59
+
Methods
14 Lectures 47:19

This video introduces the concept of static methods (functions) in Java.

Methods
16:03

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Print Welcome Example (Optional)
234 Bytes

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Triple Example (Optional)
176 Bytes

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Max Example (Optional)
262 Bytes

This file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Programming Playground, download this file and open it in a text editor like Notepad.

Is Positive Example (Optional)
388 Bytes

This video teaches how to write automated tests for your methods with JUnit.

Testing Methods with JUnit
06:01

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

Testing Methods With JUnit (Optional)
191.2 kB

This video continues the topic of static methods with an additional example implementation of a method that determines if an integer is odd or not.

More Methods (isOdd)
07:08

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

isOdd Method (Optional)
191.2 kB

This video continues the topic of static methods with an additional example implementation of a method that determines if a password is valid or not.

More Methods (isValid)
07:59

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

isValid Method (Optional)
191.2 kB

This video introduces how to declare and use local variables inside a method.

Methods with Local Variables
09:27

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

Get Largest
191.2 kB

This video introduces a lab exercise on methods for you to complete.

Methods Lab
00:41
+
Programming in Eclipse (Optional - use Android Studio instead for Android)
4 Lectures 14:58

Optional: This video shows you how to install the Eclipse Integrated Development Environment for writing Java programs on a Mac.  Eclipse is the same development environment used by many professional Java and Android programmers.  This video is not required in order to go through the rest of the course.  However, you may be interested in using Eclipse if you have permissions and space on your computer for Eclipse, and if you prefer to repeat the examples from the course in Eclipse.  Be warned, Eclipse can be a little overwhelming if you are new to programming.

Install Eclipse on a Mac
03:55

Optional: This video shows you how to create, compile, and run your first Java project in Eclipse.  This video is not required in order to go through the rest of the course.

Eclipse Hello World
03:29

Optional: This video shows you how to create, compile, and run your first JUnit tests for a Java project in Eclipse.  This video is not required in order to go through the rest of the course.  Don't go through this video if you did not install Eclipse earlier.

JUnit testing in Eclipse
06:25

Optional: This video shows you an example of how to customize your Eclipse development environment.  This video is not required in order to go through the rest of the course.

Customizing Eclipse
01:09
+
Classes
8 Lectures 01:15:59

This video introduces using and defining classes with static methods.

Classes with Static Methods
09:16

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

Classes with Static Methods (Distance Converter)
191.3 kB

This video introduces classes with fields and instance methods.

Classes with Instance Methods
18:54

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

Classes with Instance Methods (Balloon)
191.2 kB

This video overviews classes including instances/objects, fields, and methods.

Classes Lecture
24:26

This video introduces constructors, both default and non-default.

Constructors
15:53

This video overviews several apps in the Android Market, identifying how classes were used to create the apps.

Class Examples In Apps
06:56

This video introduces a lab exercise for you to complete.  This lab will review class concepts, and give you a chance to demonstrate that you understand what is going on.

Classes Lab
00:34
+
Inheritance, Interfaces, and Abstract Classes
11 Lectures 01:19:12

This video introduces the concept of inheritance, where one class extends another.

Inheritance
26:21

This video continues the discussion of Inheritance, emphasizing how you can use references to the parent objects in client code.

More Inheritance
06:32

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

Inheritance
191.6 kB

This video introduces interfaces, a way to specify what methods must be implemented in a class.

Interfaces
08:22

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

Interfaces (Weighable)
191.2 kB

This video demonstrates how to use the Comparable interface that is predefined in Java.

Using Existing Java Interfaces
10:23

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

Interfaces Java API (Burger)
191.3 kB

This video reviews and expands the concept of Interfaces in lecture style.

Interfaces Lecture
05:31

This video introduces abstract classes.

Abstract Classes
16:16

This zip file contains the Java code written in the previous video.  If you want to copy and paste the Java code from this file into the Code/Test Programming Playground, download this file, unzip it, and open the files in a text editor like Notepad.  The README.txt file also contains instructions for compiling and running the tests from the command-line.  If this doesn't sound familiar, don't worry.  Keep it simple and just copy the code into the Code/Test Programming Playground.

Abstract Classes (Dialer)
191.3 kB

This video introduces the concept of nested or inner classes, including anonymous inner classes.

Inner Classes
05:47
7 More Sections
About the Instructor
David Janzen
4.7 Average rating
226 Reviews
6,549 Students
1 Course
Cal Poly CS Prof, Corporate Trainer

Dr. David Janzen has been teaching students and professionals to program for over fifteen years (he must have started when he was 12!). He is a Professor of Computer Science at Cal Poly in San Luis Obispo, a consultant and trainer with Simex, and co-founder of Steadfast Innovation, LLC, creators of the Squid (formerly Papyrus) natural note-taking app.

David received his PhD in Computer Science from the University of Kansas (Rock Chalk Jayhawks!) and his BS in Math and Computer Science from Tabor College (go Bluejays!). He worked for Sprint where he built calling card fraud detection systems in Lisp and C++ to catch crooks. He taught at Bethel College, a small Christian liberal arts college in Kansas for seven years, and now he has been on the faculty at Cal Poly since 2006. He loves working with college students, and he teaches primarily on the edges - first-year introductory courses, and final-year software engineering capstone and graduate SE courses.

David has been teaching Android app development since early 2010. He contributed the Android labs created with his very competent graduate student, James Reed, to Google Code University where they received over 300K pageviews in the first year. He has published at least six apps in the Android Market. None of them are as successful as Angry Birds, but Squid, his Android note-taking app with Steadfast Innovation, LLC is well on its way. Several of his students' apps have resulted in startup companies, and one, Punchd, was even acquired by Google.

David's most recent research project is a web-based automated tutor for teaching computer programming which he uses in some of his courses. He has had some great collaborators so he only deserves a fraction of the credit. His PhD research examined the effects of test-driven development on software quality.

David lives in beautiful Morro Bay, California with his amazing wife and kids. He is one fortunate guy.