Presented by Paul Deitel, CEO Deitel & Associates Co-Author of Android How to Program: An App-Driven Approach Teaching Android App Development with Android How to Program Paul Deitel, CEO, Deitel & Associates Email: paul.deitel@deitel.com Web: www.deitel.com Facebook: http://facebook.com/DeitelFan Google+: http://gplus.to/Deitel Twitter: @deitel LinkedIn: http://linkedin.com/company/deitel-&-associates Source Code Downloads for the Book: http://www.deitel.com/books/AndroidHTP © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Agenda Android Quick Facts Prerequisites for Teaching/Learning Android App Development Target Audiences for Android How to Program Android How to Program Overview Software Requirements & Setup Android Development Tools Overview Issues You May Encounter Teaching Tips Customer Service © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Android Quick Facts Most widely used smartphone OS Powers 52% of the US smartphone market Phones, tablets, Google TV and more Current version is Android 4.1 (Jelly Bean), but is only 1.8% of the market Version 2.2 is 12.9% of the installed base Versions 2.3.3-2.3.7 are 55.5% of the installed base Versions 4.0.3-4.0.4 are 23.7% of the installed base © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Prerequisites You must know object-oriented Java programming You must know XML Used in GUI design and app settings XML online tutorials http://docs.oracle.com/javaee/1.4/tutorial/doc/ IntroXML2.html http://www.ibm.com/developerworks/xml/newto/ http://www.w3schools.com/xml/xml_whatis.asp http://www.deitel.com/articles/xml_tutorials/20060401/ XMLBasics/ http://www.deitel.com/articles/xml_tutorials/20060401/XMLSt ructuringData/ © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Prerequisites Preparation time is essential Build the apps yourself before teaching them developer.android.com is important http://developer.android.com/develop/index.html Study the APIs/developer guides/sample code Check out the new Android design guidelines http://developer.android.com/design/index.html © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Target Audiences for Android How to Program Upper-level elective college courses and industry professional courses for people familiar with object-oriented programming May or may not know Java “Honors” or “accelerated” CS1 courses Schools that offer many sections of CS1 in Java could offer one or two sections to ambitious students with prior programming experience and who want to work hard to master both Java and Android Aggressively paced course © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Android How to Program Overview Includes everything you need to teach Android app development Created this book by combining Android content from Android for Programmers Java content from Java How to Program, 9/e Adding short answer exercises for the Android content Adding suggested projects for the Android content © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Android How to Program Overview App-Driven Approach Concepts in the context of complete working apps Each app chapter begins with introduction to the app test-drive technologies overview Detailed code walkthrough of the app’s code Discusses the programming concepts Demonstrates the functionality of the Android APIs © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Android How to Program Overview Thinking like a developer from the start Android Smartphone Apps We cover many of the features included in the Android Software Development Kit (SDK), including Bluetooth, Google Maps, the Camera APIs, graphics APIs and support for multiple screen sizes and resolutions Android Tablet Apps Build lots of real stuff and face the kinds of challenges professional developers must deal with Online documentation and forums where you can find additional information We cover many Android features for developing tablet apps, including property animation, action bar and fragments Android Maps APIs The Route Tracker App uses the Android Maps APIs which allow you to incorporate Google™ Maps in your app © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Android How to Program Overview Multimedia Android Best Practices The apps use a broad range of Android multimedia capabilities, including graphics, images, frame-by-frame animation, property animation, audio, video, speech synthesis and speech recognition. We adhere to accepted Android best practices, pointing them out in the detailed code walkthroughs Web Services Web services allow you to use the web as an extraordinary collection of services— many of which are free Chapter 11’s Route Tracker app uses the built-in Android Maps APIs to interact with the Google Maps web services Chapter 14’s Weather Viewer app uses WeatherBug’s web services. The exercises encourage you to explore the vast array of available web services. © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Android How to Program Java Content Objects and classes early helps novice readers master these concepts more thoroughly before attempting the object-oriented Android material. Introduces Java’s generic collections that are used frequently in our Android treatment and for which Android has some similar classes. Introduces multithreading fundamentals, showing the features that we use in several of our Android apps—important for maintaining app responsiveness Introduces Java GUI development—Android provides its own GUI components, so this appendix presents only a few Java GUI components, focussing on event-handling techniques that are used in all Android GUIs. The appendix introduces nested classes and anonymous inner classes, which are frequently used in Android programming. © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Instructor Resources PowerPoint slides containing only the code and figures in the text Test Item File of short-answer questions True/False and Fill-in-the-Blank Solutions Manual For both the Java and Android content, solutions to the end-of-chapter short-answer exercises For the Java content, solutions are provided for most of the programming exercises Solutions are not provided for the suggested Android appdevelopment project exercises © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Software Requirements & Setup Java SE 6 (not 7!) Development Kit http://www.oracle.com/technetwork/java/javase/dow nloads/index.html Set the JAVA_HOME environment variable to ensure that the correct JDK is used Eclipse IDE for Java Developers http://eclipse.org/downloads/ Eclipse 3.6.2 (Helios) or greater Android SDK and ADT Plug-in http://developer.android.com/sdk/index.html © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Software Requirements & Setup Install Java SE 6 Ensure that your PATH and JAVA_HOME are configured properly Probably want to remove the CLASSPATH if your system has one Extract Eclipse Run/Configure Eclipse Specify where your workspace should be saved Tabs/Indentation/Line Numbers Window > Preferences > General > Editors > Text Editors Mac: Preferences option is under the Eclipse menu © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Software Requirements & Setup Install the Android SDK http://developer.android.com/sdk/installing/index. html Contains only the tools, not the platforms/APIs Installer will tell you which version of Java it discovered; if it’s not the Java SE 6 SDK, you MUST correct that before continuing On Windows, install to c:\android-sdk—sometimes paths with spaces cause issues © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Software Requirements & Setup Install the Platforms http://developer.android.com/sdk/installing/adding- packages.html Run the SDK Manager Our book uses Android 2.3.3 through 3.2 Consider installing 4.x too Install the ADT Plugin http://developer.android.com/sdk/installing/installing-adt.html Set up AVDs for Testing Should have at least one smartphone and one tablet AVD For real development, you’d have many so you can emulate a wide range of real devices © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Android Development Tools Overview Eclipse IDE ADT Plug-In Android Emulator and AVDs Using real Android devices On Windows, you might need to download and install USB drivers for the specific device Must enable debugging on the device © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Issues You May Encounter Wrong version of Java Eclipse can’t find the Android SDK The Android development tools update frequently Steps in any book are likely to be out-of-date quickly XML files open in the wrong editor Set in Window > Preferences > Java > Compiler Updated tools Set location in Window > Preferences > Android Wrong Eclipse Java compiler compliance level May need to set up JAVA_HOME environment variable Right click the file and select the appropriate editor AVD won’t launch May need to use the command line emulator tools in the Android SDK’s tools folder to launch © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Teaching Tips Ensure that your students understand Java OO programming before getting into Android Open your AVDs before you begin your lecture—they take a very long time to load! Test drive the app in an AVD or on an actual Android device so the students understand the app’s purpose—remember, some features are available only on devices Overview the technologies that will be used in the app to give the students some context Devices are always the fastest way to test apps © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Teaching Tips Developing an app can take weeks or months Have students work in teams Stanford Facebook app development course http://www.stanford.edu/group/captology/cgibin/facebook/ Students worked in teams developing apps, some of which landed in Facebook’s top 10, earning some of the student developers millions of dollars Course gained wide recognition for encouraging student creativity and teamwork © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Customer Service We're here to help! Send comments and suggestions—these help us improve future editions © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved. Contact Us! Email: paul.deitel@deitel.com deitel@deitel.com Web: http://www.deitel.com Facebook: http://facebook.com/DeitelFan Google+: http://gplus.to/Deitel Twitter: @deitel LinkedIn: http://linkedin.com/company/deitel-&-associates Code Downloads: http://www.deitel.com/books/AndroidHTP © Copyright 2012 by Deitel & Associates, Inc. All Rights Reserved.