SlideShare a Scribd company logo
Using Retrofit framework in implementation of
Android REST client
David Ante Macan*, Zlatko Stapić, Milan Pavlović*
University of Zagreb
Faculty of Organization and Informatics
Pavlinska 2, 42000 Varaždin, Croatia
http://www.foi.unizg.hr/
CASE27 – Developers conference - 02.06.2015. – Zagreb, Croatia
* Students at University of Zagreb, FOI Varazdin
Agenda
• Introduction
• REST Architecture
• Android client implementation
• Implementation using Retrofit
• Conclusion
• References
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20152
Introduction
• Today’s mobile applications are Internet dependent
• 2017 -> 90% [1], [3]
• Web services are used for supporting mobile application
functionalities
 Internet dependent monetization models
 App usage statistics, data synchronization, social components, score
tables…
• Backend servers for push notifications
• Web service – self contained and self describing application
component that can be used by other applications and can be
communicated by using open protocols [6]
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20153
Introduction
• After SOA became widely used for mobile and other applications,
the dominant way of exchanging the data with web services was
by using SOAP [7]
• XML used for creating requests and responses was too complex
and requests had to be build manually -> problematic due to
protocols intolerance on any errors
• REST (Representational State Transfer) provides lightweight
alternative and relies on simple URL approach
• REST can output the data in any format (for example in CSV, JSON
or RSS).
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20154
REST Architecture
 Architectural style for distributed hypermedia systems, as Roy
Fielding originally described it in his doctoral dissertation in 2000
[8]
 Contains 6 main characteristics:
1. Uniform interface
 Resource based
 Manipulation of resources through representations
 Usage of self-descriptive messages
 Hypermedia as the engine of application state
2. Statelessness
3. Caching
4. Client-server separation
5. Layering
6. Code on demand
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20155
REST Architecture
 HTTP request semantics
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20156
Request Method Description
GET
Used for retrieving (or read) a representation of a
resource. If everything works, HTTP GET response
contains a representation in XML or JSON with
response code of 200 (OK).
POST
Most often used for creation of new resources. It is
actually used to create subordinate or child resource of
some other (parent) resource. When server receives
POST request, it creates new resource and assigns it a
new ID.
PUT
Used for update operations. Request body should
contain newly-updated representation of the original
resource which is identified by a known resource URI.
DELETE Used to delete URI-identified resource.
Android client implementation
• Example system
 Address Manager - enables users to get geographical location (latitude
and longitude) of any user defined address
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20157
Android client implementation
• Web service specification
 http://tinyurl.com/case27-locations
 x-www-form-urlencoded request
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20158
URL Method Params Response example
base GET - [{"id":1,"location":"Ivanec","lat":
"46.2228422","lon":"16.1246793"},
…]
base POST location {"id":1,"location":"Ivanec","lat":
"46.2228422","lon":"16.1246793"}
base/id PUT location {"id":1,"location":"Ivanec 2", "lat":
"47.2228422","lon":"15.1246793"}
Android client implementation
• Native Android web-service consumption
 web service communication layer
 response parsing layer
 manual threading
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20159
Android client implementation
• Native Android web-service consumption
 Repository – consists of set of methods that are leaning on web
services
 Service – represents web-service communication layer. This class
should be flexible to be able to execute any web service request.
 Callback – interface to be implemented by any callback object
containing logic for receiving web-service response.
 Parser – static class containing knowledge on parsing the responses.
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201510
Android client implementation
• Native
Repository
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201511
Android client implementation
• Retrofit implementation
 type-safe REST client for Android and Java
 turns your REST API into a Java interface
 upon downloading the data
is parsed into POJO which
must be defined for each
"resource" in the response
 flexible in message format
 uses compile-time annotation
processor
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201512
Android client implementation
• Retrofit implementation
 Define API interface
 Define RetrofitHelper that will instantiate adapter and interface
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201513
Android client implementation
• Retrofit implementation
 Call methods
 Handle response
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201514
Conclusion
• We presented
 REST application architectural style
 Two implementations of web-service communication layer
• Main contribution
 Architectural design for the two approaches
