O'Reilly logo



Start Free Trial

No credit card required

Introduction to Java for Android Development LiveLessons Video Training

Video Description

Introduction to Java for Android Development LiveLessons provides step-by-step guidance for absolute beginners with no programming experience to learn Java by practicing meaningful, real-world Android development.


In this video training, you first get answers to common questions you have when thinking about becoming a developer or programmer. You then download and install the software that makes writing code easier in order to run a simple app. From there, you dig into understanding the strange characters and words that make up that app before focusing on writing completely new code. With a familiarity of basic code, you focus on making the app interactive by listening to a button being pressed. Next, you look at customizing the app’s layout and learning programming techniques to write more complex code. Finally, everything comes together with the addition of saving and loading app data. This video training takes you from no programming experience at all to an understanding of the core parts of Java and Android application development.

Skill Level

• Beginner

What You Will Learn

• Install and run the software used to develop Android apps
• Read and write both Java and XML
• Learn object- oriented programming fundamentals
• Add interactivity to an app
• Use abstraction and inheritance to simplify and reuse code
• Create app layouts

Who Should Take This Course b>

• Anyone with an interest in learning Java or Android development, whether to simply tinker or start a new career

Course Requirements

• Basic computer knowledge (how to browse the web and install programs)
• Ability to draw at a preschool level
• No prior programming experience required

Lesson Descriptions b>

Lesson 1: Answering Common Questions
Everyone who is beginning to learn to program has a lot of questions, and this lesson addresses the most common ones.

Lesson 2: Diving in with Your First Android App
This lesson focuses on setting up your computer with the right software to make Android development easy.

Lesson 3: Starting to Code
In this lesson, it's time to jump right into the code and start seeing what's there, how it's organized, and how changes affect the app.

Lesson 4: Creating and Using a Class
One of Java's fundamental building blocks is the class, so it's covered in detail in Lesson 4.

Lesson 5: Using Strings and Logging
Strings are an important part of any program, and this lesson shows how to make use of them by logging progress within an app.

Lesson 6: Adding Android Interactivity
This lesson shows you how to add a button to the layout and respond to interactions with that button.

Lesson 7: Using Input to Create Objects
Using input from your users is one of the most common ways to drive the data within an app, so this lesson shows how to gather user input, handle errors, and even support other languages.

Lesson 8: Working with Abstraction and Collections
This lesson focuses on the powerful but complex concepts of abstraction and collections, breaking them down into easily understood sections.

Lesson 9: Building an Application Layout
Android's layout system is extremely powerful, so this lesson focuses on core pieces such as Fragment, LinearLayout, and RelativeLayout, as well as screen density.

Lesson 10: Developing the Application Data
This lesson shows how Java's powerful enum concept can be used as an alternative to multiple classes, and it then expands on that to show how to use enums to populate a RecyclerView.

Lesson 11: Updating the UI with User Data
This lesson continues with passing an enum between two different Activity instances and into a custom Fragment, and then using it to update the UI. It finishes with the ability to save and restore data.

About LiveLessons Video Training


Ian G. Clifton is a professional Android application developer, user experience advocate, and author. He has worked with many developers and designers and led Android teams since the early days of Android. He created the first version of many well known Android apps such as CNET News and CBS News and has since worked on many advanced apps such as Saga.

Ian's love of technology, art, and user experience has led him along a variety of paths. In addition to Android development, he has done platform, web, and desktop development. He served in the United States Air Force as a Satellite, Wideband, and Telemetry Systems Journeyman and has also created quite a bit of art with pencil, brush, and camera.

You can follow Ian G. Clifton on Twitter at http://twitter.com/IanGClifton and see his thoughts about mobile development, art, and the world at https://plus.google.com/+IanClifton/. He published a video series called The Essentials of Android Application Development LiveLessons and wrote Android User Interface Design: Implementing Material Design for Developers.

