Android Best Practices

Size: px
Start display at page:

Download "Android Best Practices"

Transcription

1

2 Android Best Practices

3 Agenda Introduction The clean architecture Testing Support library Libraries we can depend on What's next

4 Introduction

5 Introduction Android Studio Gradle Material Design Lollipop Android Wear / Auto / TV

6 The clean architecture

7 The clean architecture The key concept is based on: Independence of frameworks Testeable Independent of UI Independent of DB Independent of any external agency

8 The clean architecture Definitions Entities: These are the business objects of the application Use Cases: These use cases orchestrate the flow of data to and from the entities. Interface Adapters: This set of adapters convert data from the format most convenient for the use cases and entities. Frameworks and Drivers: This is where all the details go: UI, tools, frameworks, etc.

9 Android architecture The objective is the separation of concerns by keeping the business rules not knowing anything at all about the outside world, thus, they can can be tested without any dependency to any external element. To achieve this, the proposal is about breaking up the project into 3 different layers, in which each one has its own purpose and works separately from the others.

10 Presentation layer Is here, where the logic related with views and animations happens. It uses no more than a Model View Presenter (MVP), but you can use any other pattern like MVC or MVVM. For example, fragments and activities are only views, there is no logic inside them other than UI logic, and this is where all the rendering stuff takes place. Presenters in this layer are composed with interactors (use cases) that perform the job in a new thread outside the android UI thread, and come back using a callback with the data that will be rendered in the view.

11 Domain layer Business rules here: all the logic happens in this layer. Regarding the android project, you will see all the interactors (use cases) implementations here as well. This layer is a pure java module without any android dependencies. All the external components use interfaces when connecting to the business objects.

12 Data layer All data needed for the application comes from this layer through a Repository implementation (the interface is in the domain layer) that uses a Repository Pattern with a strategy that, through a factory, picks different data sources depending on certain conditions. The idea behind all this is that the data origin is transparent for the client, which does not care if the data is coming from memory, disk or the cloud, the only truth is that the data will arrive and will be got.

13 Project structure Presentation module Is the Android application itself, with its resources, assets, logic, etc.

14 Project structure Domain module This module hosts use-cases and their implementations, it is the business logic of the application.

15 Project structure Model module This module is responsible for managing the information, select, save, delete, etc.

16 Communication Now, how we communicate these layers? One approach is communication over an Message Bus system. This system is very useful for Broadcast events, or to establish a communication between components. Basically, events are sent through a Bus and the classes interested to consume that event have to subscribe to that Bus. To implement the system bus, we used the library Otto by Square, but we can use EventBus by GreenRobot too. Both libraries implements the publish/subscribe pattern.

17 Communication

18 Testing

19 Testing We have different solutions for each layer: Presentation Layer: Android instrumentation and Espresso for integration and functional testing Domain Layer: JUnit plus Mockito for unit tests Data Layer: Robolectric (since this layer has android dependencies) plus JUnit plus Mockito for integration and unit tests.

20 Espresso Espresso is a testing framework that exposes a simple API to perform UI testing of Android apps. With the latest 2.0 release, Espresso is now part of the Android Support Repository which makes it more easier to add automated testing support for your project. Key features: Its code looks a lot like English, which makes it predictable and easy to learn. The API is relatively small, and yet open for customization. Espresso tests run optimally fast (no waits, sleeps) Gradle + Android Studio support

21 Espresso Is built up from 3 major components: These components are: ViewMatchers allows you to locate a view in the current view hierarchy ViewActions allows you to interact with views ViewAssertions allows you to assert the state of a view. For simplicity, you may use these shortcuts to refer to them: ViewMatchers find something ViewActions do something ViewAssertions check something

22 Espresso Here is an example for this:

23 Espresso Here is an example for this:

24 JUnit JUnit in version 4.x is a test framework which uses annotations to identify methods that specify a test.

25 JUnit From Android Studio 1.1, we have fully integration with JUnit.

26 Support Library

27 Support Library Design Support Library This library implements some custom views from Material Design such as: NEW

28 Support Library Design Support Library

29 Support Library V7 Appcompat Library - IMPORTANT!!! This library adds support from API V7 (Android 2.1) for basic elements: Toolbar CardView GridLayout PaletteLibrary RecyclerView and more

30 Support Library V4 Support Library This library adds support from API V4 (Android 1.6) for basic elements: Fragment NotificationCompat ViewPager PagerTitle DrawerLayout... and a lot more

31 Support Library Testing Support Library This library provides an extensive framework for testing Android apps. You can run tests created using these APIs from the Android Studio IDE or from the command line. Includes the following test automation tools: AndroidJUnitRunner: JUnit 4-compatible test runner for Android Espresso: UI testing framework; suitable for functional UI testing within an app UI Automator: UI testing framework; suitable for cross-app functional UI testing across system and installed apps