• Native vs Retrofit approach
 Native approach is robust and hard to adapt
 Retrofit is straightforward and flexible
• Source code
 http://tinyurl.com/case27-code
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201515
References
[1] D. Bosomworth, “Mobile marketing statistics 2015” Smart Insights, 2015. Available at:
http://www.smartinsights.com/mobile-marketing/mobile-marketing-analytics/mobile-marketingstatistics/ [Accessed: May-2015]
[2] ComScore Inc., “The U.S. Mobile App Report” 2014. Available at:
http://www.comscore.com/Insights/Presentations-and-Whitepapers/2014/The-US-Mobile-App-Report
[3] Statista, “Statistics and facts on Mobile Internet Usage,” Statista.com, 2015. [Online]. Available at:
http://www.statista.com/topics/779/mobile-internet/ [Accessed: May-2015].
[4] Android Developers, “Google Cloud Messaging for Android | Android Developers” Google Services,
2015. [Online]. Available at: https://developer.android.com/google/gcm/index.html [Accessed: May-2015].
[5] Apple inc., “Local and Push Notifications for Developers - Apple Developer” Developer Apple.com,
2015. [Online]. Available at: https://developer.apple.com/notifications/ [Accessed: May-2015].
[6] W3Schools.com, “Introduction to Web Services” Introduction to Web Services, 2015. [Online]. Available
at: http://www.w3schools.com/webservices/ws_intro.asp [Accessed: May-2015].
[7] W3Schools.com, “SOAP Introduction”, 2015. [Online]. Available at: http://www.w3schools.com/
webservices/ws_soap_intro.asp [Accessed: May-2015].
[8] R. T. Fielding, “Architectural Styles and the Design of Network-based Software Architectures”
UNIVERSITY OF CALIFORNIA, Irvine, 2000.
[9] A. Nene, “Web Services Architecture – When to Use SOAP vs REST” Javalobby, 2014. [Online]. Available
at: http://java.dzone.com/articles/web-services-architecture [Accessed: May-2015].
[10] J. Mueller, “Understanding SOAP and REST Basics” Software Quality Matters Blog, 2013. [Online].
Available at: http://blog.smartbear.com/apis/understanding-soap-and-rest-basics/ [Accessed: May-2015].
[11] F. Todd, “RESTful Service Best Practices, Recommendations for Creating Web Services”
RestAPITutorial.com, 2013.
[12] CodePath.com, “Consuming APIs with Retrofit” CodePath Android Cliffnotes, 2015. [Online]. Available
at: https://guides.codepath.com/android/Consuming-APIs-with-Retrofit#setup [Accessed: May-2015].
[13] StudyTrials, “Java Google Json (Gson) Introduction” StudyTrials.com. [Online]. Available at:
http://www.studytrails.com/java/json/java-google-json-introduction.jsp [Accessed: May-2015].
[14] “Google Gson” Google Gson Home, 2011. [Online]. Available at: https://sites.google.com/
site/gson/Home [Accessed: May-2015]
Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201516

More Related Content

PDF
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty
DOCX
mohit's-resume
DOCX
PDF
apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...
PDF
Ujjawal Sharma - Resume
PDF
apidays LIVE Australia 2020 - Building a scalable API platform for an IoT eco...
DOCX
My resume selenium
PDF
apidays LIVE Australia 2020 - Events are Cool Again! by Nelson Petracek
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty
mohit's-resume
apidays LIVE Australia 2020 - Building an Enterprise Eventing Platform by Gna...
Ujjawal Sharma - Resume
apidays LIVE Australia 2020 - Building a scalable API platform for an IoT eco...
My resume selenium
apidays LIVE Australia 2020 - Events are Cool Again! by Nelson Petracek

What's hot (20)

