Wroclaw University of Technology  –  Faculty of Electronics  –  Internet Engineering

INEA00112 "Application Programming: Mobile Computing"
Archival LABORATORY 2014-2015


iOS
Laboratory ( i1 )  -  iOS - Intro, development environment, startup application
Getting familiar with Apple iOS7 mobile platform and XCode5 IDE:
  1. Use instructions from following auxiliary readings to create a new iOS7 project
    and implement single screen "Currency Converter" application.
  2. Use iPhone emulator and XCode tools to test and debug your application.
  3. Rebuild and expand this first "converter" program to the form of a general-purpose mathematical calculator (analogous to the calculator made ​​for the Android platform).
Supplementary materials:


Local resources - 
PDF presentation: Walkthrough iOS 5



Laboratory ( i2 )  -  iOS - ViewController life cycle, Segues in Storyboard
  1. Study the concept of ViewController in iOS ModelViewController architecture:
      - review selected slides no 6-16 from Lecture_5 (course CS193p/Stanford/2013)
      - View Controller Programming Guide for iOS (online iOS documentation)
      -  or other usefull comments: iOS View Controller Programming, View Controller Life Cycle
     
  2. Implement basic "life cycle" methods (e.g. viewDidLoad, viewWill/DidAppear, viewWill/DidDisappear, willRotateToInterfaceOrientation, ..., etc)  for main ViewController in Converter/Calculator application created during the laboratory (i1)

    Use NSLog(...) function to print debug information visualising the sequence of ViewController life cycle events (in similar manner like Toast or Log.i for visualising Android Activity lifecycle in laboratory A1.a). 

  3. Get familiar with the method of visual composition of Segues between sequence of windows (ViewControllers) in multi-screen iOS application:
      - selected slides no 16-38 from Lecture_6 (course CS193p/Stanford/2011)
      - 12 minutes demo iOS - Storyboards-Scenes and Segues on YouTube

  4. Analyse the example code of  "PSYCHOLOGIST" application
    (created as demo for "Lecture 6: Multiple MVCs and Segues" - last 25 minutes of video)
    Create similar "StudyAdvisor" application, which will assist in the choice of the  field/speciality of study at our Faculty of Electronics.
    (using questions like: Are you more interested in computer hardware or software?
    What is your favourite programming language: Java, C++, Asembler? , etc.)    


Laboratory ( i3 )  -  TableViewController, Master-Detail programming pattern
  1. Study the concept of UITableView and TableViewController in iOS architecture:
      - review selected slides no 1-58 from Lecture_11 (course CS193p/Stanford/2013)
      - Table View Programming Guide for iOS (online iOS documentation)
      -  or other usefull comments: Simple Master-Detail Application Master-Detail video demo
     
  2. Follow one of below listed step-by-step tutorials:
      - Dynamic TableViews with Prototype Table View Cells
         from Techotopia  iOS 7 App Development Essentials online book,
      - Simple Master-Detail iPhone App (EN/PL)
    to create your version of Master-Detail application which utilize master TableViewController to display a brief list of data items (cars, animals, ...)
    and detail ViewController to present more precise information about selected item.

    The default theme could be application presenting a brief list all specialities at our Faculty of Electronics and related detail information about selected speciality.

    Depending on your preferences, you can use  Static_Cells  for predefined fixed list of items, or Dynamic_Prototypes for variable number of items
    (e.g. loaded from a mutable array or database).