Concurrency in Android
Janne Parviainen · Theseus (Ammattikorkeakoulujen) · 2012
Haltu, the thesis client, is fairly young company specializing in Android and web development. As a young company, Haltu has a natural desire to refine its processes and working culture, since such resources as time and schedules place constant pressure on projects and unexpected factors are an issue the company wishes to avoid. This is the reason why the refinement of software development processes is such a valuable asset for any company. As a fresh and young company, Haltu has not got stuck with old models and procedures but instead is open and willing to develop its functions further to benefit its employees and the company itself. In Android development, the mobile platform itself presents certain special characteristics which have to be taken into consideration in addition to the standard development princples. Bearing this in mind, this thesis concentrates on developing a design process aiming to build concurrent behavior on Android platform. The essential Java and Android components provided and their uses are explained in detail and the functionalities are illustrated by several code snippets. The result is a design process from the definition of requirements to the actual implementation of the components. There is also discussion of what different factors need to be considered for the behavior to be efficient and able to fulfill its purpose without being unnecessarily complicated and possibly offer code reusability and ease the maintenance efforts in the future. The goal of this thesis is to research and analyze the available components for concurrency and provide a frame for a design process workflow model. The purpose of this research is to optimize and enhance the whole Android application development process by providing an additional insight into the possibilities of building concurrent behaviour. As for the practical part, a security camera mobile application was requested where the end-user logs in with a mobile client and is able to view a user specified set of cameras and their latest images with log information and other data. This application supports already existing web application and its services. The network communication with the web service interface was a clear entity for concurrency, leaving the UI available to provide the user with appropriate information and responses.