Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Android Programming for Beginners

You're reading from   Android Programming for Beginners Learn all the Java and Android skills you need to start making powerful mobile applications

Arrow left icon
Product type Paperback
Published in Dec 2015
Publisher Packt
ISBN-13 9781785883262
Length 698 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
John Horton John Horton
Author Profile Icon John Horton
John Horton
 Mayani Mayani
Author Profile Icon Mayani
Mayani
Arrow right icon
View More author details
Toc

Table of Contents (37) Chapters Close

Android Programming for Beginners
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. The First App FREE CHAPTER 2. Java – First Contact 3. Exploring Android Studio 4. Designing Layouts 5. Real-World Layouts 6. The Life and Times of an Android App 7. Coding in Java Part 1 – Variables, Decisions, and Loops 8. Coding in Java Part 2 – Methods 9. Object-Oriented Programming 10. Everything's a Class 11. Widget Mania 12. Having a Dialogue with the User 13. Handling and Displaying Arrays of Data 14. Handling and Displaying Notes in Note To Self 15. Android Intent and Persistence 16. UI Animations 17. Sound FX and Supporting Different Versions of Android 18. Design Patterns, Fragments, and the Real World 19. Using Multiple Fragments 20. Paging and Swiping 21. Navigation Drawer and Where It's Snap 22. Capturing Images 23. Using SQLite Databases in Our Apps 24. Adding a Database to Where It's Snap 25. Integrating Google Maps and GPS Locations 26. Upgrading SQLite – Adding Locations and Maps 27. Going Local – Hola! 28. Threads, Touches, Drawing, and a Simple Game 29. Publishing Apps 30. Before You Go Index

Index