Table of Contents

  1. 0.0 Introduction 00:01:59
  2. Lesson 1: Answering Common Questions
    1. 1.0 Learning objectives 00:01:19
    2. 1.1 How should I use these videos? 00:02:06
    3. 1.2 What is a programming language? 00:04:02
    4. 1.3 Why are there so many programming languages? 00:04:50
    5. 1.4 What is Java? 00:04:42
    6. 1.5 How much math is involved? 00:02:27
    7. 1.6 What skills do I need? 00:03:05
    8. 1.7 What kind of computer do I need? 00:03:10
    9. 1.8 What is the most difficult part of programming? 00:04:01
    10. 1.9 How do I find answers to questions, problems, and errors? 00:03:45
  3. Lesson 2: Diving in with Your First Android App
    1. 2.0 Learning objectives 00:01:17
    2. 2.1 View the Android developer website 00:06:44
    3. 2.2 Install the Java Development Kit (JDK) 00:10:26
    4. 2.3 Install Android Studio 00:03:24
    5. 2.4 Create a 'Hello, World!' app 00:07:57
    6. 2.5 Examine the Android Studio interface 00:05:05
    7. 2.6 Set up an emulator 00:09:15
    8. 2.7 Set up a device 00:09:27
    9. 2.8 Review what you have learned 00:03:43
  4. Lesson 3: Starting to Code
    1. 3.0 Learning objectives 00:01:21
    2. 3.1 Look at the Java code 00:07:33
    3. 3.2 Look at the XML 00:15:52
    4. 3.3 Code for the first time 00:08:00
    5. 3.4 Comment your code 00:06:46
    6. 3.5 Look for braces 00:05:21
    7. 3.6 Identify classes and methods 00:07:50
    8. 3.7 Review what you have learned 00:03:34
  5. Lesson 4: Creating and Using a Class
    1. 4.0 Learning objectives 00:01:07
    2. 4.1 Understand the basics of object-oriented programming 00:06:59
    3. 4.2 Create your first class 00:06:04
    4. 4.3 Create primitive types 00:17:54
    5. 4.4 Update the constructor 00:11:27
    6. 4.5 Instantiate the class 00:04:32
    7. 4.6 Create getter methods 00:08:00
    8. 4.7 Create setter methods 00:11:49
    9. 4.8 Document methods 00:09:01
    10. 4.9 Review what you have learned 00:05:13
  6. Lesson 5: Using Strings and Logging
    1. 5.0 Learning objectives 00:01:21
    2. 5.1 Understand and use strings 00:06:49
    3. 5.2 Log data with string concatenation 00:10:53
    4. 5.3 Run into a NullPointerException 00:10:28
    5. 5.4 Understand the static keyword 00:11:57
    6. 5.5 Examine the Activity class 00:04:15
    7. 5.6 Review what you have learned 00:07:16
  7. Lesson 6: Adding Android Interactivity
    1. 6.0 Learning objectives 00:01:28
    2. 6.1 Understand the purpose and function of the Activity 00:17:11
    3. 6.2 Look at resources in more detail 00:10:53
    4. 6.3 Break down the XML 00:14:07
    5. 6.4 Analyze the existing layout 00:11:11
    6. 6.5 Add a button 00:08:46
    7. 6.6 Listen to the button 00:11:11
    8. 6.7 Create an anonymous class 00:04:49
    9. 6.8 Review what you have learned 00:06:07
  8. Lesson 7: Using Input to Create Objects
    1. 7.0 Learning objectives 00:01:42
    2. 7.1 Add new views 00:14:56
    3. 7.2 Read user input 00:16:34
    4. 7.3 Display the output text 00:14:03
    5. 7.4 Debug errors 00:09:10
    6. 7.5 Validate string fields 00:10:23
    7. 7.6 Use resources and string substitution 00:13:51
    8. 7.7 Support another language easily 00:09:16
    9. 7.8 Compare numbers and change the output 00:19:21
    10. 7.9 Review what you have learned 00:06:33
  9. Lesson 8: Working with Abstraction and Collections
    1. 8.0 Learning objectives 00:01:38
    2. 8.1 Create child classes 00:11:02
    3. 8.2 Use an abstract class 00:09:29
    4. 8.3 Create an array to store inputs 00:15:24
    5. 8.4 Loop through an array 00:16:13
    6. 8.5 Use a List 00:14:08
    7. 8.6 Determine which class an object is 00:10:23
    8. 8.7 Find objects with a Map 00:08:33
    9. 8.8 Throw a custom exception 00:10:51
    10. 8.9 Review what you have learned 00:02:29
  10. Lesson 9: Building an Application Layout
    1. 9.0 Learning objectives 00:01:13
    2. 9.1 Create a new project 00:09:25
    3. 9.2 Understand what a Fragment is 00:17:02
    4. 9.3 Set up the detail display with a LinearLayout 00:11:09
    5. 9.4 Change the detail display to a RelativeLayout 00:10:27
    6. 9.5 Understand images and density 00:12:29
    7. 9.6 Prepare code for the detail layout 00:11:53
    8. 9.7 Review the app so far 00:03:32
  11. Lesson 10: Developing the Application Data
    1. 10.0 Learning objectives 00:01:08
    2. 10.1 Define an abstract class with an abstract method 00:05:35
    3. 10.2 Create subclasses and implement the abstract method 00:09:13
    4. 10.3 Refactor subclasses to avoid repetition 00:05:44
    5. 10.4 Use enums for finite instances 00:13:20
    6. 10.5 Define strings for display 00:08:52
    7. 10.6 Use enums in an adapter 00:13:41
    8. 10.7 Review the progress 00:04:39
  12. Lesson 11: Updating the UI with User Data
    1. 11.0 Learning objectives 00:00:57
    2. 11.1 Pass enums to a Fragment or Activity 00:18:46
    3. 11.2 Update the UI based on an enum 00:02:07
    4. 11.3 Calculate weight on a planet 00:07:16
    5. 11.4 Save inputs with SharedPreferences 00:07:27
    6. 11.5 Recover inputs with SharedPreferences 00:08:29
    7. 11.6 Review the full app 00:05:02
    8. 12.0 Summary 00:01:41