Presentation is loading. Please wait.

Presentation is loading. Please wait.

Wednesday 2-3:30, DH 1046 COMP 446 / ELEC 446 Mobile Device Applications Scott Cutler Professor in the Practice of Computer Technology Department of Computer.

Similar presentations


Presentation on theme: "Wednesday 2-3:30, DH 1046 COMP 446 / ELEC 446 Mobile Device Applications Scott Cutler Professor in the Practice of Computer Technology Department of Computer."— Presentation transcript:

1 Wednesday 2-3:30, DH 1046 COMP 446 / ELEC 446 Mobile Device Applications Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering 9/26/12

2 Agenda Events of the Week Next week’s assignment and class Review of Assignment 3 Some more on UIScrollView, UITableView Questions on Assignment #4 SEC - 9/26/12 COMP 446 / ELEC Week 62

3 Events of the Week Apple sells over 5 million iPhone 5, supply constraints loom iPhone 5 Sales Break Record -- And Disappoint Apple's Maps app slammed over missing cities and other mistakes Apple apparently fixes iOS 6 Wi-Fi bug Apple supplier Foxconn: Production will resume tomorrow Verizon gets back on board with Windows Phone FCC to look at AT&T's FaceTime limits, says report Android Phone Hacked via NFC Behind the curtain at Google's Cirque du Soleil show Walmart Stops Selling Amazon Kindles Bad Timing: BlackBerry Outage Hits RIM on iPhone 5 Day SEC - 9/26/12 COMP 446 / ELEC Week 63

4 SEC - 9/26/12 COMP 446 / ELEC Week 64

5 Current Roster Victor Acuna Ryan Artecona Gbenga Badipe Peter Chang Joan Chao SEC - 9/26/12 COMP 446 / ELEC Week 65

6 Current Roster (2) Alex Chiu Heaven Chen Lingo Dai Weibo He Sahil Hingorani SEC - 9/26/12 COMP 446 / ELEC Week 66

7 Current Roster (3) Abdul Nimeri Bill Robertson Frank Salinas Tyler Siegert Austin Witt Matthew Zhao SEC - 9/26/12 COMP 446 / ELEC Week 67

8 COMP 446 Syllabus Lecture 1 - 8/22/12 - Introduction Watch before:None Assignment:#1 - Calculator Assignment due:Friday, 8/31 6:00 am (Thursday 30:00) Lecture 2 - 8/29/12- Assignment 1 issues and questions from videos Watch before:1, 2 Assignment:#2 – Function Calculator Assignment due:Friday, 9/7 6:00 am (Thursday 30:00) Lecture 3 - 9/05/12 - Assignment 2 issues and questions from videos Watch before:3, 4 (demo part) Assignment:#3 – Graphing Universal Calculator Assignment due:Tuesday, 9/18 6:00 am (Monday 30:00) Lecture 4 - 9/12/12 - Assignment 3 issues and questions from videos Watch before:4 (post demo), 5, 6 Assignment:Continue with #3 – Graphing Universal Calculator Assignment due:Tuesday, 9/18 6:00 am (Monday 30:00) Lecture 5 - 9/19/12 - Assignment 3 issues and questions from videos Watch before:Watch 7 before class, 8 after class Assignment:#4 – Flickr Top Places Assignment due:Friday, 9/28 6:00 am (Thursday 30:00) SEC - 9/26/12 COMP 446 / ELEC Week 68

9 COMP 446 Syllabus Lecture 6 - 9/26/12 - Assignment 4 issues and questions from videos Watch before:8, 9 very beginning of 10 Assignment:#5 – Flickr Map Places Assignment due:Friday, 10/5 6:00 am (Thursday 30:00) Lecture /03/12 - Assignment 5 issues and questions from videos Watch before:10 (after Tab Bar), 11, 12 Assignment:1: #6 – Flickr Core Data - Likely to be broken into required and optional parts - Optional part required for A+ 2: Final Project Topic (due before next class) Assignment due:Friday, 10/12 6:00 am (Thursday 30:00) Lecture /10/12 - Assignment 6 issues and SQL Watch before:13, 14 Assignment:Final Project Proposal Assignment due:Tuesday, 10/16 6:00 am (Monday 30:00) Lecture /17/12 - iOS 6 Watch before:Optional 15, 16 Assignment:iOS 6 app Assignment due:Friday, 10/26 6:00 am (Thursday 30:00) SEC - 9/26/12 COMP 446 / ELEC Week 69

