Android Programming

Android is the most popular mobile platform in the world, making it ideal to reach as many users as possible. View this series to learn everything you need to know to kickstart your development journey. Created by thenewboston.

Recommended that you have a good foundation in Java before taking this course.

Average Course Length

20 hours

Skill Level


Pick a lesson

1: Download and Install the Java JDK
2: Installing Eclipse and Setting up the ADT
3: Installing Android SDK and Set up Emulator
4: Setting up an Android Project
5: Overview of Project and Adding Folders
6: Introduction to Layouts in XML
7: Creating A Button in XML and Adding an ID
8: Setting up Variables and Referencing XML ids
9: Set up a Button with OnClickListener
10: Using setText method for our button
11: Adding Resources and Setting Background
12: Setting up an Activity and Using SetContentView
13: Introduction to the Android Manifest
14: The Framework of a Thread
15: How to Start a New Activity via Intent
16: Activity Life Cycle
17: Adding Music with MediaPlayer
18: Create a List Menu from the ListActivity class
19: Setting up an ArrayAdapter
20: Starting an Activity with a Class Object
21: Finishing ListActivity
22: XML Introducting the EditText
23: XML ToggleButton, WeightSum, and Layout Weight
24: XML Padding and Setting Toggle to On
25: Quick Review by setting up a new Activity
26: If Toggle Button is checked
27: Set the Input Type of an EditText
28: Comparing Strings with else if
29: Set Gravity within Java
30: Setting Color of a TextView in Java
31: Where's the Fridge, that's Random
32: Switch and Case
33: Creating a Method
34: Implementing Classes for Better Programming
35: XML ScrollView and AnalogClock
36: Setting up An Email Activity
37: PutExtra method for an Email Intent
38: XML ImageView for Camera Application
39: Starting an Activity for a Result
40: Getting Data from a different Activity
41: Finish Camera and Wallpaper App
42: Using BitmapFactory and InputStream to set Bitmap
43: Set Fixed Screen Orientation
44: XML Relative Layout
45: RadioButtons in a RadioGroup
46: Set the Radio to the OnCheckedChangeListener Station
47: Passing a String between Activities
48: Recieving Bread String from Activity
49: StartActivityForResult setup
50: setResult for the Start Activity For Result
51: Setting up a Menu with MenuInflater
52: Making MenuItems do something
53: Text Activity with Theme
54: Setting up Preferences
55: Setting up a String array resource
56: Creating a PreferenceActivity
57: Accessing Preferences from an Activity
58: More with Preferences
59: Altered Landscape Layout
60: Creating Custom Buttons
61: Full Screen Activities
62: Custom Animation Class
63: Using a Constructor to pass Context
64: Drawing Bitmaps to Canvas View
65: Animating a Bitmap
66: Using the Asset Folder for Typeface
67: Setting up a SurfaceView class
68: Setting up Animation Thread
69: Locking and Unlocking a Canvas
70: Establishing a Better Animation Thread
71: Setting up the OnTouch Method
72: Defining a Class within a Class
73: Graphics Trick
74: MotionEvents and Motion Actions
75: Game Programming concept
76: Cleaning up some Errors
77: Sleeping to Achieve desired FPS
78: WakeLock to keep you app from sleeping
79: SoundPool helps with explosions
80: Using the OnLongClick method
81: SlidingDrawer Example
82: Introduction to the FrameLayout
83: Methods of the SlidingDrawer
84: Tabs setup with TabHost
85: Setting up the TabHost in Java
86: Creating Tabs in Java
87: Getting the Time from the System
88: Formatting and using the Modulus
89: Create a Browser with WebView
90: WebView navigation methods
91: Set WebView Client for a Brower app
92: WebView Settings
93: Hiding the Keyboard
94: ViewFlipper Example
95: Saving Data with SharedPreferences
96: SharedPreferences Editor
97: Loading SharedPreferences Data
98: File Output Stream for Internal Storage
99: Writing Data to File Output Stream
100: File Input Stream
101: Async Task class to load stuff
102: The 4 AsyncTask Methods
103: ProgressDialog and Correction
104: External Storage State
105: Spinners and ArrayAdapter
106: OnItemSelected and File Directories
107: Toggling Visibility
108: InputStream and OutputStream
109: Write External Data Permission
110: Media Scanner Connection
111: TableLayout and Intro SQLite Database
112: Setting up SQLite Database Variables
113: SQLite class implementing SQLiteOpenHelper
114: Creating SQLite Database
115: Opening SQLite database to write
116: Closing SQLite Database
117: Inserting Data into SQLite Database
118: How to Create a Dialog
119: Setting up method to Read SQLite
120: Reading SQLite Database with Cursor
121: Setting up more SQLite methods
122: Getting a Specific Entry
123: Updating SQLite Entry
124: Deleting Entry from SQLite Database
125: Setting up a Accelerometer class
126: Setting up Sensor Manager
127: OnSensorChanged accelerometer method
128: Finishing Accelerometer and unregistering
129: Setting up a Google Maps Activity
130: Obtaining Google Maps API debug key
131: Displaying the MapView
132: MapView Overlay
133: Overlay MotionEvent time
134: AlertDialog methods and ClickListener
135: Compass and Map Controller
136: Geocoder and GeoPoint
137: Geocoding a Location for an Address
138: Toggling Street and Satellite views
139: ItemizedOverlay to draw on our Map
140: Creating a Custom pinpoint
141: Placing a Pinpoint on a MapView
142: LocationManager and Location Permissions
143: Criteria and getting Location
144: Updating with OnLocationChanged method
145: Exporting apk and signing keystore
146: Obtaining Key for a specific Project
147: Introduction to HttpClient
148: Executing HttpGet on a Http Client
149: Viewing Internet data via StringBuffer
150: Introduction to JSON parsing
151: JSONArrays and JSONObjects
152: Appending with StringBuilder
153: Reading JSON information
154: Setting up XML Parsing Project
155: StringBuilder and XML Parsing Framework
156: Setting up a parsed XML data collection class
157: SAXParserFactory and XMLReader
158: Start Element method
159: Finishing XML parser
160: Creating a Widget receiver
161: Setting up Widget Configuration Activity
162: Basic Widget Design
163: Updating and Deleting Widget
164: Updating a Widget TextView
165: Setting up Widget Configuration Class
166: Relating Context with the Widget Manager
167: PendingIntent and widget Buttons
168: Introduction to OpenGL ES
169: OpenGL Renderer Basics
170: Rendering A Background
171: OpenGl 2D vertices
172: Byte and Float Buffers
173: ShortBuffer to handle Indices
174: Creating Draw method for OpenGL
175: glDrawElements method
176: OpenGL Boosting Performance
177: On Surface Changed
178: Using GLU to set up the Camera
179: 3D Cube Intro
180: Indices of a Cube
181: OpenGL Culling
182: 3D Rotation
183: OpenGL Vertex Color Buffer
184: Stock Android SDK Themes
185: Voice Recognition
186: Voice Recognition Result
187: Text to Speech
188: Set Language and Speak
189: Notifiying Status Bar
190: Setting up a Notification
191: Notification Manager Methods
192: AudioManager Methods
193: Changing the Volume with a SeekBar
194: Downloading Admob SDK
195: Adding External Jar
196: Adding Admob Ad via XML
197: Adding Ad Unit Id and Ad Size
198: Adding Admob Ads via Java
199: Putting an App on the Market
200: Updating Application