A

  • abstract classes / Abstract classes
  • access modifiers
    • class usage, controlling with / Controlling class use with access modifiers
    • used, for controlling variable use / Controlling variable use with access modifiers
    • about / Methods have access modifiers too
    • method access summary / A method access summary
  • accessors / Accessing private variables with getters and setters
  • activity_main layout
    • implementing / The activity_main layout
  • adapter / The solution
  • Android
    • about / What exactly is Android?
    • code style, URL / Using naming conventions and String resources
    • URL / Downloading the images, FAQ
    • multiple versions, supporting / Supporting multiple versions of Android
    • current version, detecting / Detecting the current Android version
    • SoundPool class / The SoundPool class
    • design guidelines / Android design guidelines
    • design guidelines, URL / Android design guidelines
  • Android API
    • about / The Android API
  • Android app
    • about / Our first Android app
    • project, creating / Creating the project
    • version controlling / A note on version controlling
    • testing / Deploying and testing the app
    • deploying / Deploying and testing the app
    • emulator, deploying to / Deploying to an emulator
    • real Android device, deploying to / Deploying to a real Android device
    • lifecycle / Introduction to the Android lifecycle
  • Android application package (APK) / What exactly is Android?
  • Android books
    • about / For further study
  • Android Canvas demo app
    • about / Android Canvas demo app
  • Android coordinate system
    • about / The Android coordinate system
  • Android Debug Bridge (ADB)
    • URL / FAQ
  • Android lifecycle
    • about / A simplified explanation of the Android lifecycle
    • phases / Lifecycle phases – what we need to know, Lifecycle phases – what we need to do
    • demonstration app / The lifecycle demonstration app
    • overridden methods / Some other overridden methods
  • Android lifecycle, phases
    • created / Lifecycle phases – what we need to know
    • started / Lifecycle phases – what we need to know
    • resuming / Lifecycle phases – what we need to know
    • running / Lifecycle phases – what we need to know
    • paused / Lifecycle phases – what we need to know
    • stop / Lifecycle phases – what we need to know
    • destroy / Lifecycle phases – what we need to know
    • onCreate method / Lifecycle phases – what we need to do
    • onStart method / Lifecycle phases – what we need to do
    • onResume method / Lifecycle phases – what we need to do
    • onPause method / Lifecycle phases – what we need to do
    • onStop method / Lifecycle phases – what we need to do
    • onDestroy method / Lifecycle phases – what we need to do
  • Android package index
    • URL / Android packages
  • Android permissions
    • and Marshmallows / Android permissions and Marshmallows
  • Android resources
    • about / What makes an Android app, Android resources
  • Android SQLite API
    • about / The Android SQLite API
    • SQLiteOpenHelper class / SQLiteOpenHelper and SQLiteDatabase
    • SQLiteDatabase class / SQLiteOpenHelper and SQLiteDatabase
    • queries, building / Building and executing queries
    • queries, executing / Building and executing queries
    • executing queries, building / Building and executing queries
    • database cursors / Database cursors
  • Android Studio
    • setting up / Setting up Android Studio
    • URL / Setting up Android Studio
  • Android Studio tour
    • about / The Android Studio guided tour
    • UI, parts / Parts of the UI
    • menu parts / Parts of the UI
    • tool bar / Parts of the UI
    • navigation bar / Parts of the UI
    • editor tabs / Parts of the UI
    • editor / Parts of the UI
    • console / The console
    • console, features / More console features
    • project explorer / The project explorer
    • editor, transforming into design studio / Transforming the editor into a design studio
    • Preview toolbar / E1 – the Preview toolbar
    • palette, exploring / E2 – exploring the palette
    • layout preview / E3 – the layout preview
    • component tree / E4 – the Component Tree
    • properties window / E5 – the Properties window
    • text and design view tabs / E6 – text and design view tabs
    • project folder and file structure / The project folder and file structure
  • Android time zone codes
    • URL / Coding the widget exploration app
  • Android UI design
    • exploring / Exploring Android UI design
    • structure / Structure of a UI design
    • widgets, configuring / Configuring and using widgets
  • Android UI elements
    • about / All Android UI elements are classes too
    • references / Reintroducing references
    • garbage collection / A quick break to throw out the trash
    • stack and heap / Stack and heap – a quick summary, So, how does this heap thing help me?
    • Buttons and TextView widgets, using from layout / Using Button and TextView widgets from our layout
    • inner and anonymous classes / Inner and anonymous classes
  • Android UI objects
    • exploring / Exploring Android UI objects
    • declaring / Declaring and initializing objects
    • initializing / Declaring and initializing objects
    • widget news flash / Widget news flash
  • Android user forums
    • about / Android user forums
  • animations
    • creating, in Android / Animations in Android
    • designing, in XML / Designing cool animations in XML
    • fading in / Fading in and out
    • fading out / Fading in and out
    • object, moving / Movement
    • object, scaling / Scaling or stretching
    • object, stretching / Scaling or stretching
    • duration, controlling / Controlling the duration
    • rotating / Rotating animations
    • repeating / Repeating animations
    • combining, with set tag / Combining animation properties with a set tag
    • instantiating / Instantiating animations and controlling them with Java code
    • controlling, with Java code / Instantiating animations and controlling them with Java code
    • listeners / Listeners
    • interpolators / Animation interpolators
    • adding, to Note To Self / Adding animations to Note To Self
  • Animations Demo app
    • about / The Animations Demo app – introducing SeekBar
    • laying out / Laying out the animation demo
    • XML animations, coding / Coding the XML animations
    • wiring up, in Java / Wiring up the Animations Demo app in Java
  • ANR (Application not responding) / More to see
  • app
    • improving / Improving our app and deploying again
    • UI, modifying / Modifying the UI
    • running / Running the app so far
    • publishing / Publishing the app
    • marketing / Marketing
  • app, publishing
    • about / Preparing to publish
    • URL / Preparing to publish
    • app icon, creating / Creating an app icon
    • required resources, preparing / Preparing the required resources
    • publishable APK file, building / Building the publishable APK file
  • Application Programming Interface (API) / How Java and Android work together
  • apps!
    • about / Make some apps!
  • ARC (App Runtime for Chrome)
    • URL / Preparing the required resources
  • ArrayLists
    • about / ArrayLists
    • URL / ArrayLists
    • enhanced for loop / The enhanced for loop
    • polymorphic feature / Arrays and ArrayLists are polymorphic
  • array out of bounds exception / Array out of bounds exceptions
  • arrays
    • used, for handling large amount of data / Handling large amount of data with arrays
    • as objects / Arrays are objects
    • initializing, dynamically / Getting dynamic with arrays
    • dynamic example / A dynamic array example
    • used, for entering nth dimension / Entering the nth dimension with arrays
    • multidimensional array mini app / A multidimensional array mini app
    • out of bounds exceptions / Array out of bounds exceptions

