Learn to build apps for Android. In person and In New Jersey.
Mobile applications play an important role in modern business and technology. The ability to develop these applications in a structured and aesthetic way is a valuable tool. In this course, you will build your first AndroidOS mobile application while learning about the Android Studio Integrated Development Environment (IDE) and improving your Java programming skills. Using effective design techniques, you will ensure that your mobile application looks great on an Android mobile phone or tablet. Although this course does not address development of iOS specifically, it does present many concepts that apply to Apple technology. Course will be taught by Professor Anthony Deese, Ph.D.
- Develop mobile applications for the Android operating system (OS).
- Manage files and code within the Android Studio IDE.
- Improve those Java programming skills relevant to mobile applications.
- Design and implement static as well as dynamic user interfaces.
- Develop software that employs asynchronous programming and multi-threading.
- Develop custom interfaces and listeners for communication between threads.
- Introduce data storage within the Amazon Cloud.
- Properly manage exceptions and errors.
Who Should Attend
This course is designed for adult learners with some background in programming and specifically in the Java language. If you have experience programming for other platforms but want to learn about programming for mobile platforms, this course provides a foundation.
This course is a hybrid format. It will take place on campus in Ewing, NJ and by live remote with Professor Anthony Deese. Over a period of two full days and 4 hours of live remote, students will attend lectures, read relevant texts, and work collaboratively to develop a mobile application based on their ideas. The course will run from 9:30am to 4:30pm with an approximate lunch break from 12:00pm to 1:00pm.
A laptop running Windows 7 or better or a laptop running Mac OS X is required. In advance of the course, students will receive instructions to install Android Studio on their laptop. This IDE is available for free via download. Students are also required to bring an Android mobilde device running AndroidOS version Marshmellow or newer.
Monday and Tuesday, March 12 and 13, 2018
9:30am – 4:30pm
TCNJ Campus, Ewing NJ
Wednesday and Thursday, March 14 and 15, 2018
Live Online – 2 hours daily Time TBD
$1100.00 for TCNJ Alumni/Faculty/Students/Staff
Register and Payment at
Module 1: Basics of Programming for Mobile Devices
- Programming for devices with limited computing power and memory.
- Asynchronous vs. synchronous programming (multi-threading).
- Building a user interface vs. developing its source code.
- How are mobile applications deployed and tested.
Module #2: Android Studio
- Overview of Android Studio IDE functionality and organization.
Organizing files, activities, and classes within Android Studio.
- Uploading an application from Android Studio to a mobile device.
- Including third-party libraries in the project.
- Introduction to debugging.
Module #3: Building Static User Interface Layouts (Activities)
- Placing and naming textboxes, buttons, checkboxes, and other relevant widgets.
- Planning a UI layout to maximize user accessibility.
- Accessing the state of widgets from an activity’s source code.
- Making widgets active / inactive and visible / invisible.
Module #4: Reintroduction to Java Programming
- Overview of Java language syntax and how it is used in Android Studio.
- Highlight of important function and operators.
- Building interfaces and listeners.
- Using Intents to close an activity and open a new activity / user interface.
Module #5: Activity Source Code
- What is the structure of an activty’s source code.
- Widgets as the window to the user input.
- Manipulating the UI dynamically via source code.
- Source code organization into main executable and supporting methods.
Module #6: Asynchronous Tasks
- Why are asynchronous tasks needed?
- How is an asynchronous task created using AsyncTask library.
- The structure of an asynchronous task (inBackground vs. onComplete).
- Implementing and testing an asynchronous task.
Module #7: Data Structures
- Creating and manipulating JSON and POJO objects.
- Rules of manipulating these objects.
- Passing JSON and POJO objects between methods.
- Other data structures including arrays and concatenated strings.
Module #8: A Calculator Application
- Putting these pieces together to develop a calculator mobile application.
- Testing and debugging this application on an Android device.
- Error and exception handling.
- Uploading this application to the Google Play Store.
Module #9: Introduction to Amazon Web Services
- An overview of the cloud services that Amazon provides.
Setting up an AWS Account and acquiring OAuth2 credentials.
- Saving data to the DynamoDB cloud.
- Introduction to serverless computing via AWS Lambda.
Module #10: Wrap Up
- Using these skills to develop more interesting applications.
- What skills do you still need to learn? What resources exist.
- Using third-party software development kits (SDK) and libraries.
- Introduction to dynamic UI layouts within source code.