10 COMP 446 Syllabus Lecture /24/12 – HTML 5 Watch before:Optional 17, 18 Assignment:Major Final Project Feature Assignment due:Friday, 11/2 6:00 am (Thursday 30:00) Lecture /31/12 - TBD Assignment:Continue working on Final Project Assignment due:Wednesday, 11/28 2:00pm Lecture /7/12- Android vs. iOS vs. Windows Phone group debate Assignment:Continue working on Final Project Assignment due:Wednesday, 11/28 2:00pm Lecture /14/12 - Individual meetings on Final Project Assignment:Continue working on Final Project Assignment due:Wednesday, 11/28 2:00pm Lecture /21/12 – No class, but continue on final project Assignment:Continue working on Final Project Assignment due:Wednesday, 11/28 2:00pm Lecture /28/12 - Final Presentations Assignment:Document Final Project Assignment due:By time assigned for COMP 446 final (there is NO final exam) SEC - 9/26/12 COMP 446 / ELEC Week 610

11 Final Projects Projects will be individual An acceptable iPad project can couple to an iPhone project Projects can be in iOS, Windows 8 or Android You are responsible for Win 8 or Android technology I have a small number of iOS devices that can be used by students without one. May have to share Likely have to deploy from a non-community Mac Must utilize at least one major and one minor iOS framework and feature not covered in first 6 assignments; preferably >1 major. Project must be pre-approved Often because proposed project too difficult to complete Sometimes need to be modified for content SEC - 9/26/12 COMP 446 / ELEC Week 611

12 Final Project Ideas Augmented Reality is always a winner There are some interesting robots utilizing the iPhone. One could make a board game with iPhone players and iPad game board. OpenGL is a good feature. External universal frameworks are NOT allowed. Utilizing a backend is good, but not much credit given for backend logic SEC - 9/26/12 COMP 446 / ELEC Week 612

13 Final Project Request Rebecca Richards-Kortum Lab Cell-phone based micro endoscope for the detection of cervical cancer Android based Project does not met COMP 446 Pedagogy Can be external project if interested Can be split into 2 parts with part 1 capable of being a COMP 446 project SEC - 9/26/12 COMP 446 / ELEC Week 613

14 Final Project Timeline 9/199/2610/0310/1010/1710/2410/3111/711/1411/2111/2812/5 - FP Topic 10/10 - Documentation due Finals Day - Final Presentation 11/28 - Individual Meetings 11/14 - Major Feature 11/2 - FP Proposal 10/16 - #6 10/12 - #5 10/05 - #4 9/28 SEC - 9/26/12 COMP 446 / ELEC Week 614

15 Week 7 Watch CS193p lectures #10 (after Tab Bar), #11 and #12 Make progress on CS193p Assignment #5 Try and complete before 10/03 class. Due Friday, 10/05 6:00 am. Submit assignments, review lectures at Start thinking about big project Next week’s lecture – Maps, Blocks and Threads SEC - 9/26/12 COMP 446 / ELEC Week 615

16 What is coming up in the assignments? Assignment #4 – Flickr Top Places Tab bar controllers TableView controllers ScrollViews Data from the internet Assignment #5 – Fast Flickr Map Builds on Assignment #4 Multi Threading / Grand Central Dispatch MapKit Assignment #6 – Core Data Flickr UIDocument Core Data SEC - 9/26/12 COMP 446 / ELEC Week 616

17 Assignment #3b Comments No Retina support (iteration by pixel, not points) Many issues with graph title, Many toolbar issues with missing bar button items Confusion with rotation. Gesture issues with location, immediacy, sign, etc. But these were not the biggest problem SEC - 9/26/12 COMP 446 / ELEC Week 617

18 Sloppy Assignment Submissions Very incomplete testing. Missed direct, specific aspects of the assignment. Evidence of starting close to due date. Evidence of not studying the videos. Videos are your friend. Demos even friendlier! SEC - 9/26/12 COMP 446 / ELEC Week 618

19 Final Project Timeline New 9/199/2610/0310/1010/1710/2410/3111/711/1411/2111/2812/5 - FP Topic 10/10 - Documentation due Finals Day - Final Presentation 11/28 - Individual Meetings 11/14 - Major Feature 11/2 - FP Proposal 10/16 - #6 10/17 - #5 10/12 - #4 10/05 SEC - 9/26/12 COMP 446 / ELEC Week 619

20 Review of Vides 8-10 Many of the slides to follow come directly from the Fall 2011 Stanford CS193p slide deck. Some come from earlier versions of CS193p which I think were a bit clearer than the current deck SEC - 9/26/12 COMP 446 / ELEC Week 620

21 New Classes UIImage and UIImageView UIWebView UIScrollView UITableView SEC - 9/26/12 COMP 446 / ELEC Week 621