B

  • BaseAdapter
    • about / ListView and BaseAdapter
    • using, with ListView / How to use ListView and BaseAdapter
    • inner classes / Inner classes revisited
    • URL / FAQ, FAQ
  • basic classes mini app
    • about / The basic classes mini app
    • first class / More things we can do with our first class
  • Bfxr
    • URL / Making sound FX
  • bitmap formats
    • URL / The Android coordinate system

C

  • camel casing / Storing and using data with variables
  • camera
    • used, for capturing images / Capturing images using the camera
  • canvas
    • drawing with / Drawing with canvas and paint
  • capture Fragment, Where in the world mini app
    • coding / Where it's snap – coding the capture Fragment, Coding the capture Fragment
    • layout, creating / Creating the layout for the capture Fragment
    • testing / Testing the capture Fragment
  • capturing images mini app
    • camera used / Capturing images using the camera
    • about / The capturing images mini app
    • camera permission, adding to manifest / Adding the camera permission to the manifest
    • simple layout, defining / Defining a simple layout
    • MainActivity class, coding / Coding the MainActivity class
    • Simple Photo app, running / Running the Simple Photo app
    • capture Fragment, coding / Where it's snap – coding the capture Fragment
  • chaining
    • about / Static methods
    / The dialog demo mini project – introducing chaining
  • CheckBox widget / CheckBox
  • class
    • about / A class recap
    • code / Taking a look at the code for a class
    • implementation / The class implementation
    • object, using / Declaring, initializing, and using an object of the class
    • object, initializing / Declaring, initializing, and using an object of the class
    • object, declaring / Declaring, initializing, and using an object of the class
  • class access
    • in nutshell / Class access in a nutshell
  • class declaration / Exploring the project assets and code
  • class use
    • controlling, access modifiers used / Controlling class use with access modifiers
  • code
    • exploring / Exploring the project assets and code
  • code comments
    • about / More code comments
  • Color class
    • URL / Coding the widget exploration app
  • communications interface
    • coding / Coding the communications interface
  • compiling / How Java and Android work together
  • configuration qualifiers
    • about / Configuration qualifiers
    • using / Using configuration qualifiers – mini app
    • summary / The configuration qualifier's summary
  • constant / Static methods
  • constructor / Declaring, initializing, and using an object of the class
  • constructors
    • objects, setting up / Setting up our objects with constructors
  • controller
    • about / The controller
  • current Android version
    • detecting / Detecting the current Android version

D

  • Dalvik EXecutable (DEX) code / How Java and Android work together
  • Dalvik Virtual Machine (DVM) / How Java and Android work together
  • data
    • passing, between activities / Passing data between activities
    • persisting, with SharedPreferences / Persisting data with SharedPreferences
  • database
    • about / Database 101, What is a database?
  • database class
    • coding / Coding the database class
  • database mini app
    • about / The database mini app
    • layout, implementing / Implementing the layout
    • database class, coding / Coding the database class
    • MainActivity, coding / Coding MainActivity
    • running / Running the mini app
  • de-serialization / More advanced persistence
  • decisions
    • about / Decisions
    • code, indenting / Indenting our code
    • operators / More operators
    • boolean variable / If they come over the bridge, shoot them
    • else keyword / Else do this instead
    • making / Switching to make decisions
    • Switch Demo app / The Switch Demo app
  • development environment
    • about / The development environment
    • note, for developers using Eclipse / A note to the existing developers who use Eclipse
    • JDK / The JDK
    • JDK, installing / Installing the JDK
    • Android Studio, setting up / Setting up Android Studio
  • device art
    • URL / Preparing the required resources
  • device detection mini app
    • creating / The device detection mini app
    • configuration qualifier, using / Using configuration qualifiers – mini app
  • dialog boxes
    • coding / Coding the dialog boxes
    • DialogNewNote class, coding / Coding the DialogNewNote class
    • DialogShowNote class, coding / Coding the DialogShowNote class
    • new dialogs, displaying / Showing our new dialogs
    • + icon, adding to action bar / Adding a + icon to the action bar
  • Dialog class / The dialog demo mini project – introducing chaining
  • dialog demo mini project
    • about / The dialog demo mini project – introducing chaining
  • dialog designs
    • implementing / Implementing the dialog designs
  • DialogFragment class / The dialog demo mini project – introducing chaining
  • DialogNewNote class
    • coding / Coding the DialogNewNote class
  • DialogShowNote class
    • coding / Coding the DialogShowNote class
  • dialog windows
    • about / Dialog windows
    • dialog demo mini project / The dialog demo mini project – introducing chaining
  • Dividing by zero
    • URL / Coding SurfaceView
  • do while loops / Do while loops
  • drivers / What exactly is Android?
  • dual-Fragment address book mini app
    • about / The dual-Fragment address book mini app
    • defining / Getting started
    • alias resources / Alias resources
    • NameAndAddress class / The NameAndAddress class
    • communication interface, creating / Creating the communication interface
    • onListItemSelected method structure, defining / Explaining the structure of the onListItemSelected method
    • code, defining for new Activity / Explaining the code that starts a new Activity
    • Fragment code, defining / Explaining the code when the detail Fragment is already present
    • Fragment code, implementing / What do we need to do?
    • AddressDetailFragment class, creating / Creating the AddressDetailFragment class and layout
    • layout, creating / Creating the AddressDetailFragment class and layout
    • PortraitDetailActivity, coding / Coding PortraitDetailActivity and the layout
    • layout, coding / Coding PortraitDetailActivity and the layout