DOC
Gowsika_Cognos_Business_Intelligence
DOC
Beauty rani2.5 yrs exp in manual and selenium bangalore
DOC
ABHIJIT_SEN_PERFORMANCE_TESTING
PPTX
MuleSoft Meetup Bangalore #12
PDF
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
DOC
vishal kaneria
PDF
API Best Practices Webinar: Metrics - What to Measure
DOC
Rahul_Gaur_Resume
PPTX
Mule soft meetup____indy_may_02
PDF
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
PPTX
Effective API Lifecycle Management
PPTX
Benefits of AngularJS Development for Your Business - APPNWEB Technologies
DOC
Renuka Devi with 4+ yr Exp
PPTX
apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...
DOC
PDF
apidays LIVE Hong Kong 2021 - DevOps is Dead by Jason Esli, New Relic
PDF
Feature Scoring in Green Field Application Development and DevOps
DOCX
ShainaResume
DOC
Srinivas_Selenium_3 Years_Resume
DOC
UpwanGupta
Gowsika_Cognos_Business_Intelligence
Beauty rani2.5 yrs exp in manual and selenium bangalore
ABHIJIT_SEN_PERFORMANCE_TESTING
MuleSoft Meetup Bangalore #12
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
vishal kaneria
API Best Practices Webinar: Metrics - What to Measure
Rahul_Gaur_Resume
Mule soft meetup____indy_may_02
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
Effective API Lifecycle Management
Benefits of AngularJS Development for Your Business - APPNWEB Technologies
Renuka Devi with 4+ yr Exp
apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...
apidays LIVE Hong Kong 2021 - DevOps is Dead by Jason Esli, New Relic
Feature Scoring in Green Field Application Development and DevOps
ShainaResume
Srinivas_Selenium_3 Years_Resume
UpwanGupta
Ad

Viewers also liked (8)

PDF
Retrofit
PDF
Retrofit
PDF
Android libs by Square - make your development a bit easier
PPTX
Android and REST
PDF
Using Mobile-D methodology in development of mobile applications: Challenges ...
PDF
Retrofit Android by Chris Ollenburg
PDF
Android-Tp5 : web services
PDF
Android Libs - Retrofit
Retrofit
Retrofit
Android libs by Square - make your development a bit easier
Android and REST
Using Mobile-D methodology in development of mobile applications: Challenges ...
Retrofit Android by Chris Ollenburg
Android-Tp5 : web services
Android Libs - Retrofit
Ad

Similar to Using Retrofit framework in implementation of Android REST client (Presentation) (20)

PDF
Restful风格ž„web服务架构
PDF
What is REST?
PDF
ReST Vs SOA(P) ... Yawn
PPTX
REST & RESTful APIs: The State of Confusion
PDF
Android application architecture
PPTX
LAJUG Napster REST API
PDF
Secc tutorials development and deployment of rest web services in java_v2.0
PDF
20507-38933-1-PB.pdf
PPTX
Rest APIs Training
PDF
Rest api best practices – comprehensive handbook
PPTX
Resthub framework presentation
PPTX
Restful webservice
PDF
JAX-RS JavaOne Hyderabad, India 2011
PDF
WS-* vs. RESTful Services
PDF
IRJET- Rest API for E-Commerce Site
PPTX
Overview of REST - Raihan Ullah
PDF
Introduction to REST and Jersey
PDF
Generated REST Gateways for Mobile Applications
PPTX
JAX-RS. Developing RESTful APIs with Java
PPTX
RESTful APIs
Restful风格ž„web服务架构
What is REST?
ReST Vs SOA(P) ... Yawn
REST & RESTful APIs: The State of Confusion
Android application architecture
LAJUG Napster REST API
Secc tutorials development and deployment of rest web services in java_v2.0
20507-38933-1-PB.pdf
Rest APIs Training
Rest api best practices – comprehensive handbook
Resthub framework presentation
Restful webservice
JAX-RS JavaOne Hyderabad, India 2011
WS-* vs. RESTful Services
IRJET- Rest API for E-Commerce Site
Overview of REST - Raihan Ullah
Introduction to REST and Jersey
Generated REST Gateways for Mobile Applications
JAX-RS. Developing RESTful APIs with Java
RESTful APIs

More from Zlatko Stapic (7)

