Android-UI-Design.pdf
1.2 Android App Structure and UI patterns. Android apps are very different from each other because they try to address different user needs.
Design Patterns for Mobile Devices
This paper aims to develop mobile design patterns in Android by conducting a the image in different file formats like PDF and JPEG.
Read Online Android 40 Style Guide [PDF] - covid19.gov.gd
Designing effective user interfaces that work on multiple Android devices is extremely challenging. This book provides more than 75 patterns that you can use to
Android Binder IPC Mechanism
19 mars 2012 Android Binder is the customized re-implementation of OpenBinder which provides bindings ... Design Patterns used in Binder. (incomplete).
Acces PDF Java Pocket Guide Apps Android ? - covid19.gov.gd
This book covers Android app design fundamentals in Android Studio provides instant access to syntax design patterns
Android Application Secure Design/Secure Coding Guidebook
https://www.jssec.org/dl/android_securecoding_en.pdf Guidebook (English) source code for the different patterns and classified them accordingly.
Acces PDF Android App Style Guide Copy - covid19.gov.gd
Designing effective user interfaces that work on multiple Android devices is extremely challenging. This book provides more than 75 patterns that you can use to
Read Online Android 40 Style Guide [PDF] - covid19.gov.gd
learning to build Android apps with Java all the easy-to-follow Android Design Patterns Greg Nudelman 2013-02-19 Master the challenges of Android user ...
Read Book Professional Android 2 Application Development Reto
Android Design Patterns Greg Nudelman 2013-02-19 Master the challenges of Android Purchase of the print book comes with an offer of a free PDF ePub
Design Patterns for Mobile Devices
A Comparative Study of Mobile Design Patterns
using Android Shamil MagamadovMaster Thesis submitted for the degree ofMaster in Informatics: Software
60 credits
Department of Informatics
Faculty of mathematics and natural sciences
UNIVERSITY OF OSLO
Spring 2020
Design Patterns for Mobile Devices
A Comparative Study of Mobile Design Patterns
using AndroidShamil Magamadov
©2020 Shamil Magamadov
Design Patterns for Mobile Devices
http://www.duo.uio.no/Printed: Reprosentralen, University of Oslo
Abstract
Design patterns in software engineering is a useful concept for developers to solve a software design problem in a specific context. With the advent of mobile devices and mobile application development, the demand for complicated software running on mobile devices, varying in size and power capabilities, has proliferated. As design patterns were initially not designed for such an environment, mobile design patterns can help overcome the limitations and challenges with mobile application development. This paper aims to develop mobile design patterns in Android by conducting a comparative study of design patterns for mobile devices and evaluating the design patterns in terms of performance efficiency and maintainability. Our end goal is to identify requirements imposed on design patterns by Android and its mobile devices. The results show that with techniques and strategies for optimized memory and power usage, mobile design patterns can improve the application in terms of performance and some aspects of maintainability. Two requirements were imposed on the design patterns. One was for the patterns having to consider incorporating components from the mobile platform architecture, in our case, Android. And secondly, having to manage and optimize limited memory and power from the mobile device. i iiContents
1 Introduction 1
1.1 This Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.4 Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.5 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.6 Work Done . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.7 Evaluation Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31.8 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51.10 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51.11 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51.12 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62 Background 9
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92.2 What is a Design Pattern? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92.2.1 Brief History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92.2.2 The Essential Elements of a Design Pattern . . . . . . . . . . . . . .
102.3 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
102.4 Why should one use Design Patterns? . . . . . . . . . . . . . . . . . . . . .
112.5 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
112.6 Description of our Selected Design Patterns . . . . . . . . . . . . . . . . . .
122.6.1 Abstract Factory . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
122.6.2 Singleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
132.6.3 Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
142.6.4 Visitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
152.6.5 Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
162.6.6 Factory Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
172.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
182.8 Mobile Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
182.8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
182.8.2 Main Challenges with Mobile Devices . . . . . . . . . . . . . . . . .
192.9 Development of Mobile Applications . . . . . . . . . . . . . . . . . . . . . .
202.9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
202.9.2 The Different Approaches . . . . . . . . . . . . . . . . . . . . . . . .
202.9.3 Main Challenges with Mobile Application Development . . . . . . .
202.10 Why do we need Mobile Design Patterns? . . . . . . . . . . . . . . . . . . .
22iii
2.10.1 Examples of Mobile Design Patterns . . . . . . . . . . . . . . . . . .22
2.10.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
242.11 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
243 Evaluation Criteria 25
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
253.2 Quality Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
253.3 Analysis of the Quality Models . . . . . . . . . . . . . . . . . . . . . . . . .
263.3.1 Criteria 1. Performance Efficiency . . . . . . . . . . . . . . . . . . .
273.3.2 Criteria 2. Maintainability . . . . . . . . . . . . . . . . . . . . . . .
273.4 Quality Metric Object-Oriented Model . . . . . . . . . . . . . . . . . . . . .
283.4.1 Quality Attributes(L1). . . . . . . . . . . . . . . . . . . . . . . . .29
3.4.2 Design Properties(L2). . . . . . . . . . . . . . . . . . . . . . . . . .30
3.4.3 Design Metrics (L3) . . . . . . . . . . . . . . . . . . . . . . . . . . .32
3.4.4 The Mapping ofL23. . . . . . . . . . . . . . . . . . . . . . . . . . .34
3.4.5 The Mapping ofL12. . . . . . . . . . . . . . . . . . . . . . . . . . .34
3.5 The Use of QMOOD in our Comparative Study . . . . . . . . . . . . . . . .
353.6 Analysis of QMOOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
353.6.1 The Mapping ofL23. . . . . . . . . . . . . . . . . . . . . . . . . . .37
3.6.2 The Mapping ofL12. . . . . . . . . . . . . . . . . . . . . . . . . . .38
3.7 Measurement Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
383.7.1 Our Measurement Process of QMOOD . . . . . . . . . . . . . . . . .
383.7.2 Our Measurement Process of ISO/IEC 25010 . . . . . . . . . . . . .
403.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
414 Analysis 43
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
434.2 Mobile Environment vs. Non-Mobile Environment . . . . . . . . . . . . . .
434.2.1 Data Persistence and Application Life Cycle . . . . . . . . . . . . . .
434.2.2 Computing Perspective . . . . . . . . . . . . . . . . . . . . . . . . .
454.2.3 Software Development Perspective . . . . . . . . . . . . . . . . . . .
464.3 Mobile Design Pattern vs. Design Pattern . . . . . . . . . . . . . . . . . . .
464.4 Choosing the Right Platform for our Mobile Application . . . . . . . . . . .
474.5 Creating Mobile Design Patterns . . . . . . . . . . . . . . . . . . . . . . . .
474.5.1 Method 1: Combining Design Patterns . . . . . . . . . . . . . . . . .
474.5.2 Method 2: Using various Optimization Techniques and Strategies . .
484.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
495 Case51
5.1 Overall Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
515.2 The Main Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
535.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
546 Implementation 55
6.1 Abstract Factory vs. Mobile Abstract Factory . . . . . . . . . . . . . . . . .
556.2 Command vs Mobile Command . . . . . . . . . . . . . . . . . . . . . . . . .
586.3 Visitor vs. Mobile Visitor . . . . . . . . . . . . . . . . . . . . . . . . . . . .
616.4 Strategy vs Mobile Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . .
646.5 Singleton vs. Mobile Singleton . . . . . . . . . . . . . . . . . . . . . . . . .
646.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65iv
7 Results 67
7.1 QMOOD Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
677.1.1 Abstract Factory vs.. Mobile Abstract Factory . . . . . . . . . . . .
677.1.2 Command vs. Mobile Command . . . . . . . . . . . . . . . . . . . .
697.1.3 Visitor vs.. Mobile Visitor . . . . . . . . . . . . . . . . . . . . . . . .
717.1.4 Strategy vs. Mobile Strategy . . . . . . . . . . . . . . . . . . . . . .
737.1.5 Project vs.. Mobile Project . . . . . . . . . . . . . . . . . . . . . . .
757.1.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
777.2 Android Profiler Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
777.2.1 Abstract Factory vs. Mobile Abstract Factory . . . . . . . . . . . .
787.2.2 Command vs. Mobile Command . . . . . . . . . . . . . . . . . . . .
787.2.3 Visitor vs. Mobile Visitor . . . . . . . . . . . . . . . . . . . . . . . .
787.2.4 Strategy vs. Mobile Strategy . . . . . . . . . . . . . . . . . . . . . .
787.2.5 Project vs. Mobile Project . . . . . . . . . . . . . . . . . . . . . . . .
797.2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
797.3 Execution Time Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
807.3.1 Abstract Factory vs. Mobile Abstract Factory . . . . . . . . . . . .
807.3.2 Command vs. Mobile Command . . . . . . . . . . . . . . . . . . . .
807.3.3 Visitor vs. Mobile Visitor . . . . . . . . . . . . . . . . . . . . . . . .
807.3.4 Strategy vs. Mobile Strategy . . . . . . . . . . . . . . . . . . . . . .
807.3.5 Project vs. Mobile Project . . . . . . . . . . . . . . . . . . . . . . . .
817.3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
817.4 Weaknessess and Mistakes of our Measurement Process . . . . . . . . . . .
817.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
828 Discussion 83
8.1 QMOOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
838.2 Improved Execution Times . . . . . . . . . . . . . . . . . . . . . . . . . . .
838.3 Android Profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
858.4 Did Mobile Devices Impose new Requirements for Design Patterns? . . . .
868.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
869 Conclusion 89
Appendices 91
A Project Implementation 93
A.1 Project with Regular Design Patterns . . . . . . . . . . . . . . . . . . . . . 93A.1.1 Package; abstractFactory . . . . . . . . . . . . . . . . . . . . . . . . 93
A.1.2 Package; activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
A.1.3 Package; command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
A.1.4 Package; visitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
A.1.5 Package; strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A.1.6 Package; enums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A.1.7 Package; gameObjects . . . . . . . . . . . . . . . . . . . . . . . . . . 100
A.1.8 Package; project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
A.2 Project with Mobile Design Patterns . . . . . . . . . . . . . . . . . . . . . . 111
A.2.1 Package; mobileAbstractFactory . . . . . . . . . . . . . . . . . . . . 111
A.2.2 Package; mobileCommand . . . . . . . . . . . . . . . . . . . . . . . . 113
A.2.3 Package; mobileVisitor . . . . . . . . . . . . . . . . . . . . . . . . . . 114
v A.2.4 Package; mobileStrategy . . . . . . . . . . . . . . . . . . . . . . . . .114 A.2.5 Package; enums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
A.2.6 Package; imageManager . . . . . . . . . . . . . . . . . . . . . . . . . 115
A.2.7 Package; mobileGameObjects . . . . . . . . . . . . . . . . . . . . . . 117
B Static Method vs Instance Method 119
viList of Figures
2.6.1 General UML representation of Abstract Factory . . . . . . . . . . . . . . .
132.6.2 General UML representation of Singleton . . . . . . . . . . . . . . . . . . .
142.6.3 General UML representation of Command . . . . . . . . . . . . . . . . . . .
152.6.4 General UML representation of Visitor . . . . . . . . . . . . . . . . . . . . .
162.6.5 General UML representation of Strategy . . . . . . . . . . . . . . . . . . . .
172.6.6 General UML Representation of Factory Method. . . . . . . . . . . . . . . .
183.2.1 The Quality Model of ISO/IEC 25010 . . . . . . . . . . . . . . . . . . . . .
263.4.1 The Mapping of Levels in QMOOD [3] . . . . . . . . . . . . . . . . . . . . .
294.2.1 Illustration of the activity lifecycle [1] . . . . . . . . . . . . . . . . . . . . .
455.1.1 Flowchart of the Overall Architecture . . . . . . . . . . . . . . . . . . . . .
526.1.1 Our Regular Abstract Factory Implementation in UML Class Diagram . . .
556.1.2 UML Class Diagram of Mobile Abstract Factory . . . . . . . . . . . . . . .
576.1.3 Sprite Sheet of Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
586.2.1 UML Class Diagram of Command . . . . . . . . . . . . . . . . . . . . . . .
596.2.2 UML Class Diagram of Mobile Command . . . . . . . . . . . . . . . . . . .
606.3.1 UML Class Diagram of Visitor . . . . . . . . . . . . . . . . . . . . . . . . .
616.3.2 UML Class Diagram of Mobile Visitor . . . . . . . . . . . . . . . . . . . . .
636.4.1 UML Class Diagram of Strategy . . . . . . . . . . . . . . . . . . . . . . . .
646.4.2 UML Class Diagram of Mobile Strategy . . . . . . . . . . . . . . . . . . . .
647.1.1 Quality Attribute Graph of Abstract Factory vs. Mobile Abstract Factory .
697.1.2 Quality Attribute Graph of Command vs.. Mobile Command . . . . . . . .
717.1.3 Quality Attribute Graph of Visitor vs. Mobile Visitor . . . . . . . . . . . .
737.1.4 Quality Attribute Graph of Strategy vs.. Mobile Strategy . . . . . . . . . .
757.1.5 Quality Attribute Graph of Project vs. Mobile Project . . . . . . . . . . . .
778.5.1 Effect of Techniques and Strategies on Mobile Design Patterns . . . . . . .
878.5.2 Invoking Static Method Versus Instance Method . . . . . . . . . . . . . . .
88vii viii
List of Tables
2.5.1 Overview of Design Pattern Classification [15] . . . . . . . . . . . . . . . . .
122.9.1 Overview over Native app Development . . . . . . . . . . . . . . . . . . . .
223.4.1 Quality Attribute Definitions [3] . . . . . . . . . . . . . . . . . . . . . . . .
303.4.2 Design Property Definitions [3] . . . . . . . . . . . . . . . . . . . . . . . . .
313.4.3 Design Metrics Descriptions [3] . . . . . . . . . . . . . . . . . . . . . . . . .
333.4.4 Mapping of Design Metrics to Design Properties [3] . . . . . . . . . . . . . .
343.4.5 Design Properties relationships with Quality Attributes[3]. . . . . . . . . . .
353.6.1 Descriptions of our Adapted Design Metrics site MetricsReloaded . . . . . .
363.6.2 Design Metrics for Design Properties [3] . . . . . . . . . . . . . . . . . . . .
373.6.3 Design Properties connections with Quality Attributes[3]. . . . . . . . . . .
383.7.1 Computation Formulas for Quality Attributes [3] . . . . . . . . . . . . . . .
393.7.2 Example 1: Actual Metric Values for App . . . . . . . . . . . . . . . . . . .
393.7.3 Example 1: Normalized Metric Values for App . . . . . . . . . . . . . . . .
403.7.4 Example 1: Computed Quality Attribute Values for App . . . . . . . . . . .
404.5.1 Summary of Strategies for Power Conscious System [7] . . . . . . . . . . . .
497.1.1 Actual Metric Values of Abstract Factory vs. Mobile Abstract Factory . . .
687.1.2 Normalized Metric Values of Abstract Factory vs. Mobile Abstract Factory
687.1.3 Actual Metric Values of Command vs. Mobile Command . . . . . . . . . .
707.1.4 Normalized Metric Values of Command vs.. Mobile Command . . . . . . .
707.1.5 Actual Metric Values of Visitor vs.. Mobile Visitor . . . . . . . . . . . . . .
727.1.6 Normalized Metric Values of Visitor vs.. Mobile Visitor . . . . . . . . . . .
727.1.7 Actual Metric Values of Strategy vs.. Mobile Strategy . . . . . . . . . . . .
747.1.8 Normalized Metric Values of Strategy vs. Mobile Strategy . . . . . . . . . .
747.1.9 Actual Metric Values of Project vs.. Mobile Project . . . . . . . . . . . . .
767.1.10Normalized Metric Values of Project vs.. Mobile Project . . . . . . . . . . .
767.2.1 Profiling of Abstract Factory . . . . . . . . . . . . . . . . . . . . . . . . . .
787.2.2 Profiling of Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
787.2.3 Profiling of Visitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
787.2.4 Profiling of Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
797.2.5 Profiling of Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
797.2.6 Summary of the Total Improvement . . . . . . . . . . . . . . . . . . . . . .
797.3.1 Execution Time of Abstract Factory . . . . . . . . . . . . . . . . . . . . . .
807.3.2 Execution Time of Command . . . . . . . . . . . . . . . . . . . . . . . . . .
807.3.3 Execution Time of Visitor . . . . . . . . . . . . . . . . . . . . . . . . . . . .
807.3.4 Execution Time of Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . .
817.3.5 Execution Time of Project . . . . . . . . . . . . . . . . . . . . . . . . . . . .
817.3.6 Summary of the Total Improvement . . . . . . . . . . . . . . . . . . . . . .
81ix
8.2.1 Execution Time of Static Method vs Instance Method B.1 . . . . . . . . . .85
8.3.1 CPU and Memory Usage of Static Method vs Instance Method B.1 . . . . .
86x
List of Code Snippets
6.1 Sample Code of Abstract Factory . . . . . . . . . . . . . . . . . . . . . . . .
566.2 Sample Code of Mobile Abstract Factory . . . . . . . . . . . . . . . . . . .
576.3 Sample Code of Command . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59quotesdbs_dbs10.pdfusesText_16
[PDF] android developer fundamentals (version 2)
[PDF] android developer fundamentals (version 2) pdf
[PDF] android developer fundamentals course practicals pdf
[PDF] android developer fundamentals course concept reference
[PDF] android developer fundamentals course (version 2)
[PDF] android developer fundamentals course concepts idn
[PDF] android developer fundamentals course concepts v2
[PDF] android developer fundamentals course practical workbook
[PDF] android developer fundamentals course practicals
[PDF] android developer fundamentals course practicals idn
[PDF] android developer fundamentals course practicals pdf
[PDF] android developer fundamentals course. pdf
[PDF] android developer fundamentals version 1
[PDF] android developer training