Download presentation
Presentation is loading. Please wait.
Published byRamiro Stringfellow Modified over 9 years ago
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 cutler@rice.edu 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 446 - 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 446 - Week 63
4
SEC - 9/26/12 COMP 446 / ELEC 446 - Week 64
5
Current Roster Victor Acuna Ryan Artecona Gbenga Badipe Peter Chang Joan Chao SEC - 9/26/12 COMP 446 / ELEC 446 - Week 65
6
Current Roster (2) Alex Chiu Heaven Chen Lingo Dai Weibo He Sahil Hingorani SEC - 9/26/12 COMP 446 / ELEC 446 - 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 446 - 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 446 - 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 7 - 10/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 8 - 10/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 9 - 10/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 446 - Week 69
10
COMP 446 Syllabus Lecture 10 - 10/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 11 - 10/31/12 - TBD Assignment:Continue working on Final Project Assignment due:Wednesday, 11/28 2:00pm Lecture 12 - 11/7/12- Android vs. iOS vs. Windows Phone group debate Assignment:Continue working on Final Project Assignment due:Wednesday, 11/28 2:00pm Lecture 13 - 11/14/12 - Individual meetings on Final Project Assignment:Continue working on Final Project Assignment due:Wednesday, 11/28 2:00pm Lecture 14 - 11/21/12 – No class, but continue on final project Assignment:Continue working on Final Project Assignment due:Wednesday, 11/28 2:00pm Lecture 15 - 11/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 446 - 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 446 - 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 446 - 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 446 - 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 446 - 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 www.comp446.com Start thinking about big project Next week’s lecture – Maps, Blocks and Threads SEC - 9/26/12 COMP 446 / ELEC 446 - 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 446 - 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 446 - 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 446 - 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 446 - 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 446 - Week 620
21
New Classes UIImage and UIImageView UIWebView UIScrollView UITableView SEC - 9/26/12 COMP 446 / ELEC 446 - Week 621
22
UIImage Easy to create UIImage *image = [UIImage imageNamed”@foo.jpg”]; 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 446 - 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 UIImageView @property (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 446 - 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 446 - 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 446 - Week 625
26
UIScrollView SEC - 9/26/12 COMP 446 / ELEC 446 - 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 446 - 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 446 - Week 628
29
UITableView SEC - 9/26/12 COMP 446 / ELEC 446 - Week 629
30
UITableView SEC - 9/26/12 COMP 446 / ELEC 446 - 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 446 - 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 446 - Week 632
33
UITableViewCell - initWithStyle:(UITableViewCellStyle) style reuseIdentifier:(NSString *)reuseId; SEC - 9/26/12 COMP 446 / ELEC 446 - 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 446 - 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 446 - 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 446 - 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 446 - Week 637
38
Assignment #4 Questions SEC - 9/26/12 COMP 446 / ELEC 446 - Week 638
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.