32 Libraries we can depend on

33 Why libraries? Maintained by the community Easy to use Well documented It just works!!! Don't reinvent the wheel!!!

34 Retrofit Type-safe REST client for Android and Java by Square, Inc. Retrofit turns your REST API into a Java interface. The RestAdapter class generates an implementation of the GitHubService interface.

35 Retrofit Each call on the generated GitHubService makes an HTTP request to the remote webserver. More examples:

36 Picasso Picasso allows for hassle-free image loading in your application often in one line of code! Image transformation

37 ButterKnife View injection library Annotate fields and a view ID for Butter Knife to find and automatically cast the corresponding view in your layout.

38 Gson Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object.

39 Gson We can customize named fields, this improves code readability:

40 Stetho Stetho is a sophisticated debug bridge for Android applications. When enabled, developers have access to the Chrome Developer Tools feature natively part of the Chrome desktop browser.

41

42 How? Adding this libraries to our project it's really easy. On our build.gradle file, we add: This libraries are located in two main repositories: Maven Central JCenter - Default on Android Studio

43 Finding libraries Android Arsenal Gradle, please

44 What s next?

45 Finding libraries RXJava - Reactive Programming Dagger2 - Dependency Injection Kotlin - New scripting language

46 References Robert Martin - The Clean Architecture Fernando Cejas - The Clean Architecture Gradle - Android Tools Android Developers - Support Libraries Design Support Library Examples - Repository Retrofit - REST Adapter Picasso - Image loader Gson - JSON parser Stetho - View inspector Espresso - Samples Android Arsenal - For libraries / Gradle Please - Gradle dependencies

47 Thanks

A Separation of Concerns Clean Architecture on Android

A Separation of Concerns Clean Architecture on Android A Separation of Concerns Clean Architecture on Android Kamal Kamal Mohamed Android Developer, //TODO Find Better Title @ Outware Mobile Ryan Hodgman Official Despiser of Utils Classes @ Outware Mobile

More information

Android Essentials with Java

Android Essentials with Java Android Essentials with Java Before You Program o Exercise in algorithm generation Getting Started o Using IntelliJ CE Using Variables and Values o Store data in typed variables Static Methods o Write

More information

Testing Your Android Applications

Testing Your Android Applications Testing Your Android Applications Alexander Nelson November 17th, 2017 University of Arkansas - Department of Computer Science and Computer Engineering The Problem Testing Advantages Testing your application

More information

Android About.me/DavidCorrado Mobile Meetup Organizer

Android About.me/DavidCorrado Mobile Meetup Organizer Android Tips/Tricks @DavidCorrado About.me/DavidCorrado Mobile Meetup Organizer IDE Don t Use Eclipse Use either Android Studio/IntelliJ They are basically the same thing. They are both built off of IntelliJ

More information

Full Stack Reactive Angular 2, RxJava/JS, Vert.x, Docker

Full Stack Reactive Angular 2, RxJava/JS, Vert.x, Docker Full Stack Reactive Angular 2, RxJava/JS, Vert.x, Docker 02.03.2017 About Myself DR. ALEXANDER FRIED Chief Technology Officer 2 OUR SOLUTIONS DIGITAL ASSET MANAGEMENT Organize & Share Any File, Any Format,

More information

ANDROID DEVELOPMENT. Course Details

ANDROID DEVELOPMENT. Course Details ANDROID DEVELOPMENT Course Details centers@acadgild.com www.acadgild.com 90360 10796 01 Brief About the Course Android s share of the global smartphone is 81%. The Google Certified Android development

More information

Testing on Android. Mobile Application Development. Jakob Mass MTAT Fall MTAT

Testing on Android. Mobile Application Development. Jakob Mass MTAT Fall MTAT Testing on Android Mobile Application Development MTAT.03.262 2017 Fall Jakob Mass jakob.mass@ut.ee Introduction. Perfect codewriting...or? Conventional (unit) Java testing with JUnit How is mobile/android

More information

Using forismatic api, developed a simple application that uses Alamofire to make web requests. This application includes:

Using forismatic api, developed a simple application that uses Alamofire to make web requests. This application includes: Here s a brief overview of my projects related to Android and IOS: I currently have 4 published applications on Google Playstore. All IOS apps were built using swift. The applications are arranged starting

More information

Android tips. which simplify your life

Android tips. which simplify your life Android tips which simplify your life Android Studio beta gradle build system maven-based build dependencies build variants code completion, refactoring, templates graphical template editor Gradle apply

More information

Java Training Center - Android Application Development

