OTHER EXHIBITING COMPANIES
MOBILE CONFERENCE APP SPONSOR
EXCLUSIVE T-SHIRT SPONSOR
BAG INSERT SPONSOR
LIGHTNING TALKS SPONSOR
DRINK TICKET SPONSOR
ANDROID DESSERT BASH
Filter classes by :
Kenneth R. van Wyk
Android Tablets and Beyond
Monday, May 14
9:00 AM - 5:00 PM
Embedded Android Workshop – Parts I and II
While Android has been created for mobile devices—phones first and now tablets—it can nonetheless be used as the basis for any touch-screen system, whether it be mobile or not. Essentially, Android is a custom-built embedded Linux distribution with a very elaborate and rich set of user-space abstractions, APIs, services and virtual machines.
This one-day workshop is aimed at embedded developers wanting to build touch-based embedded systems using Android. It will cover Android from the ground up, enabling developers to get a firm hold on the components that make up Android and how they need to be adapted to an embedded system.
Specifically, we will start by introducing Android's overall architecture, and then proceed to peel Android's layer one-by-one. First, we will cover the Android Open Source Project, the open-source project under which Android's source code is released. We will then dig into the native Android user space and Android's power tools, and cover how hardware support is implemented in Android. Given that Android is built on top of Linux, we will also go over some embedded Linux tricks and see how the kernel is modified to support the Android user space. In addition, we will look at the System Server, the Android Framework and core Android applications, and how to customize them.
Introduction to Android Development
New to Android development? Then attend this full-day workshop. The session will open with a summary of some of the different tools for Android development and will then progress through the key concepts of Android application development with many code examples and hands-on modules. Examples will be given, showing off some of the different tools available, so attendees will be well equipped to choose the best tools for their use. As the session progresses, attendees will have the opportunity to build an Android app of their own where they can apply what they are learning in the workshop.
Beyond an introduction to the basics, this session also covers some of the common hurdles met during development, and how to overcome them. This session will equip developers new to Android with the fundamentals they need so they are ready to tackle real-world Android development tasks.
This full-day workshop provides a hands-on introduction to Android application development and assumes some development experience with other tools or platforms.
9:00 AM - 12:30 PM
Designing an App from Idea to Market
Thanks to Android's powerful framework and component set, it's not hard to get a compelling application developed relatively quickly. If you're lucky enough to have a good eye for design, or know where you can find someone who does, Android apps can even look pretty good.
In this session, we're going to focus on what's hard: designing a good user experience for the Android platform. Over three hours, we'll take an application from the initial idea through the process of sketching, prototyping, user testing, design tweaking, spiking features, "vanilla skin" development, production asset integration, and styling and skinning the final product.
We'll be covering designer/developer workflow issues, the many ways that an Android app is not an iPhone app, how to prove your concept quickly with users, how to communicate about and deliver production assets quickly, and advanced skinning and styling of Android applications.
Mastering the Android Developer Tools
Developing Android applications can be challenging. Luckily, there is a robust set of tools that helps simplify the process. This half-day workshop will present an overview of the variety of tools currently available as part of the standard development environment.
During this workshop, we will describe the most important tools, show how to configure them properly, and demonstrate their effective usage. We will spend some time discussing how to effectively integrate the tools into your workflow, so you are able to be more develop more efficiently, and find bugs sooner.
This workshop is appropriate for all levels of developer - it will cover intro through advanced level content. The session will start with basic configuration and debugging (using DDMS, and ADB). Next, we will show development aids (including AVD/emulator, Lint, and XML tools). Finally, we will show how to use the tools to find and eliminate performance or UI issues (we will use HierarchyViewer, TraceView, and others for this).
1:30 PM - 5:00 PM
Apache Maven for Android Development Pros and Teams
So you have already started to use Apache Maven and the Android Maven Plugin for your Android application builds (or you are about to do so?) Get ready for a power boost of your understanding to your setup. We will very quickly recap Apache Maven usage as it relates to Android development, and then dive deep into various use cases. We will build applications and use our own and third-party libraries and deploy them on multiple devices. Then we will take things to the next level.
We will learn about enjoying the benefits of using a repository server like Nexus for increased build speed and reduced bandwidth needs. We will install third-party Android and Java libraries into the repository once so the whole development team and the CI server can use them. Then we will deploy our own libraries and Android applications there, and automate a release build with jarsigning, zipalign and proguard, as well as automated version updates and other AndroidManifest customizations.
Next, we learn how to hook up instrumentation tests and run it all on a continuous integration server like Hudson. It will show us build history over time, as well as unit and instrumentation test results and failure details.
Finally, we will take a look at customizing your build with custom Tasks defined with Ant or Groovy, as well as how to wrap it all in shell scripts if desired. We will get a glimpse on how you can make your components available to other developers available on Maven central or your own repository server. We will look at building native applications as well as Android libraries to reuse across projects. Finally, time permitting, we will take a peek at the source of the Android Maven Plugin and learn how to enhance it with further desired features.
This session assumes knowledge of Apache Maven and the Android Maven Plugin as presented in prior presentations, and will dive much deeper into the advanced use cases.
Preparation: If you want to follow along in the workshop, you should have a few things prepared. At a minimum, you should have your Android SDK with all available platforms installed. For following along with all samples, you will also need the Android NDK installed.
In terms of Maven itself, you should be using Maven 3.0.4 and have run a few Maven projects on your machine already. Ideally, you have run all the samples of the Android Maven Plugin. Beyond that, installers for Nexus, Hudson and all the code samples will be provided during the workshop to get the latest versions and will be made available afterwards.
Building for the Big Screen: Creating Great Apps for Google TV
Developers can use the standard Android SDK to create applications for the Google TV platform, but in order to create truly outstanding TV experiences, some special considerations need to be made. This half-day workshop will begin with an overview on what it takes to design and develop an application for a TV platform. It will then dive into hands-on examples on how to implement an Android app for Google TV.
The instructors, from the Google TV Developer team, will share some of the insights learned from User Experience studies and how UIs can be created to take advantage of the TV screen and the social living room environment. The workshop will also highlight the key differences between developing for a mobile device with a touch screen and building a 10-foot UI controlled with a remote control from the couch.
Next, the workshop will cover specific key Android APIs, which are important to developing Google TV applications. Attendees will see some sample applications demonstrating Audio Focus management, location services and network connection management.
Lastly, the workshop will highlight some in-depth topics like creating distributed "multi-screen" apps, high performance UI tips and demo some ideas around connecting peripheral devices to Google TV. The workshop assumes familiarity with Android, and ideally the participants have developed and distributed their own apps in Android Market.
Android Tablets and Beyond
Building Secure Android Apps
Kenneth R. van Wyk
This half-day workshop begins with an in-depth look at the security problems faced by today's mobile software developer, as well as a detailed description of the Open Web Application Security Project’s (OWASP) Top 10 Mobile Risks security defects. These defects are demonstrated live for the students to thoroughly understand and internalize. (All tools used are open source, and listed for anyone who wants to follow along hands-on.)
Next, we provide a look at the Android platform's security features. The Android platform architecture and application architecture are covered in detail, along with descriptions of security services at the network/platform layer, as well as security services available within the applications themselves.
Lastly, we then look at common security mechanisms needed to build secure Android apps, and discuss how to securely implement them in applications (with source examples). These include user authentication, component authentication, session encryption, encrypting sensitive data at rest, input validation, output escaping, and so on.
Android Business, Developer Essentials
Creating Android Apps for Today’s Bluetooth Devices
This half-day workshop is designed to show developers how to create applications that let Android smartphones and tablets communicate with the latest Bluetooth devices in today’s marketplace. This includes apps that let phones and tablets receive and process data from wireless heart-rate monitors, thermometers, weight scales, handsfree car systems, headphones, and many other types of Bluetooth-enabled devices.
In this session, you will learn how Bluetooth technology uses a client/server model for exchanging information between two devices. We will use Bluetooth low energy development kits to simulate the server side of a profile. The client side will be implemented using the Android Bluetooth package. This session will also take the learning experience to the next level by analyzing the Air Interface traffic captured between the Android app and the Bluetooth device.
Bluetooth Low Energy 101:
Covers in-depth understanding of Bluetooth Low Energy Stack
Emphasis on Application layer, Profiles GATT, ATT and GAP.
Android Bluetooth package:
Overview of Android’s Bluetooth package
Overview of underlying BlueZ open source project
Hands-on Sample application
Debugging Application and understanding Bluetooth Air Interface traces:
We will have the packet format cheat sheet for all the PDUs. Some of the exercises will involve parsing the packets and extracting useful information.
About BZ Media
Legal and Privacy
Contact BZ Media
This site's content Copyright © 2010 - 2013 by
BZ Media LLC
, All rights reserved.AnDevCon™ is a trademark of
BZ Media LLC
. Android ™ is a trademark of Google Inc.
The Android Robot was created and shared by
and is used under terms of the
Creative Commons 3.0 Attribution License