E

  • EditText widget / EditText
  • encapsulation / Remember that encapsulation thing?
  • example code, SQLite
    • about / The SQLite example code
    • table, creating / Creating a table
    • data, inserting into database / Inserting data into the database
    • data, retrieving from database / Retrieving data from the database
    • database structure, updating / Updating the database structure
  • expression / Expressing yourself demo app
  • Extensible Markup Language (XML) / Android resources

F

  • for loops / For loops
  • form
    • designing, with RelativeLayout / Designing a form with RelativeLayout
  • fps (frames per second) / Coding the ball
  • Fragment class / Dialog windows
  • fragment communications
    • coding, in MainActivity / Coding the fragment communications in MainActivity
  • fragment mini app
    • building / Our first working Fragment mini app
    • using / Fragment reality check
  • fragment pager/slider app
    • building / Building a Fragment pager/slider app
    • SimpleFragment class, coding / Coding the SimpleFragment class
    • fragment_layout / fragment_layout
    • MainActivity class, coding / Coding the MainActivity class
    • activity_main layout, implementing / The activity_main layout
    • running / Running the Fragment slider app
  • Fragments
    • about / Fragments
    • lifecycle / Fragments have a lifecycle too
    • onCreate method / onCreate
    • onCreateView method / onCreateView
    • onAttach method / onAttach and onDetach
    • onDetach method / onAttach and onDetach
    • onStart method / onStart, onPause, and onStop
    • onPause method / onStart, onPause, and onStop
    • onStop method / onStart, onPause, and onStop
    • reference link / onStart, onPause, and onStop
    • managing, with FragmentManager / Managing Fragments with FragmentManager
    • FAQ / FAQ
  • fragment_layout / fragment_layout

G

  • gamecodeschool.com
    • about / gamecodeschool.com
  • getActivity method / Coding the DialogNewNote class
  • GitHub
    • about / GitHub
    • URL / GitHub
  • Global Positioning System (GPS)
    • about / Global Positioning System
  • Google Developers Console / Acquiring an API key
  • Google Maps mini app
    • about / The Google Maps mini app
    • connecting to / Preparing to connect to Google Maps
    • API key, acquiring / Acquiring an API key
  • Google Play services API
    • installing / Installing the Google Play services API
    • maps_activity layout, coding / Coding the maps_activity layout
    • MapsActivity, coding / Coding MapsActivity
    • simple map app, running / Running the Simple Map app
  • GPS mini app
    • about / Where in the world – the GPS mini app
    • simple layout, implementing / Where in the world – implementing a simple layout
  • Gradle
    • URL / More console features
  • gravity
    • using / Using gravity

H

  • HAXM (Hardware Acceleration Execution Manager) / Deploying to an emulator