Java Training Center - Android Application Development Java Training Center - Android Application Development Android Syllabus and Course Content (3 months, 2 hour Daily) Introduction to Android Android and it's feature Android releases and Versions Introduction

More information

Accessibility. Adding features to support users with impaired vision, mobility, or hearing

Accessibility. Adding features to support users with impaired vision, mobility, or hearing Accessibility Adding features to support users with impaired vision, mobility, or hearing TalkBack TalkBack is an Android screen reader made by Google. It speaks out the contents of a screen based on what

More information

android-espresso #androidespresso

android-espresso #androidespresso android-espresso #androidespresso Table of Contents About 1 Chapter 1: Getting started with android-espresso 2 Remarks 2 Examples 2 Espresso setup instructions 2 Checking an Options Menu items (using Spoon

More information

Reactive Programming and Clean Architecture in Android Development. Tung Bui Duy. Helsinki Metropolia University of Applied Sciences

Reactive Programming and Clean Architecture in Android Development. Tung Bui Duy. Helsinki Metropolia University of Applied Sciences Tung Bui Duy Reactive Programming and Clean Architecture in Android Development Helsinki Metropolia University of Applied Sciences Bachelor of Engineering Information Technology Thesis 27 April 2017 Abstract

More information

Hello! I AM ZARAH. I am an Android developer for Domain.com.au

Hello! I AM ZARAH. I am an Android developer for Domain.com.au TOOLS OF THE TRADE Hello! I AM ZARAH I am an Android developer for Domain.com.au THE KEY Know available tools THE KEY Know available tools There is no correct setup CODE FRAGMENTS FRAGMENT LIFECYCLE FragmentManager.enableDebugLogging(true);

More information

Android Application Development using Kotlin

Android Application Development using Kotlin Android Application Development using Kotlin 1. Introduction to Kotlin a. Kotlin History b. Kotlin Advantages c. How Kotlin Program Work? d. Kotlin software Prerequisites i. Installing Java JDK and JRE

More information

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel.

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel. Hi. I'm Prateek Baheti. I'm a developer at ThoughtWorks. I'm currently the tech lead on Mingle, which is a project management tool that ThoughtWorks builds. I work in Balor, which is where India's best

More information

MATERIAL DESIGN. Android Elective Course 4th Semester. June 2016 Teacher: Anders Kristian Børjesson. Ovidiu Floca

MATERIAL DESIGN. Android Elective Course 4th Semester. June 2016 Teacher: Anders Kristian Børjesson. Ovidiu Floca MATERIAL DESIGN Android Elective Course 4th Semester June 2016 Teacher: Anders Kristian Børjesson Ovidiu Floca 1 CONTENTS 2 Introduction... 2 3 Problem Definition... 2 4 Method... 2 5 Planning... 3 6 Watching

More information

SEVEN ADVANCED ACADEMY

SEVEN ADVANCED ACADEMY SEVEN ADVANCED ACADEMY Course Schedule MOBILE APP PROGRAMMING Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Lesson 1 Lesson 2 Lesson 3 Lesson 4 Lesson 5 Lesson 6 Lesson 7 Lesson 8 Lesson 9 Lesson

More information

5 System architecture

5 System architecture 5 System architecture This chapter provides an overview of the system architecture. The first section presents a superficial explanation of the entire systems architecture. In section two, architectural

More information

Advance Mobile& Web Application development using Angular and Native Script

Advance Mobile& Web Application development using Angular and Native Script Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building

More information

Android App Development for Beginners

Android App Development for Beginners Description Android App Development for Beginners DEVELOP ANDROID APPLICATIONS Learning basics skills and all you need to know to make successful Android Apps. This course is designed for students who

More information

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1 Android Lesson 1 1 1 1.0 to Android 2 Contents Android is an ecosystem Android platform architecture Android Versions Challenges of Android app development App fundamentals 3 Android Ecosystem 4 What is

More information

Data binding. in a Kotlin world. Lisa

Data binding. in a Kotlin world. Lisa Data binding in a Kotlin world Lisa Wray Data binding in a Kotlin world Lisa Wray Data binding in a Kotlin world Lisa Wray Less code is better code 1. Quick tour of The Best Parts of data binding 2. Kotlin

More information

After you create a new project you should be able to access the below windows:

After you create a new project you should be able to access the below windows: Android Studio IDE Overview Objectives: In this tutorial you will learn about the different windows and tools in Android Studio. At the end of this session you will be able to: Use different Android Windows.

More information

ANDROID SYLLABUS. Advanced Android

ANDROID SYLLABUS. Advanced Android Advanced Android 1) Introduction To Mobile Apps I. Why we Need Mobile Apps II. Different Kinds of Mobile Apps III. Briefly about Android 2) Introduction Android I. History Behind Android Development II.

More information

