The previous post of the Activities and Tasks series gave an introduction to the concepts behind activities and tasks. We have seen that activities correspond to visible screens in the UI, that activities are grouped as stacks within tasks, and tasks are sent to the background and foreground as atomic units. In this post of the series, we focus on Android’s intent concept and address the following questions:
- What are intents?
- How do we use them to launch activities?
- What options (flags) does Android provide to customize this launch? (e.g. in terms of target task or activity instance creation)
Android application user interfaces are decomposed into ‘screens’ called activities. The user navigates from screen to screen thanks to buttons, clickable elements, keyboard keys, gestures, etc. Each activity manages one ‘screen’. Beyond those screens, ‘activity instances’ are created, configured, destroyed, recreated following a somewhat sophisticated lifecycle. To develop an activity, developers need to create a class extending the
Activity base class and override a couple of methods to react to lifecycle transition, events etc. This blog post highlights the threading issues encountered when developing a responsive Activity.
With Android, Google implemented its very own UI component model, introducing various new terms and concepts probably unfamiliar to most developers. Although well designed and powerful, it is unconventional, has a high learning curve and, in some respects, lacks sufficient documentation. Basic use cases may be quick to implement, but in order to develop more complex applications, a thorough understanding of Android’s UI component model is essential.
This series aims at providing this understanding while focusing on the UI related concepts of activities and tasks.
The last post presented the motivations about using SOA for mobile applications. It described where and how SOA technologies could be used in mobile solutions and the interests to follow such approach. This post describes a product recently developed by akquinet following this approach. This is a concrete demonstration of the advantages of using SOA in mobile solution.
The Mobile Solutions and OSGi competence center of akquinet is specialized in the building of mobile and modular applications. They has developed a high expertise in two different domains:
- Service-Oriented Architecture (SOA)
- Mobile Technologies
Despite they sound different, mixed together it creates a very interesting recipe. Indeed, it provides a new, flexible and efficient way to create mobile systems by infusing service-oriented concepts into mobile technologies. This post presents the motivations of such mix. The next post describes how this recipe was successfully already used.