The class notes are made available on this page.
Some may not be available until after
they are discussed in class, and material covered in the course may not
end up with an entry on these pages.
- Mobile Competencies
- MVC - Model, View, Control.
Model, View and Controller approach to application development.
What are the different roles that the controller plays?
Data source for display
controls, event handler for button clicks, selections and other touch
notifiers and receivers of system-wide events.
- iOS App Delegate and Android Main Activity.
Application life-cycle and view/
activity life-cycle. What of your methods get called and when,
correpondingly what should your app do when they get called. What are
the basic building-block
classes for creating apps (Activity, Service, Content Provider,
- UI Components, Their Layout, and Interactions with Your Apps
Control Logic. Know the variety of
UI controls include Button, TextField, Picker, Progress Bar, Table,
Navigation Bar, Tab Bar, and Menu. You should
know the landscape of controls as well as having experience with
constructing and wiring-up a control's data-source.
What are the user events that a control (view) can pass to the user?
How are events wired to the
event handler? What types of events can be handled? How are swipes,
pinches, and expansions handled? How does
layout occur on the device? How do you group controls together on the
screen, or otherwise specify grouping?
- Database. Both iOS and Android include facilities for
persistent data storage in a Sqlite database.
Display, manipulate (create update, insert, query, and delete)
app-specific information kept in a Sqlite database.
This is a sub-category of managing an app's underlying data model,
but an important capability of both major platforms.
Manage initialization from the app bundle to a location where the
database can be modified in a manner that allows
graceful upgrade of the app.
- Off-Device Communication. Communicate with an off-host
server or another mobile device.
HTTP, json/jsonRPC, tcp/ip sockets,
api-specific communications, and peer-to-peer discovery and
communications; Utilize appropriate platform-specific
guidelines and features (Android Services, for example) allowing your
app to communicate with distributed services.
- Multi-Threading and Asynchronous Computations.
Creating a thread, service, asynchronous call, and
related handlers (to access the UI thread with results), using the iOS
- Location Services. Know how to use location services on
both iOS and Android platforms.
On iOS abstracts provide coarser grained control and less flexibility.
But iOS location services are formulated
in a context easier to program. Android is characteristic of an open
platform in that you have more complete
access to location providers, but it takes more code at a lower level
- On-board Inter-app Communications.
Both platforms support access to calendars, contacts, and related
information. But, not telephone app information. iOS and Android have
SDK classes for your app to share its
information with other interested apps.
On Android this the Content Provider class. On iOS its done through
- Runtime versus Development. What are the major build-phases
for creating an app/bundle, how is debugging accomplished?
In an important way, app development is very similar to
embedded systems programming -- especially on iOS.
- Objective-C for iOS. A whole other subject.
- Research Presentations
- Platform API's (Dr. Lindquist, Date: April 2)
- Technology Behind Location Awareness (Agastheswar and Eshwari, Date: April 4)
- Location Based Services (Adit, Date: April 4)
- Mobile Web (Kavitha and Tanmaya, Date: April 9)
- Speech Recognition for Mobile Systems (Pratibha and Shruthi, Date: April 9/11)
- Mobile Issues: Technical and Policy (Ray and Shawn, Date: April 11)
- Controlling Energy Demand (Purva and Shivani. Date: April 16)
- Multi-Platform Development (Naveen and Pranay, Date: April 18)
- Application Design for Wearable Computing (Hieu and Yih-Kuang, Date: April 23)
- Mobile Replicated Data (Shruti and Shubha, Date: April 25)
- Testing Mobile Apps (Joanne and Xidong, Date: April 30)
Here is a rubric for scoring presentations from North Carolina State University
Evaluating Student Presentations
Expand All Nodes |
Collapse All Nodes
These pages are a work in progress. See an error, let me know. Thanks.
Email: Tim@asu.edu | Ser423 Home