I

  • + icon
    • adding, to action bar / Adding a + icon to the action bar
  • image gallery/slider app
    • building / Building an image gallery/slider app
    • layout, implementing / Implementing the layout
    • PagerAdapter class, coding / Coding the PagerAdapter class
    • MainActivity class, coding / Coding the MainActivity class
    • running / Running the gallery app
  • ImageView image / ImageView
  • inheritance mini app
    • about / The inheritance mini app
  • instance / What is OOP exactly?
  • integrated development environment (IDE) / The development environment
  • intent class
    • about / Good Intents
  • Inter-Fragment communications
    • defining / Inter-Fragment communications – interfaces revisited
  • interpolators
    • about / Animation interpolators
    • reference link / Animation interpolators

J

  • Java
    • and Android, working / How Java and Android work together
    • about / Java is object-oriented, Meet Java, Java is everywhere
    • class / Java is object-oriented
    • object / Java is object-oriented
    • comments / Java comments
    • messages, sending / Sending messages
    • code, writing / Writing our first Java code
    • methods, writing / Writing our own Java methods, Examining the log output
    • code, structure / The structure of Java code – revisited
    • syntax / Syntax and jargon
    • code comments / More code comments
    • animations, controlling / Instantiating animations and controlling them with Java code
    • Animations Demo app, wiring up / Wiring up the Animations Demo app in Java
  • Java array / Handling large amount of data with arrays
  • Java code, structure
    • about / The structure of Android's Java code
    • Android packages / Android packages
  • Java exceptions
    • about / Java exceptions - try, catch, and finally
  • Java JDK downloads
    • URL / Installing the JDK
  • Java Runtime Environment (JRE) / What if I already have Java?
  • JavaScript Object Notation (JSON)
    • about / What is JSON?
  • JDK
    • about / The JDK
    • installing / Installing the JDK
  • JSON data
    • URL / FAQ

K

  • key-value pairs / Passing data between activities

L

  • layers
    • about / Introducing the model-view-controller pattern
  • layout file
    • examining / Examining the layout file
  • layouts
    • widgets / Containing widgets in layouts
    • RelativeLayout / RelativeLayout, RelativeLayout in action
    • LinearLayout, using / Using LinearLayout
  • layout_weight property
    • using / Using the layout_weight property
  • linearLayout / List-detail layout with ScrollView and LinearLayout
  • LinearLayout
    • about / Using LinearLayout
  • listeners, animations
    • about / Listeners
  • ListView
    • about / ListView and BaseAdapter
    • using, with BaseAdapter / How to use ListView and BaseAdapter
  • Localization mini app
    • about / The Localization mini app
    • layout, preparing / Preparing the layout
    • first strings.xml file, preparing / Preparing the first strings.xml file
    • making multilingual, second strings.xml file used / Making the app multilingual with the second strings.xml file
    • third language, adding / Adding a third language
    • URL / Adding a third language
    • running / Running the app
  • logcat / Examining the log output
  • log output
    • examining / Examining the log output, Examining the log output
  • loops
    • code, repeating with / Repeating code with loops
    • while loops / While loops
    • breaking out of / Breaking out of a loop
    • continue keyword / Continue
    • do while loops / Do while loops
    • for loops / For loops
    • demo app / Loops demo app

M

  • MainActivity class
    • coding / Coding the MainActivity class, Coding the MainActivity class
  • margin / Using padding and margin
  • Marshmallows
    • Pre-Marshmallow permissions / Pre-Marshmallow permissions
    • permissions / Marshmallow permissions
    • permission solution / The permission solution used in this book
  • Master-Detail layout
    • with scrollView / List-detail layout with ScrollView and LinearLayout
    • with linearLayou / List-detail layout with ScrollView and LinearLayout
  • Math class
    • URL / Static methods
  • member variables / The class implementation
  • memory management
    • warning / Important memory management warning
  • method name / Exploring the project assets and code
  • method overloading
    • about / Using methods – demo apps
    • exploring / Exploring method overloading
  • method overriding / Introduction to the Android lifecycle
    • about / Exploring method overloading
  • methods
    • about / Methods revisited
    • Real World Methods app / Using methods – demo apps
  • method signature / Exploring the project assets and code
  • method structure
    • about / The method structure
    • modifiers / Modifiers
    • return types / Return types
    • method name / The name of a method
    • parameters / Parameters
    • method body / Working in the method body
  • model
    • about / The model
  • model-view-controller (MVC) pattern
    • about / Introducing the model-view-controller pattern
    • model / The model
    • view / The view
    • controller / The controller
  • model layer
    • singletons, using for / Using singletons for the model layer
  • modifiers
    • about / Modifiers
  • multi-line comment
    • about / More code comments
  • multidimensional array mini app
    • creating / A multidimensional array mini app
  • mutators / Accessing private variables with getters and setters