Syllabus- Java + Android. Java Fundamentals

Syllabus- Java + Android. Java Fundamentals Introducing the Java Technology Syllabus- Java + Android Java Fundamentals Key features of the technology and the advantages of using Java Using an Integrated Development Environment (IDE) Introducing

More information

1. Implementation of Inheritance with objects, methods. 2. Implementing Interface in a simple java class. 3. To create java class with polymorphism

1. Implementation of Inheritance with objects, methods. 2. Implementing Interface in a simple java class. 3. To create java class with polymorphism ANDROID TRAINING COURSE CONTENT SECTION 1 : INTRODUCTION Android What it is? History of Android Importance of Java language for Android Apps Other mobile OS-es Android Versions & different development

More information

Mobile Application Development

Mobile Application Development Android Native Application Development Mobile Application Development 1. Android Framework and Android Studio b. Android Software Layers c. Android Libraries d. Components of an Android Application e.

More information

Android Online Training

Android Online Training Android Online Training IQ training facility offers Android Online Training. Our Android trainers come with vast work experience and teaching skills. Our Android training online is regarded as the one

More information

Xamarin for C# Developers

Xamarin for C# Developers Telephone: 0208 942 5724 Email: info@aspecttraining.co.uk YOUR COURSE, YOUR WAY - MORE EFFECTIVE IT TRAINING Xamarin for C# Developers Duration: 5 days Overview: C# is one of the most popular development

More information

Android Developer Nanodegree Syllabus

Android Developer Nanodegree Syllabus Before You Start This program is aimed at developers with 1-2 years of experience programming in Java or another object-oriented programming language like Python or C#. If you don t have this experience,

More information

Pemrograman Mobile. Lesson 1. Introduction to Android. Create Your First Android App. Nizar Rabbi Radliya

Pemrograman Mobile. Lesson 1. Introduction to Android. Create Your First Android App. Nizar Rabbi Radliya Pemrograman Mobile Lesson 1 3 SKS Semester 7 S1 Sistem Informasi Nizar Rabbi Radliya nizar@email.unikom.ac.id Introduction to Android Create Your First Android App Mobile Device Mobile Platform/OS Windows

More information

Minds-on: Android. Session 1

Minds-on: Android. Session 1 Minds-on: Android Session 1 Paulo Baltarejo Sousa Instituto Superior de Engenharia do Porto 2016 Outline Mobile devices Android OS Android architecture Android Studio Practice 1 / 33 2 / 33 Mobile devices

More information

MV* Design Patterns. Alexander Nelson August 25, University of Arkansas - Department of Computer Science and Computer Engineering

MV* Design Patterns. Alexander Nelson August 25, University of Arkansas - Department of Computer Science and Computer Engineering MV* Design Patterns Alexander Nelson August 25, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Course Mechanics Course Webpage: you.uark.edu/ahnelson/cmpe-4623-mobile-programming/

More information

Unit Testing. CS 240 Advanced Programming Concepts

Unit Testing. CS 240 Advanced Programming Concepts Unit Testing CS 240 Advanced Programming Concepts F-22 Raptor Fighter 2 F-22 Raptor Fighter Manufactured by Lockheed Martin & Boeing How many parts does the F-22 have? 3 F-22 Raptor Fighter What would

More information

Build Testable Client and Service Applications

Build Testable Client and Service Applications Build Testable Client and Service Applications Brian Noyes IDesign Inc (www.idesign.net) brian.noyes@idesign.net About Brian Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director MVP

More information

RobertaLab: Configuration, Architecture, Frameworks, Design

RobertaLab: Configuration, Architecture, Frameworks, Design Roberta Seite 1 RobertaLab: Configuration, Architecture, Frameworks, Design reinhard.budde at iais.fraunhofer.de version 0.3 002014 12:57 Overview The system consists out of three distributed components,

More information

Legendárium Navigator: Software System for Supporting Transylvanian Tourism

Legendárium Navigator: Software System for Supporting Transylvanian Tourism Legendárium Navigator: Software System for Supporting Transylvanian Tourism Attila Barna Máté *, Roland Nagy *, Zsolt Szécsi **, Dénes-Bálint Kelemen-Fehér **, Károly Simon *** * Babeș Bolyai University,

More information

Advanced Java Testing. What s next?

Advanced Java Testing. What s next? Advanced Java Testing What s next? Vincent Massol, February 2018 Agenda Context & Current status quo Coverage testing Testing for backward compatibility Mutation testing Environment testing Context: XWiki

More information

Android Web Service Client

Android Web Service Client Android Web Service Client Alexander Nelson November 15th, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Java Interfaces Java Interface A Java Interface is a collection

