OFFLINE MODE OF ANDROID

Size: px
Start display at page:

Download "OFFLINE MODE OF ANDROID"

Transcription

1 OFFLINE MODE OF ANDROID

2 ABOUT ME new Presenter( Ajit Singh, github.com/ajitsing, )

3 AGENDA Why offline mode? What it takes to build an offline mode Architecture & Code Network factors Testing Bugs & how to solve them Wrap up

4 WHY OFFLINE MODE? Lets understand by an example We can t always get connected to internet Mobile networks are not stable

5 WHAT IT TAKES TO BUILD AN OFFLINE MODE

6 WHAT IT TAKES TO BUILD OFFLINE MODE UX Data Listening to network state updates Manage the network state Notifying user with the latest network state

7 USER EXPERIENCE

8 CAN NOT DO ANYTHING OFFLINE!

9 CAN DO SOMETHING!

10 CAN DO A LOT!!

11 DATA DB CACHE JSON files, sharedpreferences etc..

12 LISTEN FOR NETWORK CHANGE EVENTS APP

13 IDENTIFYING INTERNET CONNECTIVITY Figure out current network state using the NetworkStateIdentifier

14 MANAGE NETWORK STATE Update the network state

15 NOTIFYING USER WITH THE LATEST STATE Update UI using the latest network state

16 OFFLINE MODE ARCHITECTURE

17 ARCHITECTURE APP

18 BENEFITS OF THIS ARCHITECTURE Event driven architecture App always has the copy of latest connectivity state Utilising less resources User gets notified almost immediately

19 CODE

20 User Permission 10

21 PERMISSION TO ACCESS NETWORK STATE <uses-permission android:name="android.permission.access_network_state"/>

22 Registering for network status change events 10

23 LISTEN TO NETWORK CHANGE EVENT <receiver android:name=".networkstatechangereceiver" android:exported="false"> <intent-filter> <action android:name="android.net.conn.connectivity_change"/> </intent-filter> </receiver> Deprecated for Apps targeting to API 24

24 LISTEN TO NETWORK CHANGE EVENT BELOW API 21 if (belowlollipop()) { ctx.registerreceiver(receiver, new IntentFilter(CONNECTIVITY_ACTION)) } ctx.registerreceiver(receiver, new IntentFilter(WIFI_STATE_CHANGE_ACTION))

25 LISTEN TO NETWORK CHANGE EVENT BELOW API 21 public class NetworkStateChangeReceiver extends BroadcastReceiver public void onreceive(context context, Intent intent) { networkstatemanager.refresh(); } }

26 LISTEN TO NETWORK CHANGE EVENT FOR API 21 & ABOVE NetworkCallback networkcallback = new NetworkCallback() public void onavailable(network network) { networkstatemanager.refresh(); public void onlost(network network) { networkstatemanager.refresh(); } }; cm.registernetworkcallback(networkrequest, networkcallback);

27 Managing network state 10

28 NETWORK STATE MANAGER networkstatemanager.refresh(); public void refresh() { updatenetworkstate(); broadcastnetworkchangeintent(); }

29 Network state identifier 10

30 NETWORK CONNECTIVITY IDENTIFIER NetworkInfo networkinfo = cm.getactivenetworkinfo(); networkinfo.isconnected();

31 NETWORK FACTORS

32 NETWORK FACTORS WiFi Mobile Data Low Connectivity Flight Mode B A T T E R Y Power Save Mode Roaming Roaming

33 POTENTIAL ISSUES

34 ARE YOU REALLY OFFLINE?

35 AND

36 But Why?? 10

37 WATCH OUT! App NetworkConnectivityIdentifier NetworkCallback

38 Lets take a look at some of the common mistakes while using Android Network APIs 10

39 NETWORK CONNECTIVITY IDENTIFIER public boolean isconnectedtointernet() { NetworkInfo networkinfo = cm.getactivenetworkinfo(); return networkinfo.isconnected(); } NullPointerException!!

40 NETWORK CONNECTIVITY IDENTIFIER public boolean isconnectedtointernet() { NetworkInfo networkinfo = cm.getactivenetworkinfo(); return networkinfo!= null && networkinfo.isconnected(); } What about multiple networks!!

