copyright Steve J. Hodges

CIS 34


Spring 2020 schedule
Week Date Lecture
1 01/27
Course Introduction and Website, class discussion, Textbooks, Self Introductions, initial Programming Team formation, Java introduction for C++ Programmers, Getting Started with Android, Android Development Tools, Building Android Applications
iPad in use
(2) Setting up an Android Studio Development Environment
(3) Creating an Example Android App in Android Studio
(4) A Tour of the Android Studio Interface
2 02/03

Review as necessary:
(5) Creating an Android Virtual Device (AVD)
(6) configuring AVD
(7) Testing on a physical Android device
(8) Android Studio editor basics

(9) Android Architecture overview
Figure 9.1 Android Architecture
(10) Anatomy of Android Applications
(11) Android Application and Activity Lifecycles

(12) Activity State Changes
Figure 12.2 Android Application lifecycle

W 02/05/20 Demo: simple Calculator (AS3.5.3)

Legacy Examples:

Demo App:
Demo App, version two:

(15) through (20) Views and Layouts
Figure 17-9 Chained Constraints

Connecting a button to a function via editor
connecting buttond to a function via code app from 01/03/16 (AS 1.5.1, A23)

Multiple Activities app from 01/03/16 (AS 1.5.1, A23) (AndroidStudio 1.0.1) (AS 1.0.1)
(12) (13) State Changes & Examples & first look at persistance
Figure 11-2 (Activity states)


3 02/10

W: first Android Project due
W: Android Project Proposal (1 page max) due


M 02/10/20 w/ Toast: (AS3.5.3)

W 02/12/20 updated Calculator with Persistance (AS3.5.3)


(42) (43) (44) Intents and Activities
sample app with two activities and parseDouble (M 02/12/18 class)


Legacy Examples:

startActivity, Intents, Bundles,
XML Animation, Launching an Activity to return a result Data Persistance with SharedPreferences, Designing an Application Framework, Implementing an Animated Splash Screen (AS 1.0.1) (AS 1.0.1) (AS 1.0.1)


Simple Splash Demo (E A20)
TestSplash (.zip 1.7 MB)

Simple Image Demo (A18 .zip 2MB)

4 02/17

Monday, February 19 is a holiday (no class meeting)

Grid View and Adpapters
8-Puz (.zip 16MB) (updated SP18)

Sensors Overview (Android Documentation)

SensorEventListener (Android Documentation)

Accelerometer Demo (.zip)
Compass Demo (.zip) [fixed]

Legacy Examples:

Image resolutions set (.zip 1MB)

5 02/24


working Compass (above)

Android SQLite databases
SQL commands for interactive exercise (text file)
Microsoft TechNet: Writing SQL Queries


Table Views and SQLite databases
Database Example (.zip, AS3.0.1)

Asynchronous Tasks, Network Requests, Dialog Boxes
CabrilloWeather (.zip, AS3.0.1)

Legacy Examples

Application Logic, Working with Images and the Camera


Revised Camera Demo for Android Studio
CameraDemo (A23 AS151)

Video Recording and Playback (AS 1.0.1) (AS 1.0.1) (AS 1.0.1)
SimpleDialog Box Example (E)

Camera/Image Project
Camera and Image Library Demo (E 1MB)

