Android Activities and Tasks series – Intent flags

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:

  1. What are intents?
  2. How do we use them to launch activities?
  3. What options (flags) does Android provide to customize this launch? (e.g. in terms of target task or activity instance creation)

Continue reading

Android activities – The predominance of the UI Thread

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.
Continue reading

Android Activities and Tasks series – An introduction to Android’s UI component model

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.
Continue reading

Towards SOA-based Mobile Solutions

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.
Continue reading