41 NETWORK CONNECTIVITY IDENTIFIER public boolean isconnectedtointernet() { Network[] allnetworks = cm.getallnetworks(); for (Network network : allnetworks) { NetworkInfo networkinfo = cm.getnetworkinfo(network); if (networkinfo!= null) { return networkinfo.isconnected(); } } return false; } What about unwanted networks!!

42 NETWORK CONNECTIVITY IDENTIFIER private boolean iswifiormobile(networkinfo networkinfo) { List<Integer> networks = aslist(type_mobile, TYPE_WIFI); return networks.contains(networkinfo.gettype()); }

43 WHAT DID WE DO Added null check for NetworkInfo Handled multiple networks Filtered WIFI and Mobile Data networks only

44 BE CAREFUL WITH NETWORK CALLBACK NetworkCallback networkcallback = new NetworkCallback() public void onavailable(network network) { networkstatemanager.setconnectedtointernet(true); public void onlost(network network) { networkstatemanager.setconnectedtointernet(false); } }; cm.registernetworkcallback(networkrequest, networkcallback);

45 BE CAREFUL WITH NETWORK CALLBACK NetworkCallback networkcallback = new NetworkCallback() public void onavailable(network network) { networkstatemanager.refresh(); public void onlost(network network) { networkstatemanager.refresh(); } }; cm.registernetworkcallback(networkrequest, networkcallback); Is it good enough??

46 BE CAREFUL WITH NETWORK CALLBACK NetworkCallback networkcallback = new NetworkCallback() public void onavailable(network network) { networkstatemanager.refresh(); public void oncapabilitieschanged(network n, NetworkCapabilities nc) { networkstatemanager.refresh(); public void onlost(network network) { networkstatemanager.refresh(); } }; cm.registernetworkcallback(networkrequest, networkcallback);

47 HAVE WE SOLVED ALL THE PROBLEMS? Power Save Mode Handling on different devices Other random connectivity issues

48 HANDLING ISSUES

49 UNDERSTANDING THE USER BEHAVIOUR

50 INCREASE TRIGGER POINTS

51 GIVE THE USER CHANCE TO GET OUT OF OFFLINE MODE Activity s onresume() Fragment s onresume() Network Call? User Action

52 TESTING

53 TESTING PYRAMID

54 UNIT TESTING Network state management logic Broadcasting network change event to the app Showing offline UI components

55 INSTRUMENTATION TESTING Showing offline UI components on broadcast of network change event Content of UI components Interactions with offline components

56 AUTOMATION TESTING

57 TESTING USER JOURNEYS When user goes online to offline When user comes back online Interactions with offline components

58 USING ADB TO GO OFFLINE

59 MANUAL TESTING

60 WHY MANUAL TESTING? Low connectivity scenarios Combination of multiple networks Fluctuating network conditions

61 TESTING IN LIFTS

62 TESTING WHILE TRAVELLING

63 WRAP UP! Build something that is useful to the user Be careful while using android network API Always read the documentation of network APIs Understand user behaviour Manual testing Test with combination of mobile data and wifi Use automation testing to test offline UI components

64 THANK YOU Questions?

Analyzing Wi Fi P2P in the context of a hangman game 1

Analyzing Wi Fi P2P in the context of a hangman game 1 Analyzing Wi Fi P2P in the context of a hangman game 1 1. Introduction and Findings 2 3 Wi Fi P2P, which complies with the Wi Fi Alliance's Wi Fi Direct certification program, is a relatively new addition

More information

Services. service: A background task used by an app.

Services. service: A background task used by an app. CS 193A Services This document is copyright (C) Marty Stepp and Stanford Computer Science. Licensed under Creative Commons Attribution 2.5 License. All rights reserved. Services service: A background task

More information

10/27/17. Network Connec1on. Outline. Connect to the Internet. Connect to the Internet. Perform Network Operations. Perform Network Operations

10/27/17. Network Connec1on. Outline. Connect to the Internet. Connect to the Internet. Perform Network Operations. Perform Network Operations Connecting to the Internet Outline Network Connec1on CS443 Mobile Applica1ons Instructor: Bo Sheng Perform network operations Manage network usage Parsing data 1 2 Connect to the Internet Permissions in

More information

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie)! Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

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

