Developing Android Mobile Apps for Business (manual orders only) Boot Camp - 3 Days
The Android OS platform has overtaken the mobile device marketplace. Android has become the dominant operating system for tablets and smartphones, not to mention myriad other gadgets such as digital picture frames, streaming TV servers, and so forth. In this course, you will learn how to develop and publish an Android app, focusing on developing business apps for tablets and smartphones that are compatible with a wide variety of Android versions and device layouts.
In this course, you will develop, test, and publish native mobile applications for the Android operating system.
- Set up an Android development environment and start developing an Android app.
- Develop an app that works well within the Android app framework and meets user expectations.
- Create an app with multiple user interface screens and features to move among them.
- Retrieve and display web data.
- Store and retrieve user preferences.
- Store and retrieve files and settings by using local storage and web services.
- Use debugging tools to trace and watch variables, and step through statements.
- Use Fragments to support flexible layouts.
- Use Resources to support internationalization and quick update of contents and styles.
- Add graphics, animation, audio, video, and media capture capabilities to your app.
- Used advanced Android features to use and provide services.
- Prepare an app for release, auditing its security and digitally signing it.
This course is intended for a programmer or web developer who is new to mobile app development in Android. The student has experience developing web or desktop applications using object-oriented programming languages and tools, but may not have experience developing mobile applications.
To ensure your success, you should have experience developing applications using an object-oriented programming language such as Java, C++, C#, Visual Basic, and so forth. This course focuses on Android development rather than the Java programming language, so experience or prior coursework in Java is highly recommended.
Course-specific Technical Requirements
For this course, you will need one computer for each student and one for the instructor. Although Android can potentially be developed on Pentium PCs with 32-bit Windows and 1 GB or less RAM, running emulators requires more memory and processing power. To minimize waiting in the class, it is highly recommended that you provide capable workstations with fast CPUs and as much memory as possible. We have tested various configurations, and have found that the amount of RAM present on your classroom PCs will have a significant impact on the success of the course.
It is recommended that you teach this course using PCs that meet the following minimum hardware configurations:
- PC with Windows 7 or 8, 64-bit
- 6 gigabytes (GB) RAM
- 50 GB available hard disk space
- Keyboard and mouse (or other pointing device)
- 1280 × 1024 or higher resolution monitor
- Network cards and cabling for local network access
- Internet access (contact your local network administrator)
- Projection system to display the instructor's computer screen
No Android devices are required to teach this course. To enable you to equip a classroom inexpensively and with minimal effort, this course has been designed around the use of emulated (rather than real) Android devices, focusing on an emulated Android Level 10 smartphone and an Android Level 17 tablet (both with Google APIs installed). These versions and formats were selected to enable you to demonstrate a wide range of differences that students might encounter in development of real world apps. Activities in this course have been scripted to assume these two Android versions and device formats will be present in the classroom.
This course could be taught using real devices, if you have an Android 10 smartphone and Android 17 tablet available for each student. However, if you choose to use real devices, you should key through the course completely before you teach the class to ensure that you will be able to deal with any differences that may arise from differences between the configuration of the real devices and the emulated devices.
Even if you do not have enough real devices to equip the classroom, you might consider providing opportunities for students to experiment with those that you have on hand. Students might find it beneficial to learn to work with real devices as an activity above and beyond those provided in the student manual. Practice labs provide a good opportunity for students to do such experimentation.
Android development tools are updated frequently, and the installation process can take considerable time. Although much attention was taken in writing this course to account for possible future differences in the development environment, such variations are impossible to predict. If you can, consider installing the Android development on one system, and then saving an image of that system to transfer onto other classroom computers and using this same system image each time you teach the course.
To prepare a student or instructor system for the class, install the following software according to the instructions provided. You will need the following software for each student and instructor computer:
- Windows 7 or 8.
- Java SE Development Kit. This course was developed on Java Platform (JDK) 7u9 (Windows x86 version). At the time the course was written, this software was available for download from www.oracle.com/technetwork/java/javase/downloads.
Eclipse Juno SR1 or later and Android SDK version 21 or later, which is provided with this course's data files . This course was developed on the combined 64-bit ADT Bundle for Windows of Android Developer Tools Build: v22.214.171.124212060302, which included the following tool versions.
To ensure screen shots and activities in the student manual will match what students see, we recommend that you use the same version to set up your course.
Test the Installation Before You Teach the Class the First Time
Before you teach the course the first time, be sure to key through the course and verify that the software functions correctly on your classroom computers. In our testing, we found that some computers that minimally meet the system requirements may behave erratically. For example, when the learner launches an app, the development environment may recognize only one of the running emulators. With some of the computers we used when testing this course (Asus K53E notebook computers), we found that the BIOS setting to enable Intel Virtualization Technology had a significant effect on how well the Android emulators ran. By disabling Intel Virtualization Technology on those computers, we found that the Android ARM emulators started and ran faster, and were less prone to quirky behavior.
Lesson 1: Getting Started with Android App Development
Topic A: Overview of the Android Operating System
Topic B: Set Up the Android Programming Environment
Topic C: Develop an Android App
Lesson 2: Working with the Android App Framework
Topic A: Work within the Android Project Structure
Topic B: The Android App Life Cycle
Topic C: Design to Requirements and Expectations
Lesson 3: Creating an App with Multiple Activities
Topic A: Add Activities to an App
Topic B: Provide Navigation to Other Activities
Topic C: Add Menus and Action Bars to an App
Lesson 4: Working with Web Data
Topic A: Populate a View with Web Data
Topic B: Populate a WebView
Lesson 5: Working with User Preferences
Topic A: Implement a User Interface for Preferences
Topic B: Read User Preferences
Lesson 6: Working with Data and Storage
Topic A: Write File Data
Topic B: Read File Data
Lesson 7: Debugging and Analyzing Android Apps
Topic A: Debug an Android App
Topic B: Use Additional Android Debugging and Analysis Tools
Lesson 8: Providing Flexible Layouts
Topic A: Use Fragments to Support Flexible Layouts
Topic B: Provide Backward Support for Fragments
Topic C: Provide Support for Alternate Layouts and Orientations
Lesson 9: Using Resources
Topic A: Load App Data from Resources
Topic B: Support Alternate Languages through Resources
Topic C: Apply Themes and Styles
Lesson 10: Working with Multimedia
Topic A: Load Graphic Images
Topic B: Draw Graphics through Code
Topic C: Add Animation Effects
Topic D: Capture Multimedia
Lesson 11: Integrating with the App Ecosystem
Topic A: Access Sensors and Location Services
Topic B: Develop a Widget
Lesson 12: Finalizing an App
Topic A: Manage App Security
Topic B: Prepare an App for Release