N

  • naming convention / Storing and using data with variables
  • navigation drawer
    • about / Introducing the navigation drawer
  • new dialogs
    • displaying / Showing our new dialogs
  • note
    • deleting / Deleting a note – introducing OnLongClick
  • Note class
    • coding / Coding the Note class
  • Note To Self
    • onCreate, updating / Updating onCreate and preparing the UI
    • UI, preparing / Updating onCreate and preparing the UI
    • list item, creating for ListView / Creating a list item for ListView
    • improvements / Improvements in Note To Self
    • persistence / Persistence
    • animation / Animation
    • Sound FX / Sound FX
    • code designing, issues / Problems with the design of the code
    • animations, adding / Adding animations to Note To Self
    • animations, defining in XML / Defining the animations in XML
    • animations, controlling in Java / Controlling the animations in Java
  • Note To Self app
    • settings page, adding / Adding a settings page to the Note To Self app
    • SettingsActivity, creating / Creating SettingsActivity
    • settings screens layout, designing / Designing the Settings screen's layout
    • user, enabling to switch to settings screen / Enabling the user to switch to the Settings screen
    • data, persisting with SharedPreferences / Persisting data with SharedPreferences
    • settings, persisting / Making the Note To Self app's settings persist
    • SettingsActivity class, coding / Coding the SettingsActivity class
    • MainActivity classs, coding / Coding the MainActivity class
    • parent Activity, specifying / Specifying a parent Activity
    • user data, backing up / Backing up user data in Note To Self
    • sound FX, adding / Sound FX touches to Note To Self
    • imperfections / The imperfections of Note To Self revisited
  • Note to self app
    • about / About the Note To Self app
    • naming conventions, using / Using naming conventions and String resources
    • String resources / Using naming conventions and String resources
    • code, obtaining / How to get the Note To Self code
    • implementing / What we will do and when we will do it
    • actions, performing by user / What the user can do
  • Note to self project
    • building / Building the project and gathering resources
    • resources, gathering / Building the project and gathering resources
    • images, downloading / Downloading the images
    • String resources, preparing / Preparing the String resources
  • nutshell
    • class access / Class access in a nutshell

O

  • object-oriented programming (OOP)
    • about / Introducing OOP, What is OOP exactly?
    • principles / What is OOP exactly?
    • encapsulation / Encapsulation
    • polymorphism / Polymorphism
    • inheritance / Inheritance
    • class / A class recap
    • and inheritance / OOP and inheritance
  • objects
    • in nutshell / Java is object-oriented
    • setting up, with constructors / Setting up our objects with constructors
  • OBS (Open Broadcaster Software)
    • URL / Preparing the required resources
  • OnLongClick / Deleting a note – introducing OnLongClick
  • operators
    • used, for changing values / Changing values in variables with operators
    • assignment operator (=) / Changing values in variables with operators
    • addition operator (+) / Changing values in variables with operators
    • subtraction operator (-) / Changing values in variables with operators
    • division operator (/) / Changing values in variables with operators
    • multiplication operator (*) / Changing values in variables with operators
    • increment operator (++) / Changing values in variables with operators
    • decrement operator (--) / Changing values in variables with operators
    • URL / Changing values in variables with operators
  • Oracle Java tutorials
    • URL / Primitive types