Android Developer Blog & Training: User Interface
Layout Example (from (E A21 ~ 50kb)
android developers Blog: Space and GridLayout
Linear Layout
Relative Layout

6 03/02

03/04/20 (AS3.5.1) (AS3.5.1) (AS3.5.1)

Memory Game (version 1)
Memory Game (version 2)

Legacy Examples:

projects ported to Android Studio 1.1.0 A21:
Cabrillo Weather
Sound One
Cinco, version 5

Support for Location-Based Services,
Findr Project
Version Onewith passive GPS(E .zip 1MB)
Version One with active GPS (E .zip 1MB)


Basic Network Support, Additional Network Features
CabrilloWeather Project
Version One (E .zip 1MB)

Responding to multiple widgets with one object
MultiButton( A21).zip

Simple Audio Examples
SoundOne (Eclipse)
SoundTwo (E 14MB)

  • SoundTwo-version two with SeekBar (E 14MB .zip)
  • Data Persistance with SharedPreferences
    using Handler/Runnable for timing
    TimeAgain (E .zip 1.5MB)

    7 03/09

    03/09/20 (AS3.5.1)


    Three Textbook Examples:
    (26) MultiTouch demo
    (33) Delayed Transitions (animated widgets)
    (36) Tabbed Interface (Navigation with Fragments)

    Legacy Projects:

    simple GridLayoutDemo
    FingerPaint, v3

    Portrait/Landscape Layout, Master/Detail Flow (Fragments)
    8 03/16

    Examples by Request
    ButtonBonanza (Dynamic+Scrolling Buttons)
    ButtonFury (Canvas drawn Buttons)

    Class time devoted to projects

    Legacy Projects:


    GridView used for a simple sliding tile game
    Eight Puzzle (AS1.1.0 A21)


    Other Android Examples

    Swift for C++/Java Programmers, introduction to developing applications for iOS
    iOS textbook chapter 1

    Catch-up and Android team project work
    9 03/23
    Spring Break—no classes held
    10 03/30
    Android Team Project Demonstrations
    (you may present on Monday or Wednesday)

    Introduction to/Overview of Swift
    11 04/06

    Swift Playground save (4.10.18)
    First Sample Application with a button and a text field.
    Unit Converter


    introduction to XCode and first example apps
    IBAction and IBOutlet

    Distance Converter (iOS9, Swift 2.2)

    Controller Test 8 (iOS9, Swift 2.2)

    12 04/13

    Auto Layout, Storyboard and Segues, TabBar Navigation
    Introduction to SpriteKit

    Storyboards, Segues, Scenes
    Segue Demo (iOS9, Swift 2.2)


    Simple Data persistance with NSKeyedArchiver
    SimpleDataPersistance (iOS9, Swift 2.2)

    13 04/20

    ControlTest8 (updated to XCode 9.2; Swift 4)

    StackViewDemo (textbook; iOS 11)

    TextField Events
    simple 2d Graphics
    NASA Logo

    Legacy Examples

    SpriteKit - simple Game Example
    Archer Game - WIP 04.18.16 (iOS 9, Swift 2.2)
    Archer Game - WIP 04.20.16 (iOS 9, Swift 2.2)


    14 04/27
    Another Graphic Demo -- UIView with outlet
    Simple Segue Demo

    ShoppingList (CoreData and Navigation Controller)

    Legacy Exmples

    SpriteKit - simple Game Example
    Archer Game - WIP 04.25.16 (iOS 9, Swift 2.2)

    Camera and Photo Library
    Camera8 (update to iOS9, Swift 2.2)

    Location8 (update to iOS9, Swift 2.2)
    Geocode8 (update to iOS9, Swift 2.2)

    Tab Bar Navigation
    TabBarExample9 (iOS 9, Swift 2.2)
    AudioExample8 (update to iOS9, Swift 2.2)
    15 05/04
    Monday Examples
    Wednesday Examples
    CMMotionManager (Developer Docs)

    Legacy Examples

    working with MFI (made for iOS)
    wireless Game Controllers
    simple/minimal demo project (XCode 6.3.1, iOS8, Swift)


    Data Persistance with NSKeyed(Un)Archiver
    Archive8 (iOS 8/XCode 6.1)

    simple audio example
    AudioExample8 (iOS8/ XCode 6)

    simple audio example w/ time control
    AudioExample8 (more) (iOS8/ XCode 6)

    simple SQLite with FMDB wrapper demo
    Database8 (iOS8/ XCode 6)

    Master/Detail view with TextField dialog and Web View
    MD8 (iOS8/ XCode 6)

    Asteroids -- First Draft (upgraded to iOS9, Swift2.2)
    16 05/11
    Monday Examples:
    QuickDemo version 2 (AVAudioPlayer & StackView)

    Wednesday Examples:
    QuackDemo (AVAudioRecorder)
    Quack Demo version 2 (with SMS Text Messaging of the sound file and broken UI; from class)
    QuackDemo version 3 (with "fixed" UI)
    Map <br/>

    Kit example (from textbook; chapter 80)

    work on final projects, topics by request, other
    Passing Data between Views: (Xcode 6.3)

    17 05/20 (no meeting on Monday)
    Wednesday, May 20th, 1:00pm–3:50pm
    iOS Final Project Demonstrations

    This schedule is subject to change.