More information

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP) Android Syllabus Pre-requisite: C, C++, Java Programming SQL & PL SQL Chapter 1: Introduction to Android Introduction to android operating system History of android operating system Features of Android

More information

OFFLINE MODE OF ANDROID

OFFLINE MODE OF ANDROID OFFLINE MODE OF ANDROID APPS @Ajit5ingh ABOUT ME new Presenter( Ajit Singh, github.com/ajitsing, www.singhajit.com, @Ajit5ingh ) AGENDA Why offline mode? What it takes to build an offline mode Architecture

More information

VIVIT TQA Webinar: "DISCOVER THE POSSIBILITIES OF USING THE HP QUALITY CENTER API" May 12th 2010

VIVIT TQA Webinar: DISCOVER THE POSSIBILITIES OF USING THE HP QUALITY CENTER API May 12th 2010 VIVIT TQA Webinar: "DISCOVER THE POSSIBILITIES OF USING THE HP QUALITY CENTER API" May 12th 2010 Email us at: olli.laiho at assure.fi or shir.goldberg at assure.fi Q&A Number Question How do you guarantee

More information

AngularJS Fundamentals

AngularJS Fundamentals AngularJS Fundamentals by Jeremy Zerr Blog: http://www.jeremyzerr.com LinkedIn: http://www.linkedin.com/in/jrzerr Twitter: http://www.twitter.com/jrzerr What is AngularJS Open Source Javascript MVC/MVVM

More information

#jenkinsconf. Jenkins user plugin. This time it's. Jenkins User Conference Israel. Shiran JFrog

#jenkinsconf. Jenkins user plugin. This time it's. Jenkins User Conference Israel. Shiran JFrog Jenkins user plugin This time it's Shiran Rubin @ShiranRU JFrog http://jfrog.com July 16, 2014 About me Groovy developer in JFrog. The home of We work with: But support many others. It's time to There's

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System

More information

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket

More information

13 th Annual International Software Testing Conference Paper on

13 th Annual International Software Testing Conference Paper on 1 13 th Annual International Software Testing Conference Paper on SMART- a Comprehensive Framework for Test Automation of Web & Mobile Applications Using Open Source Technologies Author: Anmol Bagga QA

More information

Zumobi Brand Integration(Zbi) Platform Architecture Whitepaper Table of Contents

Zumobi Brand Integration(Zbi) Platform Architecture Whitepaper Table of Contents Zumobi Brand Integration(Zbi) Platform Architecture Whitepaper Table of Contents Introduction... 2 High-Level Platform Architecture Diagram... 3 Zbi Production Environment... 4 Zbi Publishing Engine...

More information

MS_40541 Build Native Cross-Platform Mobile Apps with a Shared C# Business Logic for ios, Android, and UWP in C#.NET with Xamarin and Visual Studio

MS_40541 Build Native Cross-Platform Mobile Apps with a Shared C# Business Logic for ios, Android, and UWP in C#.NET with Xamarin and Visual Studio Build Native Cross-Platform Mobile Apps with a Shared C# Business Logic for ios, Android, and UWP in C#.NET with Xamarin and Visual Studio www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos,

More information

Hello World. Lesson 1. Create your first Android. Android Developer Fundamentals. Android Developer Fundamentals

Hello World. Lesson 1. Create your first Android. Android Developer Fundamentals. Android Developer Fundamentals Hello World Lesson 1 1 1.1 Create Your First Android App 2 Contents Android Studio Creating "Hello World" app in Android Studio Basic app development workflow with Android Studio Running apps on virtual

More information

ArcGIS Runtime SDK for Android: Building Apps. Shelly Gill

ArcGIS Runtime SDK for Android: Building Apps. Shelly Gill ArcGIS Runtime SDK for Android: Building Apps Shelly Gill Agenda Getting started API - Android Runtime SDK patterns - Common functions, workflows The Android platform Other sessions covered Runtime SDK

More information

Tutorial on OpenCV for Android Setup

Tutorial on OpenCV for Android Setup Tutorial on OpenCV for Android Setup EE368/CS232 Digital Image Processing, Winter 2019 Introduction In this tutorial, we will learn how to install OpenCV for Android on your computer and how to build Android

More information

Turbo boost your digital app test automation with Jenkins

Turbo boost your digital app test automation with Jenkins Turbo boost your digital app test automation with Jenkins Step-by-Step Tutorial May, 2018 Speakers Sheli Ashkenazi Sr. Product Manager Experitest Jonathan Aharon Sr. Sales Engineer Experitest 2 01 The

More information

A simple, scalable app architecture with Android Annotations Luke Sleeman Freelance Android developer lukesleeman.com.au