P

  • package / Android packages
  • package declaration / Exploring the project assets and code
  • padding / Using padding and margin
  • PagerAdapter class
    • coding / Coding the PagerAdapter class
  • paint
    • drawing with / Drawing with canvas and paint
  • palette
    • exploring / Exploring the palette
    • EditText widget / EditText
    • ImageView / ImageView
    • radio button and group / Radio button and group
    • anonymous classes / Anonymous classes
    • switch widget / A switch widget
    • CheckBox widget / CheckBox
    • WebView widget / WebView
    • Date & Time / Date
  • parameters
    • about / Parameters
  • persistence / More advanced persistence
  • photo
    • saving, from capture fragment / Saving a new photo from the capture fragment
    • displaying, from database / Displaying a photo from the database
    • View layout, preparing / Preparing the View layout
    • ViewFragment class, coding / Coding the ViewFragment class
    • TitlesFragment, coding / Coding TitlesFragment
    • TagsFragment, coding / Coding TagsFragment
    • fragment communications, coding in MainActivity / Coding the fragment communications in MainActivity
  • photo class
    • about / The Photo class
  • polymorphism
    • about / Polymorphism
    • abstract classes / Abstract classes
    • interfaces / Interfaces
  • Pong game
    • about / A simple game engine
    • building / Building a simple game of Pong
    • sound files, adding to project / Adding sound files to the project
    • ball, coding / Coding the ball
    • paddle, coding / Coding the paddle
    • MainActivity, coding / Coding MainActivity
    • SurfaceView, coding / Coding SurfaceView
    • update method, coding / Coding the update method
    • draw method, coding / Coding the draw method
    • screen orientation, locking / Lock the screen orientation and make it full-screen
    • full screen / Lock the screen orientation and make it full-screen
    • running / Running the game
    • enhancements / Pong enhancements
  • primitive types / Primitive types
  • private variables
    • accessing, with getters / Accessing private variables with getters and setters
    • accessing, with setters / Accessing private variables with getters and setters
  • project assets
    • exploring / Exploring the project assets and code
  • publishable APK file
    • building / Building the publishable APK file

R

  • RadioButton / Radio button and group
  • Random class / A random diversion
  • random number
    • using / A random diversion
  • random numbers
    • creating / A random diversion
    • generating, URL / FAQ
  • real-world apps
    • about / Real-world apps
    • layout design / Real-world apps
  • real-world UI
    • building / Building a real-world UI
    • tablet emulator, creating / Creating a tablet emulator
    • Master-Detail layout, with scrollView and linearLayout / List-detail layout with ScrollView and LinearLayout
  • Real World Methods app
    • creating / Real-world methods
    • method overloading / Exploring method overloading
  • reference types
    • about / Reference types
  • RelativeLayout
    • about / RelativeLayout in action
    • form, designing with / Designing a form with RelativeLayout
  • return types
    • about / Return types
  • RGB color system
    • URL / Coding the widget exploration app

S

  • scope
    • about / Scope and variables revisited
  • screen qualifiers
    • URL / The project folder and file structure
  • scrollView / List-detail layout with ScrollView and LinearLayout
  • seed / FAQ
  • SeekBar
    • about / The Animations Demo app – introducing SeekBar
  • serialization
    • URL / FAQ
  • set tag
    • used, for combining animations / Combining animation properties with a set tag
  • signature
    • about / The method structure
  • simple array example mini app
    • creating / A simple array example mini app
  • SimpleFragment class
    • coding / Coding the SimpleFragment class
  • singletons
    • used, for model layer / Using singletons for the model layer
  • software development kit (SDK)
    • about / The development environment
  • Sound Demo
    • laying out / Laying out Sound Demo UI
    • coding / Coding the Sound Demo app
  • sound FX
    • creating / Making sound FX
    • adding, to Note To Self app / Sound FX touches to Note To Self
  • SoundPool class
    • about / The SoundPool class
    • new way, building / Building SoundPool the new way and the old way
    • old way, building / Building SoundPool the new way and the old way
    • sound files, loading into memory / Loading sound files into memory
    • sound, playing / Playing a sound
    • sound, stopping / Stopping a sound
  • Spinner widget
    • about / Introducing the Spinner widget
    • sound FX, creating / Making sound FX
    • Sound Demo, laying out / Laying out Sound Demo UI
    • Sound Demo app, coding / Coding the Sound Demo app
  • SQLite
    • about / What is SQLite?
    • types, URL / The SQLite example code
  • SQLite database
    • handling / Handling the SQLite database
  • SQL keywords
    • INSERT / The SQLite example code
    • DELETE / The SQLite example code
    • SELECT / The SQLite example code
    • WHERE / The SQLite example code
    • FROM / The SQLite example code
  • SQL syntax primer
    • about / The SQL syntax primer
    • example code / The SQLite example code
  • stack / Reintroducing references
  • StackOverflow
    • about / StackOverflow
    • URL / StackOverflow
  • static methods
    • about / Static methods
  • static methods mini app
    • and encapsulation / Encapsulation and static methods mini app
  • Structured Query Language (SQL) / What is SQL?
  • subpackages / Android packages
  • Switching Activity
    • about / Switching Activity
  • switch widget / A switch widget

