Skip to main content

2018 | OriginalPaper | Buchkapitel

Managing Concurrency in Mobile User Interfaces with Examples in Android

verfasst von : Konstantin Läufer, George K. Thiruvathukal

Erschienen in: Topics in Parallel and Distributed Computing

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

In this chapter, we explore various parallel and distributed computing topics from a user-centric software engineering perspective. Specifically, in the context of mobile application development, we study the basic building blocks of interactive applications in the form of events, timers, and asynchronous activities, along with related software modeling, architecture, and design topics.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
This topic goes beyond the scope of this chapter but is included in the corresponding example [19].
 
2
When analyzing race conditions, we might be tempted to enumerate the different possible interleavings. While it seems reasonable for our example, this quickly becomes impractical because of the combinatorial explosion for larger number of threads with more steps.
 
3
In some frameworks, including Java AWT/Swing, the UI thread is known as event dispatch thread (EDT).
 
4
A full introduction to the Unified Modeling Language (UML) [29] would go far beyond the scope of this chapter. Therefore, we aim to introduce the key elements of UML needed here in an informal and pragmatic manner. Various UML resources, including the official specification, are available at http://​www.​uml.​org/​. Third-party tutorials are available online and in book form.
 
5
It is also possible—though less practical—to build an Android GUI programmatically.
 
6
Readers who have worked with GUI framework that supports multiple listeners, such as Swing, might initially find it restrictive of Android to allow only one. We’ll leave it as an exercise to figure out which well-known software design pattern can be used to work around this restriction.
 
7
More information on JaCoCo the JaCoCo Gradle plugin is available at http://​www.​eclemma.​org/​jacoco/​ and https://​github.​com/​arturdm/​jacoco-android-gradle-plugin, respectively.
 
8
There are also various mocking frameworks, such as Mockito and JMockit, which can automatically generate mock objects that represent component dependencies from interfaces and provide APIs or domain-specific languages for specifying test expectations.
 
Literatur
1.
Zurück zum Zitat Kevin Ashton. That ’Internet of Things’ thing. RFID Journal, http://www.rfidjournal.com/articles/view?4986, July 2009. Accessed: 2016-12-09. Kevin Ashton. That ’Internet of Things’ thing. RFID Journal, http://​www.​rfidjournal.​com/​articles/​view?​4986, July 2009. Accessed: 2016-12-09.
2.
Zurück zum Zitat Kent Beck. Test Driven Development: By Example. Addison-Wesley Professional, 2002. Kent Beck. Test Driven Development: By Example. Addison-Wesley Professional, 2002.
6.
Zurück zum Zitat Jason H. Christensen. Using restful web-services and cloud computing to create next generation mobile applications. In Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, OOPSLA ‘09, pages 627–634, New York, NY, USA, 2009. ACM. Jason H. Christensen. Using restful web-services and cloud computing to create next generation mobile applications. In Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, OOPSLA ‘09, pages 627–634, New York, NY, USA, 2009. ACM.
7.
Zurück zum Zitat Thomas W. Christopher and George K. Thiruvathukal. High Performance Java Platform Computing. Prentice Hall PTR, Upper Saddle Ridge, NJ, 2000. Thomas W. Christopher and George K. Thiruvathukal. High Performance Java Platform Computing. Prentice Hall PTR, Upper Saddle Ridge, NJ, 2000.
8.
Zurück zum Zitat Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1995.MATH Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1995.MATH
15.
Zurück zum Zitat Graham Hamilton. JavaBeans specification. Technical report, Sun Microsystems, inc, 1997. Graham Hamilton. JavaBeans specification. Technical report, Sun Microsystems, inc, 1997.
16.
Zurück zum Zitat Per Brinch Hansen. Operating System Principles. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1973. Per Brinch Hansen. Operating System Principles. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1973.
22.
Zurück zum Zitat Doug Lea. Concurrent Programming in Java. Second Edition: Design Principles and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2nd edition, 1999. Doug Lea. Concurrent Programming in Java. Second Edition: Design Principles and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2nd edition, 1999.
23.
Zurück zum Zitat Jeff Magee and Jeff Kramer. Concurrency: State Models and Java Programs. John Wiley & Sons, Inc., New York, NY, USA, 1999.MATH Jeff Magee and Jeff Kramer. Concurrency: State Models and Java Programs. John Wiley & Sons, Inc., New York, NY, USA, 1999.MATH
24.
Zurück zum Zitat Robert C. Martin and Micah Martin. Agile Principles, Patterns, and Practices in C# (Robert C. Martin). Prentice Hall PTR, Upper Saddle River, NJ, USA, 2006. Robert C. Martin and Micah Martin. Agile Principles, Patterns, and Practices in C# (Robert C. Martin). Prentice Hall PTR, Upper Saddle River, NJ, USA, 2006.
25.
Zurück zum Zitat Gerard Meszaros. XUnit Test Patterns: Refactoring Test Code. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2006. Gerard Meszaros. XUnit Test Patterns: Refactoring Test Code. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2006.
26.
Zurück zum Zitat Brad A. Myers. A brief history of human-computer interaction technology. interactions, 5(2):44–54, March 1998.CrossRef Brad A. Myers. A brief history of human-computer interaction technology. interactions, 5(2):44–54, March 1998.CrossRef
28.
Zurück zum Zitat Tim Peierls, Brian Goetz, Joshua Bloch, Joseph Bowbeer, Doug Lea, and David Holmes. Java Concurrency in Practice. Addison-Wesley Professional, 2005. Tim Peierls, Brian Goetz, Joshua Bloch, Joseph Bowbeer, Doug Lea, and David Holmes. Java Concurrency in Practice. Addison-Wesley Professional, 2005.
29.
Zurück zum Zitat James Rumbaugh, Ivar Jacobson, and Grady Booch. Unified Modeling Language Reference Manual, The (2nd Edition). Pearson Higher Education, 2004. James Rumbaugh, Ivar Jacobson, and Grady Booch. Unified Modeling Language Reference Manual, The (2nd Edition). Pearson Higher Education, 2004.
30.
Zurück zum Zitat Douglas C. Schmidt, Michael Stal, Hans Rohnert, and Frank Buschmann. Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. John Wiley & Sons, Inc., New York, NY, USA, 2nd edition, 2000. Douglas C. Schmidt, Michael Stal, Hans Rohnert, and Frank Buschmann. Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. John Wiley & Sons, Inc., New York, NY, USA, 2nd edition, 2000.
31.
Zurück zum Zitat Hong Zhu, Patrick A. V. Hall, and John H. R. May. Software unit test coverage and adequacy. ACM Comput. Surv., 29(4):366–427, December 1997.CrossRef Hong Zhu, Patrick A. V. Hall, and John H. R. May. Software unit test coverage and adequacy. ACM Comput. Surv., 29(4):366–427, December 1997.CrossRef
Metadaten
Titel
Managing Concurrency in Mobile User Interfaces with Examples in Android
verfasst von
Konstantin Läufer
George K. Thiruvathukal
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-319-93109-8_9

Premium Partner