Let's Build a Modern Android Application – Hoyt Summers Pittman III – Software you NEED



Let's Build a Modern Android Application – Hoyt Summers Pittman III – Software you NEED

1 1


android_app_workshop

This is the repo for the slide deck for my 2014 DevNexus workshop

On Github secondsun / android_app_workshop

Let's Build a Modern Android Application

Hoyt Summers Pittman III

@summerspittman +Summerspittman (f)summerspittman secondsun@gmail.com

Deploy Notes are here

Software you NEED

Java JDK 7

Android SDK

Android Studio OR Gradle 1.9

Git

Online Accounts You NEED

Google+

OpenShift

Software you WANT

Maven

An IDE Which doesn't hate Maven

PostgresSQL

WildFly 8

This is only if you want to run the DevNexus locally on your machine.

Clone these repos

https://github.com/secondsun/DevnexusAndroid/
https://github.com/devnexus/devnexus-site/

Make friends with someone who has an Android phone

In theory this will work on the emulator.

In practice: The Google APIs x86 4.4.2 package works perfectly

OBLIG About me.

(because otherwise why would you trust me?)

Sr. Software Engineer at Red Hat

Contributer to Android Aerogear project

Open Source Fan Boy

Because any OS where you can say C : RUN with a straight face is EVIL!

2010 MS HCI GaTech

Cyclist

DevNexus Organizer

Ajug Organizer/Web Chair

OBLIG About what I work on

Shameless plug is shameless

Aerogear

http://aerogear.org

Goals

Build the Devnexus Android app

Deploy the Devnexus Site to Openshift

Deploy the Aerogear Unified Push Server to Openshift

Configure everything to work together!

Android Services

GCM

Sync

Google Authentication

And how Aerogear can make some of this very easy for you

Improvements

You can help!

Caching

Optional Sign In

Design and UI/UX

Demo of the App

Video

Demo of the Push Server

Aerogear Push Admin

Demo of the DevNexus Site

DevNexus

Filler if people are still downloading

We'll come back to this

How Android Handles Sync

Content Provider

Account Authenticator

Sync Adapter

Implementations are in the DevnexusAndroid project.

How the DevNexus Server handles your Calendar

Restful Endpoints

Google Plus session validation

Messaging Openshift based Push server

Getting this running!

Setting up Googley services

Setting up Unified Push Server

Configuring DevNexus webapp

Configuring DevNexus Android app

Deploying DevNexus Web app

Running Android App

Setting up Googley services

https://cloud.google.com/console/project

Create application

Add GCM and add Google+ APIs

Add server information

Add Android key and package (org.devnexus)

Record keys and other information

Setting up Unified Push Server

Deploy the Unified Push Cartridge

This is an Open Shift App

Configuring DevNexus webapp

Create an OpenShift App

Use JBOSSEWS 7 (Tomcat)

Add Postgres Gear

Configure Postgres

Configure DevNexus

Configure Postgres

Create devnexus database

Create devnexus user

Grant all to devnexus

Import devnexus.postgres.dmp

Configure DevNexus

export TING_HOME

create ting.properties

Set ting variables

server.address=

database.hibernate.dialect=
database.hibernate.show_sql=
database.jdbc.driverClassName=
database.jdbc.url=
database.jdbc.username=
database.jdbc.password=

TING_CLIENT_ID=
TING_CLIENT_SECRET=
TING_PUSH_URL=
TING_PUSH_APP_ID=
TING_PUSH_MASTER_SECRET=

Configuring DevNexus Android app

Edit Manifest

Edit Constants.java

Deploying DevNexus Web app

Clone your OpenShift repo

Copy DevNexus Code into OpenShift repo

Edit your deploy hooks to set TING_HOME and ting.properties

Running Android App

Hit the run button in Android Studio

GOOD LUCK

https://github.com/secondsun/android_app_workshop