A simple, scalable app architecture with Android Annotations Luke Sleeman Freelance Android developer lukesleeman.com.au A simple, scalable app architecture with Android Annotations Luke Sleeman Freelance Android developer lukesleeman.com.au Image CC: https://flic.kr/p/6oqczb Luke Sleeman - Freelance developer specialising

More information

Manual Android Virtual Device Failed To Load Click Details

Manual Android Virtual Device Failed To Load Click Details Manual Android Virtual Device Failed To Load Click Details i am new to android 1_i am not able to see any option after clicking on 'run as' an android virtual device that failed to load.click 'details''.i

More information

ArcGIS Runtime SDK for Android: Building Apps. Shelly Gill

ArcGIS Runtime SDK for Android: Building Apps. Shelly Gill ArcGIS Runtime SDK for Android: Building Apps Shelly Gill Agenda Getting started SDK Common patterns and Example Apps Android platform updates Kotlin Team goals for upcoming releases Other sessions ArcGIS

More information

ITG Software Engineering

ITG Software Engineering Android Security Course ID: Page 1 Last Updated 12/15/2014 Android Security ITG Software Engineering Course Overview: This 5 day course covers the Android architecture, the stack, and primary building

More information

ni.com What s New in 2013

ni.com What s New in 2013 What s New in 2013 Code Reuse and Mobile Device Integration Access the Newest Hardware Technology Code Management and Debugging Tools All Systems. Go. New Sample Projects and Improved Examples Streamlined

More information

ATC Android Application Development

ATC Android Application Development ATC Android Application Development 1. Android Framework and Android Studio b. Android Platform Architecture i. Linux Kernel ii. Hardware Abstraction Layer(HAL) iii. Android runtime iv. Native C/C++ Libraries

More information

Wireless Vehicle Bus Adapter (WVA) Android Library Tutorial

Wireless Vehicle Bus Adapter (WVA) Android Library Tutorial Wireless Vehicle Bus Adapter (WVA) Android Library Tutorial Revision history 90001431-13 Revision Date Description A October 2014 Original release. B October 2017 Rebranded the document. Edited the document.

More information

A simple, scalable app architecture with Android annotations Luke Sleeman Freelance Android developer lukesleeman.com.au

A simple, scalable app architecture with Android annotations Luke Sleeman Freelance Android developer lukesleeman.com.au A simple, scalable app architecture with Android annotations Luke Sleeman Freelance Android developer lukesleeman.com.au Image CC: https://flic.kr/p/6oqczb Agenda Introduction The architecture - an overview

More information

(Refer Slide Time: 0:48)

(Refer Slide Time: 0:48) Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Lecture 10 Android Studio Last week gave you a quick introduction to android program. You develop a simple

More information

Getting started with M-Files

Getting started with M-Files Getting started with M-Files This guide helps you to get up to speed with M-Files. M-Files Desktop M-Files Desktop is the full-featured client UI for M-Files users and is the primary user interface that

More information

Testing Mobile Apps CS 4720 Mobile Application Development

Testing Mobile Apps CS 4720 Mobile Application Development Testing Mobile Apps Mobile Application Development Testing! The most important thing we never teach you to do! Consider how most projects go in your undergrad career: Requirements elicitation? We give

More information

Bootcamp Curriculum. Mobile Application Development - 7 Weeks. Training Curriculum. Mobile Application Development Curriculum 1. Cross Platform Design

Bootcamp Curriculum. Mobile Application Development - 7 Weeks. Training Curriculum. Mobile Application Development Curriculum 1. Cross Platform Design Bootcamp Curriculum Mobile Application Development - 7 Weeks Training Curriculum Orientation (1 day) UI & UX Fundamentals Learning C# for Mobile Development (7 days) Building Cross Platform Applications

More information

Creating RESTful web services with Spring Boot

Creating RESTful web services with Spring Boot Creating RESTful web services with Spring Boot The Spring framework Free and open source Inversion of Control Container (IoC) Modules DI / AOP Data /Security Web MVC/ REST So much more +++ What is Spring

More information

Eclipse Scout. Release Notes. Scout Team. Version 7.0

Eclipse Scout. Release Notes. Scout Team. Version 7.0 Eclipse Scout Release Notes Scout Team Version 7.0 Table of Contents About This Release.......................................................................... 1 Service Releases..........................................................................

More information

Migrating traditional Java EE applications to mobile

Migrating traditional Java EE applications to mobile Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16

More information

JVM Survival Guide. Hadi Hariri

JVM Survival Guide. Hadi Hariri JVM Survival Guide Hadi Hariri This talk For What For Who 20 years of Java The Sun and The Oracle Java The Language Java The Virtual Machine Java The Ecosystem The Community Community Driven Not Vendor-Driven

More information

High performance reactive applications with Vert.x