Spring Lecture 5 Lecturer: Omid Jafarinezhad

Spring Lecture 5 Lecturer: Omid Jafarinezhad Mobile Programming Sharif University of Technology Spring 2016 - Lecture 5 Lecturer: Omid Jafarinezhad Storage Options Android provides several options for you to save persistent application data. The

More information

Mobile Development Lecture 9: Android & RESTFUL Services

Mobile Development Lecture 9: Android & RESTFUL Services Mobile Development Lecture 9: Android & RESTFUL Services Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Elgayyar.weebly.com What is a RESTFUL Web Service REST stands for REpresentational State Transfer. In

More information

Communicating with a Server

Communicating with a Server Communicating with a Server Client and Server Most mobile applications are no longer stand-alone Many of them now have a Cloud backend The Cloud Client-server communication Server Backend Database HTTP

More information

Mobile and Ubiquitous Computing: Android Programming (part 4)

Mobile and Ubiquitous Computing: Android Programming (part 4) Mobile and Ubiquitous Computing: Android Programming (part 4) Master studies, Winter 2015/2016 Dr Veljko Pejović Veljko.Pejovic@fri.uni-lj.si Examples from: Mobile and Ubiquitous Computing Jo Vermeulen,

More information

Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Activity Logging Lecture 16

Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Activity Logging Lecture 16 Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Activity Logging Lecture 16 Hello, last two classes we learned about activity life cycles and the call back

More information

App Development for Smart Devices. Lec #17: Networking II

App Development for Smart Devices. Lec #17: Networking II App Development for Smart Devices CS 495/595 - Fall 2011 Lec #17: Networking II Tamer Nadeem Dept. of Computer Science Objective Bluetooth Network Connectivity and WiFi Presentation - Mobile Crowdsensing:

More information

Lifecycle-Aware Components Live Data ViewModel Room Library

Lifecycle-Aware Components Live Data ViewModel Room Library Lifecycle-Aware Components Live Data ViewModel Room Library Multiple entry points launched individually Components started in many different orders Android kills components on reconfiguration / low memory

More information

Basic UI elements: Defining Activity UI in the code. Marco Ronchetti Università degli Studi di Trento

