Book description
Anybody can start building multimedia apps for the Android platform, and this book will show you how! Now updated to include both Android 4.4 and the new Android 5.0, Android Apps for Absolute Beginners, Third Edition takes you through the process of getting your first Android apps up and running using plain English and practical examples.
This book cuts through the fog of jargon and mystery that surrounds Android apps development, and gives you simple, step-by-step instructions to get you started.
This book covers both Android 4.4 (KitKat) and Android 5.0, but is also backwards compatible to cover the previous Android releases since Android 1.5.
Table of contents
- Cover
- Title
- Copyright
- Dedication
- Contents at a Glance
- Contents
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Introduction
-
Chapter 1: Setting Up Your Android App Development System
- The History of the Android OS: Impressive Growth
- Advantage Android: How Can Android Benefit Me?
- The Scope of This Book
-
Assembling Your Android Development Workstation
- Android Development Workstation: Hardware Foundation
- Android Development Workstation: Software Foundation
- Java SE 6: Download and Install a Foundation for Android
- Android ADT Bundle: Find and Download Android’s IDE
- Install the Android ADT Bundle: Extract Android ADT IDE
- Digital Image Compositing Software: the GIMP
- 3D Modeling, Rendering, and Animation: Blender 3D
- UI Design and Wireframing Software: Pencil Project
- Digital Audio Editing and Engineering: Audacity
- Professional Digital Video Editing: EditShare Lightworks
- A Complete Business Software Suite: Apache OpenOffice
- Other Open Source Software
- Summary
-
Chapter 2: Configuring Your Android App Development System
- Updating Eclipse ADT: Check For Updates!
- Configuring Eclipse: Android SDK Manager Repository
- Android Virtual Devices: Creating the AVD
-
What Will Be Covered in this Book
- Introduction to Android Application Development Platform
- How Android Simplifies Design: Designing Apps Using XML
- Android Application Framework: Java Programming Primer
- Screen Real Estate: View and Activity Classes
- Interactivity: Using Android Intent and Event Handling
- UI Design: Adding User Controls to Your Apps
- Graphics Design: Add Visuals to Your Apps
- Animation: Adding Motion Graphics to Your Apps
- Digital Video: Captive or Streaming Video for an Application
- Digital Audio: Adding Audio Media to Your Apps
- Services: Adding Background Processing to Apps
- Content Providers: Accessing Stored Data Inside of Your App
- Android Wearables: Creating a Smartwatch Application
- Android Appliances: Creating an Android Appliance App
- The Future of Android: 64-bit Android 5.0
- Summary
-
Chapter 3: An Introduction to the Android Application Development Platform
- How the Android Platform is Structured: Java, XML, and New Media on Top of Linux
- Android Runtimes: Dalvik VM
- Android Runtimes: The Android RunTime VM
- Creating Your First Android Application
-
Android Resources: Asset Project Folders
- Android Drawable: Assets that Draw to a Screen
- Android Layout: Assets that Lay Out a UI Design
- Android Menu: Assets that Define Menu Options
- Android Values: Assets Defining App Constants
- Android Anim: Assets Defining Tween Animation
- Android Animator: Asset for Property Animation
- Android Raw: Pre-Optimized Video & Audio Files
- Android XML: Arbitrary XML and Configurations
- Creating a Custom App Launch Icon
- Summary
-
Chapter 4: Introduction to XML: Defining an Android App, Its Design, and Constants
-
Extensible Markup Language: XML Overview
- XML Naming Schema: Tag & Parameter Repository
- XML Syntax: Containers, Brackets, and Nesting
- XML Referencing: Chain XML Constructs Together
- XML Constants: Editing Constants Using XML
- XML Dimensions: Editing Dimensions Using XML
- XML Styles: Editing Styles or Themes Using XML
- Running Your HelloUniverse App: Using Your AVD
- Changing the App’s Theme using XML: HOLO Dark
- Changing the App’s Theme using XML: HOLO Light
- XML Menus: Designing Menus for Android Apps
- XML Manifest: Configuring the Android Manifest
- XML Application Structure: A Bird’s Eye View
- Using the Eclipse Graphical Layout XML Editor
- Using Eclipse’s Graphical Manifest XML Editors
- XML Inflation: How XML Works with Java
- XML’s Role: Revisiting How Android Works
- Summary
-
Extensible Markup Language: XML Overview
-
Chapter 5: Introduction to Java: Objects, Methods, Classes, and Interfaces
- The Three Versions, or Editions, of Java
- The Foundation of OOP: The Java Object
- OOP Terminology: Variables, Methods, Constants
-
Java Constructs: Create Your Own Objects
- The Java Class: Java Code Structure Container
- The Java Method: Java Code Function Definition
- Constructor Methods: The Java Object Blueprint
- Instantiating Objects: The Java “new” Keyword
- Extend an Object’s Structure: Java Inheritance
- The Interface: Defining a Class Usage Pattern
- Logical Collection of Classes: Using a Package
- The API
- Modifiers: Data Type, Access, Inheritance
- Creating Your HelloUniverse Class: Galaxy
- Coding Galaxy Objects: Constructor Method
- Summary
-
Chapter 6: Android Screen Design: Writing to the Display Using Activity and View
- How Activity, View, and ViewGroup Relate
- The ViewGroup Class: A Subclass of View
-
Customizing Your UI Design: Galaxy Screen
- Eclipse Clean Project: Sanitizing Your Project
- Using the Galaxy Class: Creating a Galaxy Object
- Using LinearLayout: Creating Linear UI Designs
- Using Digital Imagery: Adding a Galaxy Background
- Creating UI Contrast: The TextView Color Parameter
- Nested LinearLayout Containers: Creating a More Complex UI
- Interfacing with UI Elements: The ID Parameter
- Creating Modular Code: createDefaultGalaxy()
- Updating the UI in Java: Using UI Objects
- A UI Instantiation Method: createUiTextViews()
- Summary
-
Chapter 7: Making Apps Interactive: Intents, Event Handling, and Menus
- The Menu Class and Interface: Android Menus
-
Inflating the Menu: onCreateOptionsMenu()
- The MenuItem Class: onOptionsItemSelected()
- The Java Switch Statement: Choosing a MenuItem
- Using Intent Objects: The Android Intent Class
- Instantiate an Intent Object: An App’s Context
- Explaining Context: The Android Context Class
- Creating Your Second Activity: The EditGalaxy Class
- Starting an Activity: Using the .startActivity() Method
- Coding the onCreate() Method: Using setContentView()
-
Creating an EditGalaxy UI: Using a RelativeLayout
- Using Editable Text Fields: The EditText Widget
- Using Buttons in UI Designs: The Button Widget
- Aligning Widgets Using RelativeLayout Parameters
- Using the Eclipse Graphical Layout Editor (GLE)
- Giving an EditText Field a Hint for Your Users
- Aligning Several UI Elements Using RelativeLayout Parameters
- Adding EditGalaxy to Your App: Editing Your AndroidManifest
- Finishing Up the RelativeLayout UI Design
- Event Handling: Using Event Listeners
- Summary
- Chapter 8: Android UI Design: Using Advanced ViewGroup Layout Containers
-
Chapter 9: Android Graphic Design: Making Your UI Designs Visual
-
Imaging Concepts, Formats, and Techniques
- The Foundation of Digital Images: The “Pixel”
- The Shape of a Digital Image: The Aspect Ratio
- Coloring Your Digital Images: RGB Color Theory
- Image Compositing Transparency: Alpha Channels
- Algorithmic Image Compositing: Blending Modes
- Masking Digital Imagery: Using Alpha Channels
- Smoothing Edges: The Concept of Anti-Aliasing
- Optimizing Digital Images: Compress and Dither
- Using Indexed Color Imagery: Dithering Pixels
- Android Image Formats: Lossless Versus Lossy
- Creating Android NinePatchDrawable Assets
- The ImageButton Class: Multi-state Buttons
- Creating Multi-State Imagery: Using GIMP
- Creating Your ImageButton’s XML Structure
- Adding a NinePatch to a SlidingPaneLayout
- Summary
-
Imaging Concepts, Formats, and Techniques
-
Chapter 10: Android Animation: Making Your UI Designs Move
- Frame Animation Concepts and Techniques
- The Android AnimationDrawable Class
- Creating Frame Animation Using XML Markup
- Creating Frame Animation in MainActivity
- Tween Animation Concepts and Techniques
- Creating Tween Animation Using XML Markup
- Hybrid Animation: Using Frames with Tween
- Procedural Animation or Frame Animation?
- The Animator Class: Parameter Animation
- Summary
-
Chapter 11: Digital Video: Streaming Video, MediaPlayer, and MediaController classes
- The FrameLayout Class: Framing DV Content
- Create a PlayVideo.java Activity Subclass
- Creating Your activity_play XML UI Design
- The VideoView Class: A VideoPlayer Widget
- The Uri Class: Referencing the Video Data
- Digital Video Concepts: Bitrates & Codecs
- Creating Digital Video Content: Terragen3
- Starting A Video Playback: Using .start()
- Android MediaPlayer: VideoPlayback Engine
- Summary
-
Chapter 12: Digital Audio: Providing Aural Feedback for UI Designs Using SoundPool
-
Audacity 2: Creating Digital Audio Assets
- Audacity Plug-Ins: Adding Codecs and Features
- Free Digital Audio: Locate HelloUniverse Audio
- Digital Audio Optimization: Concepts & Formats
- Setting Sample Rate and Resolution in Audacity
- Exporting Uncompressed PCM Baseline WAV Format
- Exporting via Lossless FLAC: FLAC audio files
- Exporting Lossy Ogg Vorbis: OGG audio files
- Exporting Lossy MPEG3 Format: MP3 audio files
- Exporting Lossy MPEG4 Format: M4A audio files
- Exporting Narrow Band Format: AMR audio files
- Android SoundPool: Audio Engine & Methods
- Summary
-
Audacity 2: Creating Digital Audio Assets
- Chapter 13: Android Service Class and Threads: Background Processing
-
Chapter 14: Android Content Providers: Providing Data to Applications
- An Overview of Android Content Providers
- Database Fundamentals: Concepts and Terms
- SQLite: The Open Source Database Engine
- Android Built-in Content Providers
- Referencing a Content Provider: Content URI
- Creating the Activity: ContactGalaxy.java
- Adding Permissions in the AndroidManifest
- TableLayout: Creating Tabular UI Designs
- ContactGalaxy Class: Accessing Your Database
- Writing to a Database: addGalaxyViceroy()
- Summary
- Chapter 15: Developing for Android Wearable Devices
-
Chapter 16: The Future of Android: The 64-Bit Android 5.0 OS
-
What’s New in Android 5: New OS Features
- Android 5.0 Platform: 64-Bit Linux and Java 7
- Android 5 Runtime: ART Will Become the Default
- Enhanced 3D Support: OpenGL, Z-Layers, and Shadows
- The Camera 2 API: UHD with High Dynamic Range
- Project Volta: Control Power Use Optimization
- Enhanced Notifications: Notify via Lockscreen
- USB Audio Port: Connect Audiophile Equipment
- Android 5 Support: New CPU Hardware and Search
- Google Play 5.0: New Server-Side 5.0 Services
- Material Design: Multi-Platform UI Design
- Developing 64-Bit Android: The Android 5 IDE
- Removing Java 6: Prepare a System for Android 5
- Java 7 SE: The Foundation for Android Studio 5
- Android Studio 5: IntelliJ Android SDK Bundle
- Downloading and Installing Android Studio
- Creating Your First Android 5 Project
- Updating the Android Studio IntelliJ IDEA
- Android TV: Setting Up Android 5 Apps for iTV
- Porting the EarthTime App to Android TV
- Summary
-
What’s New in Android 5: New OS Features
- Appendix A: Audio Concepts, Terminology, and Codecs
- Index
Product information
- Title: Android Apps for Absolute Beginners
- Author(s):
- Release date: August 2014
- Publisher(s): Apress
- ISBN: 9781484200193
You might also like
book
Android Apps for Absolute Beginners: Covering Android 7, Fourth Edition
Get your first Android apps up and running with the help of plain English and practical …
book
Beginning Android Games Development: From Beginner to Pro
Do you have an awesome idea for the next break-through mobile gaming title? This updated edition …
book
Android App Development
Android App Development is written for the Android programming course and takes a building block approach, …
book
Android Recipes: A Problem-Solution Approach for Android 5.0, Fourth Edition
Android Recipes, Fourth Edition offers more than 100 down-to-earth code recipes, and guides you step-by-step through …