High performance reactive applications with Vert.x High performance reactive applications with Vert.x Tim Fox Red Hat Bio Employed By Red Hat to lead the Vert.x project Worked in open source exclusively for the past 9 years Some projects I've been involved

More information

ANDROID TRAINING PROGRAM COURSE CONTENT

ANDROID TRAINING PROGRAM COURSE CONTENT ANDROID TRAINING PROGRAM COURSE CONTENT Android Architecture System architecture of Android Activities Android Components Android Manifest Android Development Tools Installation of the Android Development

More information

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/...

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/... PROCE55 Mobile: Web API App PROCE55 Mobile with Test Web API App Web API App Example This example shows how to access a typical Web API using your mobile phone via Internet. The returned data is in JSON

More information

Curriculum Vitae. Android Developer EDUCATION EDUCATION. Radioelectronics Electronic-optical machine building

Curriculum Vitae. Android Developer EDUCATION EDUCATION. Radioelectronics Electronic-optical machine building InToSoft BV The Netherlands, Modelleur 11 5171 SL Kaatsheuvel, TEL: +31 416 67 39 55 Curriculum Vitae EDUCATION Educational institution Specialty EDUCATION Belarussian State University of Informatics and

More information

Tishik Int. University / College of Science / IT Dept. This Course based mainly on online sources ADVANCED MOBILE APPLICATIONS / Spring 1

Tishik Int. University / College of Science / IT Dept. This Course based mainly on online sources ADVANCED MOBILE APPLICATIONS / Spring 1 ADVANCED MOBILE APPLICATIONS / 2018-2019 Spring Tishik Int. University / College of Science / IT Dept. Presented By: Mohammad Salim Al-Othman For 4 th Grade Students This Course based mainly on online

More information

Mobile Programming Lecture 1. Getting Started

Mobile Programming Lecture 1. Getting Started Mobile Programming Lecture 1 Getting Started Today's Agenda About the Android Studio IDE Hello, World! Project Android Project Structure Introduction to Activities, Layouts, and Widgets Editing Files in

More information

Selenium Testing Training

Selenium Testing Training About Intellipaat Intellipaat is a fast-growing professional training provider that is offering training in over 150 most sought-after tools and technologies. We have a learner base of 600,000 in over

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

Rationalizing Android Development. Philipp Kumar

Rationalizing Android Development. Philipp Kumar Rationalizing Android Development Philipp Kumar Who am I? Philipp Kumar akquinet tech@spree GmbH Mobile Solutions Focus: Android and its Enterprise Integration Who are we? UI Design JBoss Consulting OSGi

More information

cappture your imagination Product Introduction

cappture your imagination Product Introduction cappture your imagination Product Introduction Version 2.0 - March 2014 2 Table of Contents Document overview...4 Product goal and outline...4 The problem being addressed...4 Product architecture...5 The

More information

GraphQL. Concepts & Challenges. - I m Robert Mosolgo - Work from home Ruby developer - From Charlottesville VA - For GitHub

GraphQL. Concepts & Challenges. - I m Robert Mosolgo - Work from home Ruby developer - From Charlottesville VA - For GitHub GraphQL Concepts & Challenges - I m Robert Mosolgo - Work from home Ruby developer - From Charlottesville VA - For GitHub Rails API WHY - You have your Rails app, why bother with an API? - You have clients.

More information

Project Design and Implementation Report VEHICULAR TRAFFIC ANALYTICS

Project Design and Implementation Report VEHICULAR TRAFFIC ANALYTICS Project Design and Implementation Report VEHICULAR TRAFFIC ANALYTICS Summary Map services, such as Google or Bing Maps, provide the user with a route planner to lead the user to arrive at a given destination.

More information

FIRST STEPS WITH SOFIA2

FIRST STEPS WITH SOFIA2 FIRST STEPS WITH SOFIA2 DECEMBER 2014 Version 5 1 INDEX 1 INDEX... 2 2 INTRODUCTION... 3 2.1 REQUIREMENTS... 3 2.2 CURRENT DOCUMENT GOALS AND SCOPE... 3 3 STEPS TO FOLLOW... ERROR! MARCADOR NO DEFINIDO.

More information

CS 4518 Mobile and Ubiquitous Computing Lecture 5: Data-Driven Views and Android Components Emmanuel Agu

CS 4518 Mobile and Ubiquitous Computing Lecture 5: Data-Driven Views and Android Components Emmanuel Agu CS 4518 Mobile and Ubiquitous Computing Lecture 5: Data-Driven Views and Android Components Emmanuel Agu Announcements Slight modifications to course timeline posted No class February 16 (Advising day)

More information

Mobile and Ubiquitous Computing: Android Programming (part 1)

