AndroidDemoProjects

ActivityRecognition: Example of using Google Play Services to recognize a user's activity, such as running, walking, or riding a bicycle.

AndroidArduinoLEDControl: Android project and Arduino sketch file for controlling 3 different LEDs attached to an Arduino board from an Android device.

AndroidAutoMedia: Demo for creating a navigation and playback architecture for Android Auto's media items.

AndroidAutoMessenger: Uses the Android Auto API to display notifications and receive voice feedback from users.

AndroidPermissionsDemo: Demo for the Android Marshmallow permissions model and how to request/check permissions.

AndroidTVAsteroidBelt: Example of using OpenGL and the Android TV controller to make a basic Asteroids game. The tutorial for this demo can be found on Binpress - http://www.binpress.com/tutorial/getting-started-with-game-development-for-android-tv/149

AndroidTVMediaPlayer: A demo media project for the AndroidTV.

AndroidWearDigitalWatchFace: Example of using a digital watch face on an Android Wear device using the official API

Animations: Example of using the new animation features in Android L. Goes over ripples, animated UI widgets, circular reveal, activity transitions and shared element activity transitions.

AppCompatToolbar: Demo of implementing the Toolbar from the AppCompat support library as a replacement for the standard built in actionbar.

BLEAdvertising: Demo of advertising over Bluetooth LE and finding devices that are advertising with a specified service UUID

Chromecast: Demo of using Android as a Chromecast sender application for playing an online resource on a television.

CustomDrawableStates: Implementation of custom drawable states in Android in order to extend past the standard 'pressed', 'active', etc.

Daydream: Utilizes the Daydream Android service to display quotes pulled from a server.

Death Star Watch Face: Custom watch face using images as the watch face hands.

EventDrivenHierarchicalViews: Example of using a container view with an update method to force all children views to update.

Face Detection: Sample using the Face Detection API from Play Services. Goes over detecting faces and landmarks on a still image for drawing over a picture.

Flashlight: Can't be an Android developer without making a flashlight app, right?

FordAppLinkAudio: Uses Sync AppLink to play a live online audio stream through Ford's vehicle audio systems.

Gallery: Displays a grid of thumbnails that can be clicked to show a larger version of an image. Also allows the larger detailed version of the image to be swiped in order to show additional images in the gallery.

GeoFencing: Demo of creating a geofence and posting a notification whenever a user enters or exits the area.

Google Fit Sensors API: Example of using Google Play Services to access Google Fit sensor data and keep track of the user's step count.

Google Maps: (Older, left for an article) Basic implementation of the Google Maps fragment that allows the user to place markers and display street addresses.

GoogleMapsForAndroidPt1: Implement location services, map overlays, drawing on the map, adding custom and standard markers

GoogleMapsForAndroidPt2: Override indoor level selectors, add views over map fragment, add street view

GoogleMapsForAndroidPt3: Use Google Maps Utils library to add heat maps, marker clustering and spherical utils.

IconColorization: Goes over using Picasso to change the color of drawables programatically.

JobScheduler: Demo of a simple JobScheduler from Android Lollipop to set up periodic background tasks.

MediaSessionwithMediaStyleNotification: Example of using a media session with the MediaStyle notification for Android Lollipop. These notifications are used for lock screen media controls.

NavigationDrawer: An example of using the navigation drawer in an activity to load fragments. Also an example of Square's Otto library for firing events from a list to the activity.

Nearby Connections: Implementation of the nearby connections API to communicate across a LAN between Android devices.

Notifications: Demo of different options available in a standard notification from the Android OS.

NotificationsCustomLayout: Creates a custom expanded layout for Jellybean+ that uses a service to perform actions based on notification button clicks.

ProductFlavorsandResources: Uses Gradle and the resource structure of Android to demonstrate creating multiple apps from the same code base.

RandomKittyMuzei: Plugin for Muzei that displays a new random cat image every hour from a remote source as a device wallpaper.

SensorList: Gathers a list of all hardware sensors available on the device, and displays the values that they produce in real time.

SilenceRingerWidget: Sample code for building a widget that silences the phone (including on Lollipop) with one button press.

StaggeredGridView: Sample app using Etsy's StaggeredGridView library - https://github.com/etsy/AndroidStaggeredGrid

StayAwake: Using the official Android Wear SDK that came out a couple days ago, I wrote an app that lets users select a time interval that vibrates the Wear on their wrist whenever the timer ends, then repeats. The goal is to help keep drivers alert on long drives.

StreetView: Implements the new Google Street View feature.

VideoPlayer: Native video player for playing remote content.

WearFaceWithOptions: Example of using the official Wear watchface API to make an analog watch face with a selection screen to change properties of the displayed face via the DataLayer API

WearCustomWatchFace: DEPRECATED: Left for archival purposes. Creates a custom watch face for the Android Wear with a settings activity. Uses an undocumented and no longer supported API. Please see WearFaceWithOptions for how to do this properly.

WearDevelopersPreviewNotifications: Examples of possible notifications using the Google Wear developer preview.

WearMessageApi: Demonstration of communication between a smartphone and Android Wear device through the Wearable Message API. Article describing the demo can be found at www.binpress.com/tutorials


License Copyright 2014-2016 Paul Trebilcox-Ruiz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.