1. Content
-
Big picture
-
Concepts
-
Android Studio
-
Brainstorm on Android MetaModel
-
Thoughts for your process
|
2. Big Picture
A unique aspect of the Android system design is that any app can start another app’s component.
2.1. Build
2.2. Running
2.3. Overall Organization
2.4. Interactions
2.5. Set of libraries, resources, etc.
2.6. Messages
Try to avoid "Hello JMB!":
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
<TextView android:text="Hello JMB!" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
Use "@string/message" instead:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
<TextView android:text="@string/message" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
<resources>
<string name="app_name">My First App</string>
<string name="action_settings">Settings</string>
<string name="message">Hello JMB!</string>
</resources>
2.7. content_main.xml
content_main.xml
is a kind of Layout
.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
<TextView android:text="@string/message" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
2.8. Views
A Layout
contains components (buttons, etc.) ⇒ Views
2.9. Intent
Activities communicate through Intent
.
In the same app:
Or between apps:
3. Android Studio in a minute
3.2. Create a new Android Studio project
3.3. Select a Project Template
3.4. Configure the project
3.5. First app created!
3.6. Detail of an activity
3.7. Android Virtual Device Manager
3.8. AVD Selection and Configuration
3.9. AVD Launching
3.10. Navigation Editor
4. Android metamodel
Check the Android fundamentals, enrich the list of important concepts and organize them.
5. Basic Components
6. Excerpt of the MetaModel
7. Android Activities Lifecycle
8. Organizing you app
-
List of
Activities
-
Top Activities
-
Category activities
-
Detail/edit
-
-
Navigation through the activities
-
App structure
-
Process:
-
define class, resources (images, …), strings
-
top-level / layout
-
loop for each activity
-
9. Subtilities not covered
-
Manifest.xml
-
Fragments
-
Screen-specific resources
-
Librairies, themes, styles, etc.
-
Database connection
-
Services
-
Material specifics, ART
-
Distribution and commercial aspects
Full Android MetaModel
Taken from: https://github.com/markoudev/modeling |
Activity
Behavior
Entity
Fragment
Layout
Menu
Resources
View
ViewBehavior
References and useful links
References
-
[HighsmithFowler2001] Jim Highsmith and Martin Fowler. The agile manifesto. Software Development Magazine, 9(8) :29–30, 2001.
-
[1030005] Kieran Conboy and Brian Fitzgerald. Toward a conceptual framework of agile methods : a study of agility in different disciplines. In WISER ’04 : Proceedings of the 2004 ACM workshop on Interdisciplinary software engineering research, pages 37–44, New York, NY, USA, 2004. ACM.
-
[Roques2007a] Les Cahiers du Programmeur, UML2, Pascal Roques 3ème Edition, Eyrolles, 2007.
-
[Roques2007b] UML 2 par la pratique, Pascal Roques 6ème Edition, Eyrolles, 2007.
-
[Blanc2006] UML pour les développeurs, Xavier Blanc, Eyrolles, 2006.
-
[Longepe2006] Le projet d’urbanisation du S.I., C. Longépé, 3ème édition, Dunod, 2006.
-
[Gillet2008] Management des SI, M. & P. Gillet, Dunod, 2008.
-
[Muller] Modélisation objet avec UML. Pierre-Alain Muller & Nathalie Gaetner, Eyrolles, 2003.
-
[AndroidFundamentals] http://developer.android.com/guide/components/fundamentals.html
Links
-
[IBM] http://asmarterplanet.com/mobile-enterprise/blog/2015/01/agile-discipline-approach-mobile-app-development.html
-
[uml-diagrams] http://www.uml-diagrams.org/android-application-uml-deployment-diagram-example.html
-
[AndroidDesign] http://www.javacodegeeks.com/2013/07/android-uml-design-an-app-part-1.html
-
http://www.inf.ed.ac.uk/publications/thesis/online/IM100767.pdf
-
http://fr.slideshare.net/LiliaSfaxi/p1-introduction-a-android
-
http://www.qualitystreet.fr/2010/07/07/prototypage-agile-papier-tableau-blanc-et-balsamiq/
-
[Veldhuis2013] http://essay.utwente.nl/63418/1/MScThesis_OudeVeldhuis_FINAL.pdf
Glossary
Ressources
The following definitions are only informative. You can find usefull other sources here: |
- ATL
-
_ATLAS Transformation Language
- DRY
-
Don’t Repeat Yourself
- EMF
-
_Eclipse Modeling Framework
- IHM
-
Interface Homme-Machine
- MCF
-
Modèle Conceptuel des Flux
- MCT
-
Modèle Conceptuel des Traitements
- MOA/MOE
-
Maîtrise d’ouvrage (MOA) Maîtrise d’oeuvre (MOE)
- MOF
-
Modèle Organisationnel des Flux
- MOT
-
Modèle Organisationnel des Traitements
- OMG
-
Object Management Group
- PPN
-
Programme Pédagogique National
- SEF
-
Schéma d'Enchaînement des Fenêtres
- SEP
-
Schéma d'Enchaînement des Pages
- SI
-
Système d'Information
- SNI
-
Schéma de Navigation d'Interfaces
- SO
-
Système Organisationnel
- SysML
-
System Modeling Language ™
- TRL
-
Technology Readiness Level
- URL
-
Universal Ressource Locator
About…
This web site has been developped by JMB using the following (open and free) tools:
-
Asciidoctor, v.
1.5.5
-
The git version control system
-
The Travis Continuous Integration tool