Mobile and Ubiquitous Computing: Android Programming (part 1) Mobile and Ubiquitous Computing: Android Programming (part 1) Master studies, Winter 2015/2016 Dr Veljko Pejović Veljko.Pejovic@fri.uni-lj.si The World of Android The Android Platform A mobile operating

More information

Android PC Splash Brothers Design Specifications

Android PC Splash Brothers Design Specifications Android PC Splash Brothers Design Specifications Contributors: Zach Bair Taronish Daruwalla Joshua Duong Anthony Nguyen 1. Technology background The Android x86 project has been in existence since 2011.

More information

Introduction to Sencha Ext JS

Introduction to Sencha Ext JS Introduction to Sencha Ext JS Olga Petrova olga@sencha.com Sales Engineer EMEA Agenda Use Case How It Works Advantages Demo Use case Ext JS a Javascript framework for building enterprise data-intensive

More information

Investigating Source Code Reusability for Android and Blackberry Applications

Investigating Source Code Reusability for Android and Blackberry Applications Investigating Source Code Reusability for Android and Blackberry Applications Group G8 Jenelle Chen Aaron Jin 1 Outline Recaps Challenges with mobile development Problem definition Approach Demo Detailed

More information

55191: Advanced SharePoint Development

55191: Advanced SharePoint Development Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com

More information

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps WebSphere Puts Business In Motion Put People In Motion With Mobile Apps Use Mobile Apps To Create New Revenue Opportunities A clothing store increases sales through personalized offers Customers can scan

More information

Testing with Soap UI. Tomaš Maconko

Testing with Soap UI. Tomaš Maconko Testing with Soap UI Tomaš Maconko 1 Content What is Soap UI? What features does the Soap UI have? Usage in project context Pros and cons Soap UI alternatives 2 What is Soap UI? Open Source Testing Tool

More information

Selenium Testing Course Content

Selenium Testing Course Content Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference

More information

Keep Learning with Oracle University

Keep Learning with Oracle University Keep Learning with Oracle University Classroom Training Learning Subscription Live Virtual Class Training On Demand Cloud Technology Applications Industries education.oracle.com 3 Session Surveys Help

More information

Classification and Selection of Cross-Platform Tools. Michiel Willocx 17/06/2015

Classification and Selection of Cross-Platform Tools. Michiel Willocx 17/06/2015 Classification and Selection of Cross-Platform Tools Michiel Willocx 17/06/2015 Table of contents PART 1: Classification Cross-Platform Tools o Different technologies o Examples PART 2: Selection Criteria

More information

Developer: Chaithanya Krishna Gogineni Graduate Teaching Assistant Software Engineering Computer Science Department Northern Illinois University

Developer: Chaithanya Krishna Gogineni Graduate Teaching Assistant Software Engineering Computer Science Department Northern Illinois University Developer: Chaithanya Krishna Gogineni Graduate Teaching Assistant Software Engineering Computer Science Department Northern Illinois University DeKalb, Illinois. www.chaithanyagogineni.com 1.Requirements

More information

Create new Android project in Android Studio Add Button and TextView to layout Learn how to use buttons to call methods. Modify strings.

Create new Android project in Android Studio Add Button and TextView to layout Learn how to use buttons to call methods. Modify strings. Hello World Lab Objectives: Create new Android project in Android Studio Add Button and TextView to layout Learn how to use buttons to call methods. Modify strings.xml What to Turn in: The lab evaluation

More information

XML Tutorial. NOTE: This course is for basic concepts of XML in line with our existing Android Studio project.

XML Tutorial. NOTE: This course is for basic concepts of XML in line with our existing Android Studio project. XML Tutorial XML stands for extensible Markup Language. XML is a markup language much like HTML used to describe data. XML tags are not predefined in XML. We should define our own Tags. Xml is well readable

More information

Introduction to Worklight Integration IBM Corporation

Introduction to Worklight Integration IBM Corporation Introduction to Worklight Integration Agenda IBM Mobile Foundation Introduction to Worklight How to Integrate Worklight Adapters WebAPI HTTP & SOAP Database (SQL) WebSphere Message Broker Cast Iron 2 IBM

More information

Spring MVC 4.x Spring 5 Web Reactive

Spring MVC 4.x Spring 5 Web Reactive Part 1 Spring MVC 4.x Spring 5 Web Reactive Rossen Stoyanchev @rstoya05 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive Shortcut Annotations @RequestMapping @GetMapping @PostMapping

More information

Designing an AllJoyn Interface

Designing an AllJoyn Interface Designing an AllJoyn Interface Dave Thaler Interface Review Board (IRB) Member Software Engineer, Microsoft 7 October 2015 AllSeen Alliance 1 Agenda 1. Background 2. Design Guidelines 3. Process for Authoring

More information