T

  • table / What is a database?
  • tablet emulator
    • creating / Creating a tablet emulator
  • TagsFragment
    • coding / Coding TagsFragment
  • threads
    • about / Threads
    • issues / Problems with threads
    • URL / Problems with threads
  • TitlesFragment
    • coding / Coding TitlesFragment
  • Toast class
    • URL / Static methods
  • touches
    • handling / Handling touches
  • types, SQL
    • integer / The SQLite example code
    • text / The SQLite example code
    • real / The SQLite example code

U

  • Uniform Resource Identifier (URI) / The Photo class
  • user interface (UI) designer / A note to the existing developers who use Eclipse

V

  • variable access
    • summary / Variable access summary
  • variables
    • data, using / Storing and using data with variables
    • data, storing / Storing and using data with variables
    • types / Types of variables
    • primitive types / Primitive types
    • reference types / Reference types
    • declaration / Variable declaration
    • initialization / Variable initialization
    • values, changing with operators / Changing values in variables with operators
    • about / Scope and variables revisited
  • variable use
    • controlling, access modifiers used / Controlling variable use with access modifiers
    • variable access, summary / Variable access summary
  • Version Control Systems (VCS) / A note on version controlling
  • view
    • about / The view

W

  • WebView widget / WebView
  • Where in the world mini app
    • coding / Coding the Where in the world mini app
    • running / Running the Where in the world mini app
  • Where it's snap app
    • localizing / Localizing the Where it's snap app
  • Where its snap
    • locations, adding / Adding locations and maps to Where it's Snap
    • maps, adding / Adding locations and maps to Where it's Snap
    • database, updating / Updating the database
    • member variables, adding to represent location data / Adding member variables to represent location data
    • database version, updating / Updating the database version
    • code, adding in onUpgrade / Adding code in onUpgrade to upgrade the database for existing users
    • database creation code, updating in onCreate for new users / Updating the database creation code in onCreate for new users
    • addPhoto method, updating to handle GPS coordinates / Updating the addPhoto method to handle GPS coordinates
    • Photo class, updating / Updating the Photo class
    • CaptureFragment, updating / Updating CaptureFragment
    • ViewFragment, updating / Updating ViewFragment
    • location permissions, adding / Adding location permissions
    • new map feature, testing / Testing the new map feature
  • Where its snap app
    • features / The Where it's snap app
    • resources, preparing / Preparing the resources
    • placeholder code, for three fragments / Placeholder code for three Fragments
    • MainActivity class and layout, coding / Coding the MainActivity class and layout
    • fragments, switching between / Switching between Fragments
    • drawer, setting up / Setting up the drawer
    • back button, handling / Handling the back button
  • while loops / While loops
  • widget exploration mini app
    • about / The Widget exploration mini app
    • setting up and UI / Setting up the widget exploration project and UI
    • coding / Coding the widget exploration app
  • widgets
    • displaying, issue / The problem with displaying lots of widgets
    • displaying, solution / The solution
  • widgets, Android UI design
    • configuring / Configuring and using widgets
    • properties / Widget properties
    • size, setting / Setting the size
    • dp, used for sizing / Sizing using dp
    • fonts sizing, dp used / Sizing fonts using sp
    • size, determining with wrap / Determining size with wrap or match
    • size, determining with match / Determining size with wrap or match
    • padding, using / Using padding and margin
    • margin, using / Using padding and margin
    • layout_weight property, using / Using the layout_weight property
    • gravity, using / Using gravity
    • properties, more / More properties
    • experimenting with / Experimenting with widgets
    • containing, in layouts / Containing widgets in layouts

X

  • XML
    • animations, designing / Designing cool animations in XML
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £13.99/month. Cancel anytime
Visually different images