Java Essentials for Android

Learn Java for Android development. No experience required. Includes web-based exercises.
4.5 (187 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,458 students enrolled
$19
$35
46% off
Take This Course
  • Lectures 103
  • Length 8.5 hours
  • Skill Level All Levels
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2012 English Closed captions available

Course 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.

What are the requirements?

  • Web Browser and Internet Access (really, that's all you need!)

What am I going to get from this course?

  • 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

What 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

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Welcome
02:35

This video introduces the course.

Section 2: Programming Environment
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.

Section 3: Primitive Data Types
08:13

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).

119 Bytes

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.

00:35

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

04:25

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

04:45

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

200 Bytes

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.

02:08

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

04:10

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

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.

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.

150 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.

00:36

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

Section 4: Constants, Casting and Comments
01:30

This video introduces constants in Java.

3 questions

Quiz to check your knowledge and understanding of Java constants.

142 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.

04:41

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.

183 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.

3 questions

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

05:22

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

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.

162 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.

3 questions
This quiz checks your understanding of how values are cast from one data type to another.
04:12

This video introduces the two types of comments in Java.

396 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.

Section 5: Strings
03:16

This video teaches you a bit about Java Strings.

225 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.

07:15

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

585 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.

03:52

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

926 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.

3 questions

This quiz checks your knowledge on String basics in Java.

Section 6: Selection Control Structures
05:02

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

365 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.

02:18

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

365 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.

05:06

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

231 Bytes

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.

03:09

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

315 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.

01:11

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

04:43

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

589 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.

01:59

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

Section 7: Methods
16:03

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

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.

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.

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.

388 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.

06:01

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

191.2 kB

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.

07:08

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.

191.2 kB

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.

07:59

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.

191.2 kB

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.

09:27

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

191.2 kB

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.

00:41

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

Section 8: Programming in Eclipse (Optional - use Android Studio instead for Android)
03:55

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.

03:29

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.

06:25

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.

01:09

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.

Section 9: Classes
09:16

This video introduces using and defining classes with static methods.

191.3 kB

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.

18:54

This video introduces classes with fields and instance methods.

191.2 kB

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.

24:26

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

15:53

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

06:56

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

00:34

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.

Section 10: Inheritance, Interfaces, and Abstract Classes
26:21

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

06:32

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

191.6 kB

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.

08:22

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

191.2 kB

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.

10:23

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

191.3 kB

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.

05:31

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

16:16

This video introduces abstract classes.

191.3 kB

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.

05:47

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

Section 11: Looping Control Structures
17:09

This video inroduces loops including for, while, and do-while.

00:34

This video introduces an online lab exercise on loops.

Section 12: Arrays
06:50

This video introduces the concept of Java arrays with primitive data types.

14:54

This video introduces how to pass arrays to methods, use arrays in methods, and return arrays from methods.

09:04

This video reviews arrays in a lecture format with slides.

09:00

This video demonstrates how to create and use an array of user-defined objects.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

David Janzen, 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.

Ready to start learning?
Take This Course