Titular Professors
It is advisable that the student has previous knowledge of programming in Java and knows how to properly use the UML modeling language.
Introduce the student in the world of mobile programming.
Introduce the student in the world of development for Android.
Provide the student with tools and knowledge for the design of software architectures for Android.
Topic 1. Introduction to the Android platform
1. Java and SDK
2. APK
3. Operating system and architecture
4. Environment and life cycle of an App
5. Components of an App
6. Debugging - Emulation and real environment
7. Creating Android projects
Topic 2. Development of user interfaces
1. Measurement and density of screen
2. Layouts and graphic components
3. Activity controllers
4. Strings and internationalization
Topic 3. Flexible user interfaces
1. Fragments
2. FrameLayout
3. FragmentManager
Topic 4. Applications with multiple activities
1. Activities
2. Intents
3. Activities with results
Topic 5. Data storage and retrieval
1. Work with SQLite
2. Work with Web Services
Topic 6. Geolocalització
1. Maps
The subject is oriented so that the student takes an active part in their own learning. The teaching methodology is designed so that the subject is dynamic and participatory. The master classes are combined with exercise classes, class activities and group practices.
At the content level of the subject, the technologies used are the Java language and XML. It is also used around Android Studio programming. Methodologically, UML diagrams are used to document the work.
- The grade of the subject will be calculated from the set of exercises and the practice developed throughout the course:
Subject grade = 60% * Exercises_grade + 40% * Practice_grade
As long as:
Practice_Grade >= 5
- The grade of the exercises and controls (Exercises_grade) will be calculated by weighting the grades of the different exercises and controls that are developed throughout the course.
- The subject will not be evaluated through exams, so there will be no semester exam.
1. Basic general knowledge about the studied area [, I]
2. Oral and written expression in the own language [A, F, I]
3. Information management abilities (abilities to search and analyze information coming from different sources) [F, I]
4. Problem solving [A, F, G]
5. Team work [F, G]
6. Capacity to communicate with not-expert-in-the-subject people [I]
7. Capacity to apply knowledge into practice [F, G]
ANDROID. Material Design for Android. [En línea] https://developer.android.com/design/material/index.html.
ANDROID. Getting Started - Android Developers. [En línea] https://developer.android.com/training/index.html.
ANDROID. Introduction to Android. [En línea] https://developer.android.com/guide/index.html.
ANDROID. Download Android Studio and SDK Tools. [En línea] https://developer.android.com/studio/index.html.
COCKBURN, ALISTAIR. Hexagonal architecture. [En línea] http://alistair.cockburn.us/Hexagonal+architecture
WILSON, JIM. 4 reasons to use Android Fragments. [En línea] Pluralsight. https://www.pluralsight.com/blog/software-development/android-fragments.
SOURCE MAKING. Design Patterns. [En línea] Source Making. https://sourcemaking.com/design_patterns.
FACEBOOK. Getting Started - SDK for Android. [En línea] https://developers.facebook.com/docs/android/getting-started/.
TWITTER. Getting Started - Twitter Developers. [En línea] https://dev.twitter.com/docs/authhttps://dev.twitter.com/mopub/android/g....
GOOGLE. Getting Started - Google Maps Android API - Google Developers. [En línea] https://developers.google.com/maps/documentation/android-api/start.
ATLASSIAN. Git Tutorials and Training. [Online] https://www.atlassian.com/git/tutorials/
GIT. Git Documentation. [Online] https://git-scm.com/doc
GENERAL
https://developer.android.com/guide/index.html
https://developer.android.com/guide/index.html
https://developer.android.com/about/dashboards/index.html
TEMA 1
https://developer.android.com/studio/index.html
http://socialcompare.com/en/comparison/android-versions-comparison
https://developer.android.com/studio/run/oem-usb.html
TEMA 2
https://material.io/guidelines/
https://developer.android.com/design/material/index.html
https://developer.android.com/training/material/index.html
https://developer.android.com/guide/topics/ui/declaring-layout.html
http://www.vogella.com/tutorials/AndroidListView/article.html
https://www.raywenderlich.com/124438/android-listview-tutorial
https://material.io/guidelines/components/snackbars-toasts.html
http://www.truiton.com/2015/06/android-snackbar-example/
https://developer.android.com/training/appbar/index.html
http://www.vogella.com/tutorials/AndroidActionBar/article.html
https://www.mkyong.com/java/java-object-sorting-example-comparable-and-c...
https://developer.android.com/guide/topics/ui/dialogs.html
https://material.io/guidelines/components/dialogs.html
TEMA 3
https://developer.android.com/guide/components/intents-filters.html
TEMA 4
https://developer.android.com/guide/components/fragments.html
https://www.pluralsight.com/blog/software-development/android-fragments
https://medium.com/@ali.muzaffar/should-i-use-fragment-or-activity-in-an...
TEMA 5
https://developer.android.com/training/basics/data-storage/databases.html
http://www.vogella.com/tutorials/AndroidSQLite/article.html#creating-and...
https://developer.android.com/guide/components/broadcasts.html
http://www.vogella.com/tutorials/AndroidBroadcastReceiver/article.html
https://developer.android.com/training/basics/network-ops/connecting.html
https://developer.android.com/reference/java/net/HttpURLConnection.html
https://developer.android.com/reference/android/os/AsyncTask.html
http://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html
http://www.androidhive.info/2014/05/android-working-with-volley-library-1/
https://developer.android.com/training/volley/index.html
TEMA 6
https://developer.android.com/training/location/index.html
https://developer.android.com/guide/topics/location/strategies.html
https://developer.android.com/guide/topics/location/index.html
https://developer.android.com/training/permissions/requesting.html
http://www.vogella.com/tutorials/AndroidPermissions/article.html