Basic UI elements: Defining Activity UI in the code. Marco Ronchetti Università degli Studi di Trento 1 Basic UI elements: Defining Activity UI in the code Marco Ronchetti Università degli Studi di Trento UI Programmatically public class UIThroughCode extends Activity { LinearLayout llayout; TextView tview;

More information

The Internet. CS 2046 Mobile Application Development Fall Jeff Davidson CS 2046

The Internet. CS 2046 Mobile Application Development Fall Jeff Davidson CS 2046 The Internet CS 2046 Mobile Application Development Fall 2010 Announcements HW2 due Monday, 11/8, at 11:59pm If you want to know what it means to root your phone, or what this does, see Newsgroup HW1 grades

More information

BITalino Java Application Programming Interface. Documentation Android API

BITalino Java Application Programming Interface. Documentation Android API BITalino Java Application Programming Interface Documentation Android API Contents Contents...2 1. General Information...3 2. Introduction...4 3. Main Objects...5 3.1.Class BITalinoDescription...5 3.2.Class

More information

Android Programmierung leichtgemacht. Lars Vogel

Android Programmierung leichtgemacht. Lars Vogel Android Programmierung leichtgemacht Lars Vogel Twitter: @vogella Lars Vogel Arbeitet als unabhängiger Eclipse und Android Berater und Trainer Arbeit zusätzlichen für SAP AG als Product Owner in einem

More information

CS378 -Mobile Computing. Services and Broadcast Receivers

CS378 -Mobile Computing. Services and Broadcast Receivers CS378 -Mobile Computing Services and Broadcast Receivers Services One of the four primary application components: activities content providers services broadcast receivers 2 Services Application component

More information

Understanding Application

Understanding Application Introduction to Android Application Development, Android Essentials, Fifth Edition Chapter 4 Understanding Application Components Chapter 4 Overview Master important terminology Learn what the application

More information

Message Passing & APIs

Message Passing & APIs CS 160 User Interface Design Message Passing & APIs Section 05 // September 25th, 2015 Tricia Fu // OH Monday 9:30-10:30am // triciasfu@berkeley.edu Agenda 1 Administrivia 2 Brainstorm Discussion 3 Message

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 3 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 2 - recap Views and Layouts Events Basic application components Activities Intents 9/15/2014

More information

Accessing Cellular Network Efficiently Without the Battery Drain. Lee, Chang Hwan, SK Telecom lipisoft at gmail dot com Kandroid: Lipi(리피)

Accessing Cellular Network Efficiently Without the Battery Drain. Lee, Chang Hwan, SK Telecom lipisoft at gmail dot com Kandroid: Lipi(리피) Accessing Cellular Network Efficiently Without the Battery Drain Lee, Chang Hwan, SK Telecom lipisoft at gmail dot com Kandroid: Lipi(리피) Contents Wired vs Cellular Cellular Network LTE Protocol Stack

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

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

Intents & Intent Filters. codeandroid.org

Intents & Intent Filters. codeandroid.org Intents & Intent Filters codeandroid.org Intents & Intents Filter Intents : request for an action to be performed (usually on a set of data) Intent Filters : register Activities, Services, and Broadcast

More information

Android User Interface

Android User Interface Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 20. Oktober 2014 Outline 1 Android User Interface 2 Multi-Language Support 3 Summary Matthias Keil Android

More information

Lifecycle Callbacks and Intents

Lifecycle Callbacks and Intents SE 435: Development in the Android Environment Recitations 2 3 Semester 1 5779 4 Dec - 11 Dec 2018 Lifecycle Callbacks and Intents In this recitation we ll prepare a mockup tool which demonstrates the

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 3 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 2 -recap Views and Layouts Events Basic application components Activities Intents BroadcastReceivers

More information

The Basis of Data. Steven R. Bagley

The Basis of Data. Steven R. Bagley The Basis of Data Steven R. Bagley So far How to create a UI View defined in XML Java-based Activity as the Controller Services Long running processes Intents used to send messages between things asynchronously

More information

Termite WiFi Direct API

Termite WiFi Direct API Termite WiFi Direct API Developers Guide 2014/15 Nuno Santos 1. Objectives This document provides a brief description of the Termite WiFi Direct API. 2. Termite API Guide In order for an application to

More information

Android permissions Defining and using permissions Component permissions and related APIs

Android permissions Defining and using permissions Component permissions and related APIs Android permissions Defining and using permissions Component permissions and related APIs Permissions protects resources and data For instance, they limit access to: User information e.g, Contacts Cost-sensitive

More information

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Lecture 3: Android Life Cycle and Permission Entire Lifetime An activity begins its lifecycle when entering the oncreate() state If not interrupted

More information

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

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

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

Running Effective Projects In Office 365. June 1, 2017

Running Effective Projects In Office 365. June 1, 2017 Running Effective Projects In Office 365 June 1, 2017 Peter Carson President, Envision IT SharePoint MVP Partner Seller, Microsoft Canada peter.carson@extranetusermanager.com http://blog.petercarson.ca

More information

CQ Beacon Android SDK V2.0.1

CQ Beacon Android SDK V2.0.1 Copyright 2014 ConnectQuest, LLC 1 CQ Beacon Android SDK V2.0.1 Software Requirements: Android 4.3 or greater SDK Support Page: http://www.connectquest.com/app- developers/android- api/ The CQ SDK package

More information

INTRODUCTION TO ANDROID

INTRODUCTION TO ANDROID INTRODUCTION TO ANDROID 1 Niv Voskoboynik Ben-Gurion University Electrical and Computer Engineering Advanced computer lab 2015 2 Contents Introduction Prior learning Download and install Thread Android

More information

Android Best Practices

Android Best Practices Android Best Practices Agenda Introduction The clean architecture Testing Support library Libraries we can depend on What's next Introduction Introduction Android Studio Gradle Material Design Lollipop

More information

Application Fundamentals

Application Fundamentals Application Fundamentals CS 2046 Mobile Application Development Fall 2010 Announcements CMS is up If you did not get an email regarding this, see me after class or send me an email. Still working on room

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

register/unregister for Intent to be activated if device is within a specific distance of of given lat/long

register/unregister for Intent to be activated if device is within a specific distance of of given lat/long stolen from: http://developer.android.com/guide/topics/sensors/index.html Locations and Maps Build using android.location package and google maps libraries Main component to talk to is LocationManager

More information

Mobile Speech Recognizer

Mobile Speech Recognizer Mobile Speech Recognizer by Piotr Zmudzinski ptr.zmudzinski@gmail.com!1 About Wouldn't your prefer to let your users speak instead of making them type? This plugin uses OS components for speech recognition

More information

Kotlin for Android Developers

Kotlin for Android Developers Kotlin for Android Developers Learn Kotlin the easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published

More information

Kotlin for Android Developers

Kotlin for Android Developers Kotlin for Android Developers Learn Kotlin the easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published

More information

Getting Started ArcGIS Runtime SDK for Android. Andy

Getting Started ArcGIS Runtime SDK for Android. Andy Getting Started ArcGIS Runtime SDK for Android Andy Gup @agup Agenda Introduction Runtime SDK - Tools and features Maps & Layers Tasks Editing GPS Offline Capabilities Summary My contact info Andy Gup,

More information

Android 6.0 Runtime Permissions And You!

Android 6.0 Runtime Permissions And You! droidcon NYC 2015 Android 6.0 Runtime Permissions And You! (a code lab) droidcon NYC 2015 Android 6.0 Runtime Permissions And You! (a code review) Runtime Permissions in

More information

Distributed Systems 2011 Assignment 1

Distributed Systems 2011 Assignment 1 Distributed Systems 2011 Assignment 1 Gábor Sörös gabor.soros@inf.ethz.ch The Exercise Objectives Get familiar with Android programming Emulator, debugging, deployment Learn to use UI elements and to design

More information

Software Engineering Large Practical: Accessing remote data and XML parsing. Stephen Gilmore School of Informatics October 8, 2017

Software Engineering Large Practical: Accessing remote data and XML parsing. Stephen Gilmore School of Informatics October 8, 2017 Software Engineering Large Practical: Accessing remote data and XML parsing Stephen Gilmore School of Informatics October 8, 2017 Contents 1. Android system permissions 2. Getting a network connection

More information

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Lecture 3: Android Life Cycle and Permission Android Lifecycle An activity begins its lifecycle when entering the oncreate() state If not

More information

Services. Background operating component without a visual interface Running in the background indefinitely

Services. Background operating component without a visual interface Running in the background indefinitely Services Background operating component without a visual interface Running in the background indefinitely Differently from Activity, Service in Android runs in background, they don t have an interface

More information

Welcome to Developing for Edge 04/06/2017

Welcome to Developing for Edge 04/06/2017 Welcome to Developing for Edge 04/06/2017 A few housekeeping items: If you have any questions for the presenters, please post them in the Q&A box and we will answer them at the end of the presentation.

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

Understand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml

Understand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml Understand applications and their components activity service broadcast receiver content provider intent AndroidManifest.xml Android Application Written in Java (it s possible to write native code) Good

More information

32. And this is an example on how to retrieve the messages received through NFC.

32. And this is an example on how to retrieve the messages received through NFC. 4. In Android applications the User Interface (UI) thread is the main thread. This thread is very important because it is responsible with displaying/drawing and updating UI elements and handling/dispatching

More information

Android User Interface Android Smartphone Programming. Outline University of Freiburg

Android User Interface Android Smartphone Programming. Outline University of Freiburg Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 20. Oktober 2014 Outline 1 2 Multi-Language Support 3 Summary Matthias Keil 20. Oktober 2014 2 / 19 From

More information

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012 ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012 AGENDA Android v. ios Design Paradigms Setup Application Framework Demo Libraries Distribution ANDROID V. IOS Android $25 one-time

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

Overview. Android Apps (Partner s App) Other Partner s App Platform. Samsung Health. Server SDK. Samsung Health. Samsung Health Server

Overview. Android Apps (Partner s App) Other Partner s App Platform. Samsung Health. Server SDK. Samsung Health. Samsung Health Server W E L C O M E T O Overview Android Apps (Partner s App) Data Service Health Android SDK Android API Samsung Health Samsung Health Server SDK Data REST API Oauth2 Other Partner s App Platform REST API

More information

CS378 -Mobile Computing. What's Next?

CS378 -Mobile Computing. What's Next? CS378 -Mobile Computing What's Next? Fragments Added in Android 3.0, a release aimed at tablets A fragment is a portion of the UI in an Activity multiple fragments can be combined into multi-paned UI fragments

More information

Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Andriod Development Lecture 09

Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Andriod Development Lecture 09 Mobile Computing Professor Pushpedra Singh Indraprasth Institute of Information Technology Delhi Andriod Development Lecture 09 Hello, today we will create another application called a math quiz. This

More information

ANDROID MOCK TEST ANDROID MOCK TEST IV

ANDROID MOCK TEST ANDROID MOCK TEST IV http://www.tutorialspoint.com ANDROID MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Android. You can download these sample mock tests at your local

More information

Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series. Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series

Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series. Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series Table of Contents 1 SDK Introduction... 5 2 Yealink Android Phone Debugging Preparation... 5 2.1 Enabling the ADB Feature... 5 2.2

More information

Coding for Life--Battery Life, That Is

Coding for Life--Battery Life, That Is Coding for Life--Battery Life, That Is Jeff Sharkey May 27, 2009 Post your questions for this talk on Google Moderator: code.google.com/events/io/questions Why does this matter? Phones primarily run on

More information

Mobile Application Development Integration HTTP Android Client (Retrofit)

Mobile Application Development Integration HTTP Android Client (Retrofit) Mobile Application Development Integration HTTP Android Client (Retrofit) Waterford Institute of Technology November 1, 2016 John Fitzgerald Waterford Institute of Technology, Mobile Application Development

More information

Lab 5 Periodic Task Scheduling

Lab 5 Periodic Task Scheduling Lab 5 Periodic Task Scheduling Scheduling a periodic task in Android is difficult as it goes against the philosophy of keeping an application active only while the user is interacting with it. You are

More information

External Services. CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Champion

External Services. CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Champion External Services CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Champion 1 External Services Viewing websites Location- and map-based functionality

More information

Google Maps Troubleshooting

Google Maps Troubleshooting Google Maps Troubleshooting Before you go through the troubleshooting guide below, make sure that you ve consulted the class FAQ, Google s Map Activity Tutorial, as well as these helpful resources from

More information

ANDROID SERVICES, BROADCAST RECEIVER, APPLICATION RESOURCES AND PROCESS

ANDROID SERVICES, BROADCAST RECEIVER, APPLICATION RESOURCES AND PROCESS ANDROID SERVICES, BROADCAST RECEIVER, APPLICATION RESOURCES AND PROCESS 1 Instructor: Mazhar Hussain Services A Service is an application component that can perform long-running operations in the background

More information

Android Connectivity & Google APIs

Android Connectivity & Google APIs Android Connectivity & Google APIs Lecture 5 Operating Systems Practical 2 November 2016 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license,

More information

Android framework. How to use it and extend it

Android framework. How to use it and extend it Android framework How to use it and extend it Android has got in the past three years an explosive growth: it has reached in Q1 2011 the goal of 100M of Activations world wide with a number of daily activations

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

Building Applications with ArcGIS Runtime SDK for Android Part II. Will Crick Dan O Neill

Building Applications with ArcGIS Runtime SDK for Android Part II. Will Crick Dan O Neill Building Applications with ArcGIS Runtime SDK for Android Part II Will Crick Dan O Neill Agenda Intro Connected editing summary Offline capabilities - Local features - Geometry Engine Platform integration

More information

MiCloud Office. Android guide. Copyright Mitel Communications AB

MiCloud Office. Android guide. Copyright Mitel Communications AB Table of Contents MiCloud Office Android guide Copyright 2009-2015 Mitel Communications AB 1. MiCloud Office Overview... 1 1.1. Supported Phones... 1 2. To get started with MiCloud Office... 2 3. Starting

More information

Security Philosophy. Humans have difficulty understanding risk

Security Philosophy. Humans have difficulty understanding risk Android Security Security Philosophy Humans have difficulty understanding risk Safer to assume that Most developers do not understand security Most users do not understand security Security philosophy

More information

Safety First - Android sicher programmieren! Benjamin Reimold & Stephan Linzner

Safety First - Android sicher programmieren! Benjamin Reimold & Stephan Linzner 2011 Safety First - Android sicher programmieren! Benjamin Reimold & Stephan Linzner 7th July, 2011 Introducing Stephan Linzner Benjamin Reimold Freelance Software Engineer Mobile Developer Founder of

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 3 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 2 - recap Views and Layouts Events Basic application components Activities Intents 9/22/2017

More information

HCA Tech Note 120. Configuring the Control UI Home Page. Option 1: HCA constructs the home page

HCA Tech Note 120. Configuring the Control UI Home Page. Option 1: HCA constructs the home page Configuring the Control UI Home Page HCA contains two different user interfaces: One interface called the Development UI - where all design elements and tools are available and you can make changes, and

More information

Introduction to Android

Introduction to Android Introduction to Android Ambient intelligence Alberto Monge Roffarello Politecnico di Torino, 2017/2018 Some slides and figures are taken from the Mobile Application Development (MAD) course Disclaimer

More information

Services Broadcast Receivers Permissions

Services Broadcast Receivers Permissions Services Broadcast Receivers Permissions Runs in the background Extends Service Java class Not necessarily connected to the user s visual interface Music player working in foreground User wants read email

More information

Distributed Systems Assignment 1

Distributed Systems Assignment 1 Distributed Systems Assignment 1 Marian.george@inf.ethz.ch Distributed Systems Assignment 1 1 The Exercise Objectives Get familiar with Android programming Emulator, debugging, deployment Learn to use

More information

Lesson Five: Detecting Poses

Lesson Five: Detecting Poses Lesson Five: Detecting Poses PAGE 01 Lesson Five: Detecting Poses Overview Last lesson, we introduced onforegroundwindowchange and how it can be used to detect applications. This lesson will focus on writing

More information

Loca%on Support in Android. COMP 355 (Muppala) Location Services and Maps 1

Loca%on Support in Android. COMP 355 (Muppala) Location Services and Maps 1 Loca%on Support in Android COMP 355 (Muppala) Location Services and Maps 1 Loca%on Services in Android Loca%on capabili%es for applica%ons supported through the classes in android.loca%on package and Google

More information

Agenda. Overview of Xamarin and Xamarin.Android Xamarin.Android fundamentals Creating a detail screen

Agenda. Overview of Xamarin and Xamarin.Android Xamarin.Android fundamentals Creating a detail screen Gill Cleeren Agenda Overview of Xamarin and Xamarin.Android Xamarin.Android fundamentals Creating a detail screen Lists and navigation Navigating from master to detail Optimizing the application Preparing

More information

INTRODUCTION COS MOBILE DEVELOPMENT WHAT IS ANDROID CORE OS. 6-Android Basics.key - February 21, Linux-based.

INTRODUCTION COS MOBILE DEVELOPMENT WHAT IS ANDROID CORE OS. 6-Android Basics.key - February 21, Linux-based. 1 COS 470 - MOBILE DEVELOPMENT INTRODUCTION 2 WHAT IS ANDROID Linux-based Java/Kotlin Android Runtime (ART) System Apps SMS, Calendar, etc. Platform Architecture 3 CORE OS Linux (64 bit) Each app is a

More information

CS371m - Mobile Computing. Persistence

CS371m - Mobile Computing. Persistence CS371m - Mobile Computing Persistence Storing Data Multiple options for storing data associated with apps Shared Preferences Internal Storage device memory External Storage SQLite Database Network Connection

More information

Software Engineering Large Practical: Preferences, storage, and testing

Software Engineering Large Practical: Preferences, storage, and testing Software Engineering Large Practical: Preferences, storage, and testing Stephen Gilmore (Stephen.Gilmore@ed.ac.uk) School of Informatics November 9, 2016 Contents A simple counter activity Preferences

More information

Android Ecosystem and. Revised v4presenter. What s New

Android Ecosystem and. Revised v4presenter. What s New Android Ecosystem and Revised v4presenter What s New Why Mobile? 5B 4B 3B 2B 1B Landlines PCs TVs Bank users Mobiles 225M AOL 180M 135M 90M 45M 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Quarters

More information

Android Security Lab WS 2013/14 Lab 2: Android Permission System

Android Security Lab WS 2013/14 Lab 2: Android Permission System Saarland University Information Security & Cryptography Group Prof. Dr. Michael Backes saarland university computer science Android Security Lab WS 2013/14 M.Sc. Sven Bugiel Version 1.2 (November 12, 2013)

More information

Getting Started With Feature Toggle in Java

Getting Started With Feature Toggle in Java Guide Getting Started With Feature Toggle in Java INTRO Feature toggles (also known as feature flags) are simple. You want to introduce new behavior in a Java application, but you re not ready to turn

More information

Android Fundamentals - Part 1

Android Fundamentals - Part 1 Android Fundamentals - Part 1 Alexander Nelson September 1, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Projects Project 1 due Wednesday, September 13th

More information

The application must track specific user actions / events and communicate them to Responsys through a SOAP service.

The application must track specific user actions / events and communicate them to Responsys through a SOAP service. Responsys Integration Architecture Scope The intention of this section is to present the high level architecture of the integration between the Forever21 websphere commerce application and the external

More information

Android/Java Lightning Tutorial JULY 30, 2018

Android/Java Lightning Tutorial JULY 30, 2018 Android/Java Lightning Tutorial JULY 30, 2018 Java Android uses java as primary language Resource : https://github.mit.edu/6178-2017/lec1 Online Tutorial : https://docs.oracle.com/javase/tutorial/java/nutsandbolts/inde

More information

PILOT FM Radio SDK AUGUST 31, 2016

PILOT FM Radio SDK AUGUST 31, 2016 PILOT FM Radio SDK Android Integration Guide Document version 1.0.3 Applies to: SDK Version 1.0.3 This document is intended to be used in conjunction with the sample app provided. AUGUST 31, 2016 PILOT

More information

Mobile Application Development MyRent Settings

Mobile Application Development MyRent Settings Mobile Application Development MyRent Settings Waterford Institute of Technology October 13, 2016 John Fitzgerald Waterford Institute of Technology, Mobile Application Development MyRent Settings 1/19

More information

Contextual Android Education

Contextual Android Education Contextual Android Education James Reed David S. Janzen Abstract Advances in mobile phone hardware and development platforms have drastically increased the demand, interest, and potential of mobile applications.

More information

Sim Card Alarm for Android Smartphone

Sim Card Alarm for Android Smartphone Sim Card Alarm for Android Smartphone Rikip Ginanjar 1, Ridho Utomo 2 1 President University, Faculty of Computing, Jl. Ki Hajar Dewantara, Cikarang Baru Bekasi 17550 E-mail: rikipginanjar@president.ac.id

More information

SDK Android Studio. 2. build.gradle. SDK moxie-client-xxx.aar libs 2.1. build.gradle. 2.4 repositories. app proguard-rules.pro

SDK Android Studio. 2. build.gradle. SDK moxie-client-xxx.aar libs 2.1. build.gradle. 2.4 repositories. app proguard-rules.pro SDK Android Studio 1. SDK SDK moxie-client-xxx.aar libs 2. build.gradle 2.1 build.gradle dependencies { compile filetree(dir: 'libs', include: ['.jar']) compile 'com.android.support:appcompat-v7:23.1.1'

More information

EMBEDDED SYSTEMS PROGRAMMING Application Basics

EMBEDDED SYSTEMS PROGRAMMING Application Basics EMBEDDED SYSTEMS PROGRAMMING 2015-16 Application Basics APPLICATIONS Application components (e.g., UI elements) are objects instantiated from the platform s frameworks Applications are event driven ( there

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

N different strategies to automate OWASP ZAP

N different strategies to automate OWASP ZAP OWASP BUCHAREST APPSEC CONFERENCE 13 OCTOBER 2017 The OWASP Foundation http://www.owasp.org N different strategies to automate OWASP ZAP The OWASP Zed Attack Proxy Marudhamaran Gunasekaran Zap Contributor

More information