22 UIImage Easy to create UIImage *image = [UIImage Looks in your Resources folder for file named foo.jpg. UIImage *image = [UIImage imageWithContentsOfFile:(NSString *)path]; Path is a path to a file in your application sandbox UIImage * image = [[UIImage alloc] initWithData: (NSData *)data]; Creates and image out of a collection of data. Data in points, not pixels Shows up as same size on iPhone with or without retina Does support high definition, retina images SEC - 9/26/12 COMP 446 / ELEC Week 622

23 UIImageView Subclass of UIView used to display UIImages Create in: Storyboard or UIImageView *imageView = [[UIImageView alloc] initWithImage:(UIImage *)image]; image is a property of (retain) UIImage *image; Many other properties Highlighted images (i.e. to show selection or press) Animation (animates through an NSArray of images) Calls to start, stop and time animations. SEC - 9/26/12 COMP 446 / ELEC Week 623

24 UIWebView A complete internet browser inside a UIView Based on Apple started WebKit HTML rendering Will load HTML, PDF’s, mail and other complex documents Supports light weight (time limited) JavaScript Can load from web URL or file URL SEC - 9/26/12 COMP 446 / ELEC Week 624

25 UIScrollView Handles images bigger than bounds of the UIScrollView Built in gesture recognizers Super class of UITextView and UITableView SEC - 9/26/12 COMP 446 / ELEC Week 625

26 UIScrollView SEC - 9/26/12 COMP 446 / ELEC Week 626

27 UIScrollView Zooming based on affine transform of underlining UIView scrollView.minimumZoomScale and scrollView.maximumZoomScale must be set Required delegate method to specify view -(UIView *)viewForZoomingInScrollView:(UIScrollView *)sender; With one view, return sender.view Programmatically use: -(void)setZoomScale: animated: -(void)zoomToRect: animated: SEC - 9/26/12 COMP 446 / ELEC Week 627

28 UITableView The canonical class used for efficiently displaying tables of data. Creates and reuses UITableViewCells Delegates UITableViewDataSource for data UITableViewDelegate for display information Both often part of UITableViewController SEC - 9/26/12 COMP 446 / ELEC Week 628

29 UITableView SEC - 9/26/12 COMP 446 / ELEC Week 629

30 UITableView SEC - 9/26/12 COMP 446 / ELEC Week 630

31 UITableViewDataSource -(NSInteger)numberOfSectionsInTableView:(UITableView *)sender; Optional method, defaulting to 1 -(NSInteger)tableView:(UITableView *)sender numberOfRowsInSection:(NSInteger)section; Required method - (UITableViewCell *)tableView:(UITableView *) sender cellForRowAtIndexPath:(NSIndexPath *)indexPath; NSIndexPath has two important properties, ip.section and ip.row. SEC - 9/26/12 COMP 446 / ELEC Week 631

32 UITableViewCell Standard methods or fully customizable. Built in properties (readonly) UILabel *textLabel; (readonly) UILabel *detailTextLabel; (readonly) UIImageView *imageView; SEC - 9/26/12 COMP 446 / ELEC Week 632

33 UITableViewCell - initWithStyle:(UITableViewCellStyle) style reuseIdentifier:(NSString *)reuseId; SEC - 9/26/12 COMP 446 / ELEC Week 633

34 UITableViewCell reuseIdentifier Creation of TableViewCells is expensive The desire is for effortless scrolling through hundreds or thousands of cells Only cells which are actively being displayed need to be fully formed Cells which go off the edge or not destroyed, but saved for reuse; keyed by reuseIdentifier DataSource methods for changing content of established cells is very efficient SEC - 9/26/12 COMP 446 / ELEC Week 634

35 UITableViewCellAccessoryType The disclosure indicator lets the user know that more information can be seen if the cell is clicked. The Checkmark signifies selection and is managed by your program The DetailDisclosureButton is a secondary launcher that brings up different details than just selecting the row. SEC - 9/26/12 COMP 446 / ELEC Week 635

36 UITableViewDelegate Second protocol, often implemented in the same class as the UITableViewDataSource Most used method: - (void) tableView:(UITableView *) sender didSelectRowAtIndexPath:(NSIndexPath *)indexPath; Typically pushes another view controller related to cell selected. Also has methods for: Controlling height Reacting to lifecycle events for the cell Custom header views and cell selection actions SEC - 9/26/12 COMP 446 / ELEC Week 636

37 Assignment 4 Tasks Read the list of 11 required tasks. Don’t forget to properly sort the lists Don’t forget to limit the number of recent photos to 20 and that they are unique. Properly show the requested cell title and subtitle Show the table or navigation controller title Initial view of a picture should be the largest that can completely fit. Scrolling, pinching, rotating and state saving need to work. Suggest starting with a universal app as iPad optional this assignment, but required for next. SEC - 9/26/12 COMP 446 / ELEC Week 637

38 Assignment #4 Questions SEC - 9/26/12 COMP 446 / ELEC Week 638


Download ppt "Wednesday 2-3:30, DH 1046 COMP 446 / ELEC 446 Mobile Device Applications Scott Cutler Professor in the Practice of Computer Technology Department of Computer."

Similar presentations


Ads by Google