PDF
Using Mobile-D methodology in development of mobile applications: Challenges ...
PDF
Comparing native Android and jQuery Mobile capabilities
PDF
Comparing native Android and jQuery Mobile capabilities (Presentation)
PDF
Challenges in development of RPG mobile application
PDF
Challenges in development of RPG mobile application (Presentation)
PDF
Monetizing mobile applications
PDF
Monetizing mobile applications (Presentation)
Using Mobile-D methodology in development of mobile applications: Challenges ...
Comparing native Android and jQuery Mobile capabilities
Comparing native Android and jQuery Mobile capabilities (Presentation)
Challenges in development of RPG mobile application
Challenges in development of RPG mobile application (Presentation)
Monetizing mobile applications
Monetizing mobile applications (Presentation)

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPT
Teaching material agriculture food technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
Building Integrated photovoltaic BIPV_UPV.pdf
Spectroscopy.pptx food analysis technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The AUB Centre for AI in Media Proposal.docx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding
Reach Out and Touch Someone: Haptics and Empathic Computing
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Spectral efficient network and resource selection model in 5G networks
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
“AI and Expert System Decision Support & Business Intelligence Systems”
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Programs and apps: productivity, graphics, security and other tools
Diabetes mellitus diagnosis method based random forest with bat algorithm
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MIND Revenue Release Quarter 2 2025 Press Release

