-
Course Code
ΨΣ-ΔΚ-520
Type of Course
Mandatory [M]
-
Semester
2nd Semester
-
ECTS Credits
7,5
Objective
The proliferation of mobile devices in all sectors of human activity is spectacular. Todays’ mobile devices comprise several applications and capabilities, as well as access to the Internet thus tend to replace computers, as well as a variety of other devices such as cameras, MP3 players, etc. This has made mobile devices extremely popular while the widespread use of mobile devices and the rapid development of corresponding applications help accelerate business innovation. The objective of this course is to provide basic knowledge of technologies that will allow students to capitalize upon the opportunities offered by mobile application development industry. More specifically, the course presents network technologies for mobile and wireless communications. Moreover, the course presents location discovery techniques that can be exploited for location-based services for mobile devices. In addition the course provides an overview of requirements and functionalities for “smart” devices. An overview of the main platforms for mobile devices is also provided, such as iPhone, Android, Windows Mobile, Symbian, RIM. The design and development of applications for mobile devices is addressed.
A series of laboratory lectures will allow students to gain hands-on experience and expertise with respect to mobile devices programming, as well as development, configuration and optimization of related applications, aiming to increase their competitiveness based on the market emerging requirements for mobile devices and application programming skills.
Course Contents
- Mobile and wireless communication networks: Wireless access technologies and networks, characteristics of wireless personal area networks (WPANs), local area networks (WLANs), metropolitan area networks (WMANs) and wide area cellular networks (WWANs). Multimode terminals and wireless access selection.
- Conversational applications, data applications and web browsing via wireless packet access networks, effects of wireless environment and mobility on network/transport layer and applications, mobility management protocols and TCP adaptation in wireless packet networks
- Location discovery technologies and location based services, IP multimedia subsystem wireless internet support technologies, architecture, layering and services.
- Mobile device platforms: Main concepts, Android application model, introduction to the Android platform, platform architecture, application building blocks, activities, services, content providers, broadcast receivers, intents, development tools.
- Android Lab 1: Development of applications with Android Software Development Kit (SDK) and the Eclipse framework, design and implementation of Graphical User Interface (GUI), use of XML layouts, main widgets (labels, check boxes, buttons, input boxes, etc), containers (widget collections), input method framework, drop-down menus, fonts. Examples and lab exercises.
- Android Lab 2: Data management in Android applications. Shared Preferences, settings implementation, state storage, examples and lab exercises.
- Android Lab 3: Access to device location information, Android classes and interfaces for management of location information in applications, use of Google Maps, MapViews, Geocoding, examples and lab exercises.
- Android Lab 4: Intents development for activities communication, tables, lists and multiple entries lists, examples and lab exercises.
- Android Lab 5: Addition of external sources and libraries, local files storage and editing, management of images and graphics, examples and lab exercises.
- Android Lab 6: SQLite database, table creation, insert and modification of records, queries, examples and lab exercises.
- E. Burnette (2010): Hello, Android: Introducing Google’s Mobile Development Platform, Pragmatic Bookshelf, ISBN: 9781934356562.
- P.J. Deitel, H. M. Deitel, A. Deitel, M. Morgano (2011): Android for Programmers: An App-Driven Approach, Prentice Hall, ISBN: 978-0132121361.
- M. L. Murphy (2010): Android Programming Tutorials, 3rd Edition, CommonsWare, ISBN: 978-0981678047.
- J. Steele, N. To (2010): The Android Developer’s Cookbook: Building Applications with the Android SDK, Addison-Wesley Professional, ISBN: 978-0321741233.
- F. Ableson, C. Collins, R. Sen (2012): Unlocking Android: A Developer’s Guide, Manning Publications, ISBN: 9781933988672.
Additional Readings
- S. Hoober, E. Berkman (2012): Designing Mobile Interfaces, O’Reilly, ISBN: 9781449394639.
- M. Firtman (2010): “Programming the Mobile Web”, O’Reilly, ISBN: 9780596807788.
- J. Conway, A. Hillegass (2010): iPhone Programming: The Big Nerd Ranch Guide, Pearson Technology Group, ISBN: 9780321706249.
- M. Poikselka, G. Mayer (2009): The IMS: IP Multimedia Concepts and Services, Wiley, ISBN: 9780470721964.