Using Retrofit framework in implementation of Android REST client (Presentation)

  • 1. Using Retrofit framework in implementation of Android REST client David Ante Macan*, Zlatko Stapić, Milan Pavlović* University of Zagreb Faculty of Organization and Informatics Pavlinska 2, 42000 Varaždin, Croatia http://www.foi.unizg.hr/ CASE27 – Developers conference - 02.06.2015. – Zagreb, Croatia * Students at University of Zagreb, FOI Varazdin
  • 2. Agenda • Introduction • REST Architecture • Android client implementation • Implementation using Retrofit • Conclusion • References Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20152
  • 3. Introduction • Today’s mobile applications are Internet dependent • 2017 -> 90% [1], [3] • Web services are used for supporting mobile application functionalities  Internet dependent monetization models  App usage statistics, data synchronization, social components, score tables… • Backend servers for push notifications • Web service – self contained and self describing application component that can be used by other applications and can be communicated by using open protocols [6] Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20153
  • 4. Introduction • After SOA became widely used for mobile and other applications, the dominant way of exchanging the data with web services was by using SOAP [7] • XML used for creating requests and responses was too complex and requests had to be build manually -> problematic due to protocols intolerance on any errors • REST (Representational State Transfer) provides lightweight alternative and relies on simple URL approach • REST can output the data in any format (for example in CSV, JSON or RSS). Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20154
  • 5. REST Architecture  Architectural style for distributed hypermedia systems, as Roy Fielding originally described it in his doctoral dissertation in 2000 [8]  Contains 6 main characteristics: 1. Uniform interface  Resource based  Manipulation of resources through representations  Usage of self-descriptive messages  Hypermedia as the engine of application state 2. Statelessness 3. Caching 4. Client-server separation 5. Layering 6. Code on demand Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20155
  • 6. REST Architecture  HTTP request semantics Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20156 Request Method Description GET Used for retrieving (or read) a representation of a resource. If everything works, HTTP GET response contains a representation in XML or JSON with response code of 200 (OK). POST Most often used for creation of new resources. It is actually used to create subordinate or child resource of some other (parent) resource. When server receives POST request, it creates new resource and assigns it a new ID. PUT Used for update operations. Request body should contain newly-updated representation of the original resource which is identified by a known resource URI. DELETE Used to delete URI-identified resource.
  • 7. Android client implementation • Example system  Address Manager - enables users to get geographical location (latitude and longitude) of any user defined address Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20157
  • 8. Android client implementation • Web service specification  http://tinyurl.com/case27-locations  x-www-form-urlencoded request Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20158 URL Method Params Response example base GET - [{"id":1,"location":"Ivanec","lat": "46.2228422","lon":"16.1246793"}, …] base POST location {"id":1,"location":"Ivanec","lat": "46.2228422","lon":"16.1246793"} base/id PUT location {"id":1,"location":"Ivanec 2", "lat": "47.2228422","lon":"15.1246793"}
  • 9. Android client implementation • Native Android web-service consumption  web service communication layer  response parsing layer  manual threading Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 20159
  • 10. Android client implementation • Native Android web-service consumption  Repository – consists of set of methods that are leaning on web services  Service – represents web-service communication layer. This class should be flexible to be able to execute any web service request.  Callback – interface to be implemented by any callback object containing logic for receiving web-service response.  Parser – static class containing knowledge on parsing the responses. Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201510
  • 11. Android client implementation • Native Repository Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201511
  • 12. Android client implementation • Retrofit implementation  type-safe REST client for Android and Java  turns your REST API into a Java interface  upon downloading the data is parsed into POJO which must be defined for each "resource" in the response  flexible in message format  uses compile-time annotation processor Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201512
  • 13. Android client implementation • Retrofit implementation  Define API interface  Define RetrofitHelper that will instantiate adapter and interface Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201513
  • 14. Android client implementation • Retrofit implementation  Call methods  Handle response Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201514
  • 15. Conclusion • We presented  REST application architectural style  Two implementations of web-service communication layer • Main contribution  Architectural design for the two approaches • Native vs Retrofit approach  Native approach is robust and hard to adapt  Retrofit is straightforward and flexible • Source code  http://tinyurl.com/case27-code Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201515
  • 16. References [1] D. Bosomworth, “Mobile marketing statistics 2015” Smart Insights, 2015. Available at: http://www.smartinsights.com/mobile-marketing/mobile-marketing-analytics/mobile-marketingstatistics/ [Accessed: May-2015] [2] ComScore Inc., “The U.S. Mobile App Report” 2014. Available at: http://www.comscore.com/Insights/Presentations-and-Whitepapers/2014/The-US-Mobile-App-Report [3] Statista, “Statistics and facts on Mobile Internet Usage,” Statista.com, 2015. [Online]. Available at: http://www.statista.com/topics/779/mobile-internet/ [Accessed: May-2015]. [4] Android Developers, “Google Cloud Messaging for Android | Android Developers” Google Services, 2015. [Online]. Available at: https://developer.android.com/google/gcm/index.html [Accessed: May-2015]. [5] Apple inc., “Local and Push Notifications for Developers - Apple Developer” Developer Apple.com, 2015. [Online]. Available at: https://developer.apple.com/notifications/ [Accessed: May-2015]. [6] W3Schools.com, “Introduction to Web Services” Introduction to Web Services, 2015. [Online]. Available at: http://www.w3schools.com/webservices/ws_intro.asp [Accessed: May-2015]. [7] W3Schools.com, “SOAP Introduction”, 2015. [Online]. Available at: http://www.w3schools.com/ webservices/ws_soap_intro.asp [Accessed: May-2015]. [8] R. T. Fielding, “Architectural Styles and the Design of Network-based Software Architectures” UNIVERSITY OF CALIFORNIA, Irvine, 2000. [9] A. Nene, “Web Services Architecture – When to Use SOAP vs REST” Javalobby, 2014. [Online]. Available at: http://java.dzone.com/articles/web-services-architecture [Accessed: May-2015]. [10] J. Mueller, “Understanding SOAP and REST Basics” Software Quality Matters Blog, 2013. [Online]. Available at: http://blog.smartbear.com/apis/understanding-soap-and-rest-basics/ [Accessed: May-2015]. [11] F. Todd, “RESTful Service Best Practices, Recommendations for Creating Web Services” RestAPITutorial.com, 2013. [12] CodePath.com, “Consuming APIs with Retrofit” CodePath Android Cliffnotes, 2015. [Online]. Available at: https://guides.codepath.com/android/Consuming-APIs-with-Retrofit#setup [Accessed: May-2015]. [13] StudyTrials, “Java Google Json (Gson) Introduction” StudyTrials.com. [Online]. Available at: http://www.studytrails.com/java/json/java-google-json-introduction.jsp [Accessed: May-2015]. [14] “Google Gson” Google Gson Home, 2011. [Online]. Available at: https://sites.google.com/ site/gson/Home [Accessed: May-2015] Macan, Stapić, Pavlović: Using Retrofit framework in implementation of Android REST client - CASE27, 2nd June 201516