Android Networking and Connec1vity

Size: px
Start display at page:

Download "Android Networking and Connec1vity"

Transcription

1 Android Networking and Connec1vity

2 Android and Networking Smartphones in general and Android in par1cular provide several means of being connected Telephony connec1ons for voice communica1on, the primary use of the smartphone Support for SMS services Connec1vity to networks and Internet through WiFi and UMTS/GPRS Bluetooth connec1vity to devices and peer- to- peer connec1ons among smartphones Let us review each of these connec1vity features briefly COMP 355 (Muppala) Networking 2

3 Android Telephony Basic access to informa1on about the telephony services available on the device is obtained through the TelephonyManager class telmanager = (TelephonyManager) getsystemservice(telephony_service); Use the methods of this class to determine telephony services and states: getdeviceid(), getline1number(), getnetworkoperator() etc. Register listener to receive no1fica1on of telephony state changes using the listen() method telmanager.listen(newtellistener(), PhoneStateListener.LISTEN_CALL_STATE); COMP 355 (Muppala) Networking 3

4 Android SMS Full access to SMS func1onality using the SMSManager class Need to set permission in the Manifest file: <uses- permission android:name= android.permission.send_sms /> Get an instance of the SMS manager: SmsManager mysms = SmsManager.getDefault(); Sending SMS messages String dest = ; // des1na1on tel number String mess = Hello, SMS! // message mysms.sendtextmessage(dest, null, mess, null, null); Can create interes1ng applica1ons to respond to received SMS and auto respond COMP 355 (Muppala) Networking 4

5 Android Connec1vity Android provides the Connec1vityManager class to monitor network connec1vity state, sehng preferred network connec1ons and managing connec1vity failover Get access to the Connec1vityManager by: Connec1vityManager mynetman = (Connec1vityManager) getsystemservice(context.connectivity_service); Set permission in the Manifest file: <uses- permission android:name= android.permission.access_network_state /> Connec1vity Manager provides methods like getnetworkinfo(), getac1venetworkinfo(), and getallnetworkinfo() etc. These methods return the NetworkInfo object Can use methods within this object like isavailable(), isconnected, isconnectedorconnec1ng(), getstate(), etc. COMP 355 (Muppala) Networking 5

6 Android Connec1vity If you are using the network access in your applica1on, it is always a good idea to check if the network connec1vity exists, and take ac1on accordingly Example public boolean isonline() { Connec1vityManager cm = (Connec1vityManager) getsystemservice (Context.CONNECTIVITY_SERVICE); return cm.getac1venetworkinfo().isconnectedorconnec1ng(); COMP 355 (Muppala) Networking 6

7 Android WiFi WiFi connec1vity service provided through the WiFi manager: WifiManager wifi = (WifiManager) getsystemservice(context.wifi_service); Permissions to be set in Manifest file: <uses- permission android:name="android.permission.access_wifi_state"/ > <uses- permission android:name="android.permission.change_wifi_state"/> Enabling WiFi: if (!wifi.iswifienabledf)) if (wifi.getwifistate()!= WifiManager.WIFI_STATE_ENABLING) wifi.setwifienabled(true); WiFi Manager provides means for scanning for hotspots, crea1ng and managing WiFI network configura1ons COMP 355 (Muppala) Networking 7

8 Bluetooth/IEEE Widely used connec1on technology for short- range communica1on (~ m) Advantages: Robust, low complexity, low power consump1on (compared to WiFi), and inexpensive Works in the unlicensed 2.4 GHz band (similar to WiFi) Master- Slave configura1on (piconet) One device acts as the master All other devices connect to the master as slaves (up to 7 ac1ve slaves) Up to 255 parked (inac1ve) devices Master controls access to the communica1on channel through polling S M S P S P M P S Master device Slave device P radius of coverage P Parked device (inactive) COMP 355 (Muppala) Networking 8

9 Support for the Bluetooth network stack Bluetooth APIs allow applica1ons to: Scan for other Bluetooth devices Query the local Bluetooth adapter for paired Bluetooth devices Establish RFCOMM channels Connect to other devices through service discovery Transfer data to and from other devices Manage mul1ple connec1ons Supported through the android.bluetooth package Need to set permissions in Manifest file <uses- permission android:name= android.permission.bluetooth /> <uses- permission android:name= android.permission.bluetooth_admin /> Larer needed if we need to manipulate Bluetooth sehngs or ini1ate device discovery COMP 355 (Muppala) Networking 9

10 Four main classes in the android.bluetooth package BluetoothAdapter: represents the local bluetooth adapter; used to discover and instan1ate devices and create BluetoothServerSocket BluetoothDevice: represents the remote Bluetooth device; use BluetoothSocket to ini1ate connec1on to remote device BluetoothSocket: represents the interface for a Bluetooth socket; connec1on point allowing data exchange with another device BluetoothServerSocket: represents an open server socket to listen for incoming connec1on requests. One device needs to open a server socket for communica1on BluetoothClass: describes the general characteris1cs and capabili1es of a Bluetooth device COMP 355 (Muppala) Networking 10

11 To turn on Bluetooth connec1vity on your device: BluetoothAdapter mbluetoothadapter =BluetoothAdapter.getDefaultAdapter(); if (mbluetoothadapter == null) { // Device does not support Bluetooth Then enable Bluetooth: if (!mbluetoothadapter.isenabled()) { Intent enablebtintent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startac1vityforresult(enablebtintent, REQUEST_ENABLE_BT); COMP 355 (Muppala) Networking 11

12 Finding Bluetooth devices: Use the BluetoothAdapter class Device discovery: scan the local area for Bluetooth enabled devices, use the startdiscovery() method Returns immediately indica1ng whether discovery started successfully Discovery process takes a while: inquiry scan of about 12 sec followed by page scan of each found device Register a BroadcastReceiver for the ACTION_FOUND Intent to receive informa1on about each device discovered COMP 355 (Muppala) Networking 12

13 // Create a BroadcastReceiver for ACTION_FOUND private final BroadcastReceiver mreceiver = new BroadcastReceiver() { public void onreceive(context context, Intent intent) { String ac1on = intent.getac1on(); // When discovery finds a device if (BluetoothDevice.ACTION_FOUND.equals(ac1on)) { // Get the BluetoothDevice object from the Intent BluetoothDevice device = intent.getparcelableextra(bluetoothdevice.extra_device); // Add the name and address to an array adapter to show in a ListView marrayadapter.add(device.getname() + "\n" + device.getaddress()); ; // Register the BroadcastReceiver IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); registerreceiver(mreceiver, filter); // Don't forget to unregister during ondestroy COMP 355 (Muppala) Networking 13

14 Allowing your device to be discovered Intent discoverableintent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); discoverableintent.putextra(bluetoothadapter.extra_discoverable_d URATION, 300); startac1vity(discoverableintent); Required to make your device discoverable if you are hos1ng the server Not needed if you are ini1a1ng a connec1on COMP 355 (Muppala) Networking 14

15 Querying paired devices Set<BluetoothDevice> paireddevices = mbluetoothadapter.getbondeddevices(); // If there are paired devices if (paireddevices.size() > 0) { // Loop through paired devices for (BluetoothDevice device : paireddevices) { // Add the name and address to an array adapter to show in a ListView marrayadapter.add(device.getname() + "\n" + device.getaddress()); COMP 355 (Muppala) Networking 15

16 If you are implemen1ng an applica1on with Bluetooth for communica1on, you have to implement both the server- side and client- side mechanisms Server side opens a listening socket Client side must ini1ate the connec1on to the server Connec1on established if both server and client have a connected BluetoothSocket on the same RFCOMM channel Familiar socket programming approach Client will receive the socket when it opens an RFCOMMchannel to the server Server will receive a socket when an incoming connec1on is accepted Pairing may be ini1ated if the two devices have not been previously paired COMP 355 (Muppala) Networking 16

17 Server side setup: 1. Get a BluetoothServerSocket 2. Start listening for connec1on requests by calling accept() Accept() is a blocking call. Do not do it in the UI thread 3. Call close() if you wish to accept no more addi1onal connec1ons Client side setup: 1. Using the BluetoothDevice, get a BluetoothSocket 2. Ini1ate the connec1on by calling connect() COMP 355 (Muppala) Networking 17

18 private class AcceptThread extends Thread { private final BluetoothServerSocket mmserversocket; public AcceptThread() { // Use a temporary object that is later assigned to mmserversocket, // because mmserversocket is final BluetoothServerSocket tmp = null; try { // MY_UUID is the app's UUID string, also used by the client code tmp = mbluetoothadapter.listenusingrfcommwithservicerecord (NAME, MY_UUID); catch (IOExcep1on e) { mmserversocket = tmp; public void run() { BluetoothSocket socket = null; // Keep listening un1l excep1on occurs or a socket is returned while (true) { try { socket = mmserversocket.accept(); catch (IOExcep1on e) { break; // If a connec1on was accepted if (socket!= null) { // Do work to manage the connec1on (in a separate thread) manageconnectedsocket(socket); mmserversocket.close(); break; /** Will cancel the listening socket, and cause the thread to finish */ public void cancel() { try { mmserversocket.close(); catch (IOExcep1on e) { COMP 355 (Muppala) Networking 18

19 private class ConnectThread extends Thread { private final BluetoothSocket mmsocket; private final BluetoothDevice mmdevice; public ConnectThread(BluetoothDevice device) { // Use a temporary object that is later assigned to mmsocket, // because mmsocket is final BluetoothSocket tmp = null; mmdevice = device; // Get a BluetoothSocket to connect with the given BluetoothDevice try { // MY_UUID is the app's UUID string, also used by the server code tmp = device.createrfcommsockettoservicerecord(my_uuid); catch (IOExcep1on e) { mmsocket = tmp; public void run() { // Cancel discovery because it will slow down the connec1on mbluetoothadapter.canceldiscovery(); try { // Connect the device through the socket. This will block // un1l it succeeds or throws an excep1on mmsocket.connect(); catch (IOExcep1on connectexcep1on) { // Unable to connect; close the socket and get out try { mmsocket.close(); catch (IOExcep1on closeexcep1on) { return; // Do work to manage the connec1on (in a separate thread) manageconnectedsocket(mmsocket); /** Will cancel an in- progress connec1on, and close the socket */ public void cancel() { try { mmsocket.close(); catch (IOExcep1on e) { COMP 355 (Muppala) Networking 19

20 Once connec1on established: 1. Get the InputStream and OutputStream that handle transmissions through the soclet, via getinputstream() and getoutputstream() 2. Read and write data to the streams with read(byte[]) and write(byte[]) COMP 355 (Muppala) Networking 20

21 private class ConnectedThread extends Thread { private final BluetoothSocket mmsocket; private final InputStream mminstream; private final OutputStream mmoutstream; public ConnectedThread(BluetoothSocket socket) { mmsocket = socket; InputStream tmpin = null; OutputStream tmpout = null; // Get the input and output streams, using temp objects because // member streams are final try { tmpin = socket.getinputstream(); tmpout = socket.getoutputstream(); catch (IOExcep1on e) { mminstream = tmpin; mmoutstream = tmpout; public void run() { byte[] buffer = new byte[1024]; // buffer store for the stream int bytes; // bytes returned from read() // Keep listening to the InputStream un1l an excep1on occurs while (true) { try { // Read from the InputStream bytes = mminstream.read(buffer); // Send the obtained bytes to the UI Ac1vity mhandler.obtainmessage(message_read, bytes, - 1, buffer).sendtotarget(); catch (IOExcep1on e) { break; /* Call this from the main Ac1vity to send data to the remote device */ public void write(byte[] bytes) { try { mmoutstream.write(bytes); catch (IOExcep1on e) { /* Call this from the main Ac1vity to shutdown the connec1on */ public void cancel() { try { mmsocket.close(); catch (IOExcep1on e) { COMP 355 (Muppala) Networking 21

22 Android and HTTP Android has Apache HTTP components library built into the framework HrpClient component enables handling of HTTP requests on your behalf, issuing HTTP requests and dealing with the response You can layer a SOAP/XML- RPC layer atop this library or use it "straight" for accessing REST- style web services Android also includes three parsers for XML and a parser for JSON the tradi1onal W3C DOM parser (org.w3c.dom), a SAX parser (org.xml.sax), and the XML pull parser JSON parser (org.json) Also consider the use of third- party libraries to deal with specific formats like RSS/Atom parser COMP 355 (Muppala) Networking 22

23 Android and HTTP Simple usage example of HTTPGet(): HrpClient client = new DefaultHrpClient(); HrpGet request = new HrpGet(); request.seturi(new URI("hrp:// HrpResponse response = client.execute(request); in = new BufferedReader (new InputStreamReader(response.getEn1ty().getContent())); COMP 355 (Muppala) Networking 23

24 Android and HTTP Simple usage of HTTP Post: HrpClient hrpclient = new DefaultHrpClient(); HrpPost hrppost = new HrpPost(url); if (kvpairs!= null && kvpairs.isempty() == false) { List<NameValuePair> namevaluepairs = new ArrayList<NameValuePair>(kvPairs.size()); String k, v; Iterator<String> itkeys = kvpairs.keyset().iterator(); while (itkeys.hasnext()) { k = itkeys.next(); v = kvpairs.get(k); namevaluepairs.add(new BasicNameValuePair(k, v)); hrppost.seten1ty(new UrlEncodedFormEn1ty(nameValuePairs)); HrpResponse response; response = hrpclient.execute(hrppost); COMP 355 (Muppala) Networking 24

Bluetooth. Mobila applikationer och trådlösa nät HI /3/2013. Lecturer: Anders Lindström,

Bluetooth. Mobila applikationer och trådlösa nät HI /3/2013. Lecturer: Anders Lindström, Mobila applikationer och trådlösa nät HI1033 Lecturer: Anders Lindström, anders.lindstrom@sth.kth.se Lecture 7 Today s topics Bluetooth NFC Bluetooth 1 Bluetooth Wireless technology standard for exchanging

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

CS434/534: Topics in Networked (Networking) Systems

CS434/534: Topics in Networked (Networking) Systems CS434/534: Topics in Networked (Networking) Systems Mobile Networking System: Making Connections: Bluetooth; WiFi Direct; Cellular Yang (Richard) Yang Computer Science Department Yale University 208A Watson

More information

Mobile Application (Design and) Development

Mobile Application (Design and) Development Mobile Application (Design and) Development 20 th class Prof. Stephen Intille s.intille@neu.edu Northeastern University 1 Today Q&A A bit on Bluetooth 3 presentations Northeastern University 2 Things you

More information

App Development for Smart Devices. Lec #16: Networking

App Development for Smart Devices. Lec #16: Networking App Development for Smart Devices CS 495/595 - Fall 2011 Lec #16: Networking Tamer Nadeem Dept. of Computer Science Objective Bluetooth Managing Bluetooth Properties Device Discovery Bluetooth Communication

More information

INTERFACING A SENSORY MICROCONTROLLER WITH AN ANDROID SMARTPHONE

INTERFACING A SENSORY MICROCONTROLLER WITH AN ANDROID SMARTPHONE INTERFACING A SENSORY MICROCONTROLLER WITH AN ANDROID SMARTPHONE AN INDUSTRIAL INTERNSHIP REPORT submitted by SHUBHAM SAINI (10BCE1097) in partial fulfillment for the award of the degree of BACHELOR OF

More information

Object-Oriented Databases Object-Relational Mappings and Frameworks. Alexandre de Spindler Department of Computer Science

Object-Oriented Databases Object-Relational Mappings and Frameworks. Alexandre de Spindler Department of Computer Science Object-Oriented Databases Object-Relational Mappings and Frameworks Challenges Development of software that runs on smart phones. Data needs to outlive program execution Use of sensors Integration with

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

MMI 2: Mobile Human- Computer Interaction Mobile Communication

MMI 2: Mobile Human- Computer Interaction Mobile Communication MMI 2: Mobile Human- Computer Interaction Mobile Communication Prof. Dr. Michael Rohs michael.rohs@ifi.lmu.de Mobile Interaction Lab, LMU München Lectures # Date Topic 1 19.10.2011 Introduction to Mobile

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

private static String TAG = BluetoothUtils.class.getSimpleName();

private static String TAG = BluetoothUtils.class.getSimpleName(); import android.bluetooth.bluetoothadapter; import android.bluetooth.bluetoothdevice; import android.bluetooth.bluetoothsocket; import android.content.context; import android.content.intent; import android.util.log;

More information

M.C.A. Semester V Subject: - Mobile Computing (650003) Week : 2

M.C.A. Semester V Subject: - Mobile Computing (650003) Week : 2 M.C.A. Semester V Subject: - Mobile Computing (650003) Week : 2 1) What is Intent? How it is useful for transitioning between various activities? How intents can be received & broadcasted. (Unit :-2, Chapter

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

Basics. Once socket is configured, applica6ons. Socket is an interface between applica6on and network

Basics. Once socket is configured, applica6ons. Socket is an interface between applica6on and network Socket Programming Basics Socket is an interface between applica6on and network Applica6on creates a socket Socket type dictates the style of communica6on Once socket is configured, applica6ons Pass data

More information

Socket 101 Excerpt from Network Programming

Socket 101 Excerpt from Network Programming Socket 101 Excerpt from Network Programming EDA095 Nätverksprogrammering Originals by Roger Henriksson Computer Science Lund University Java I/O Streams Stream (swe. Ström) - A stream is a sequential ordering

More information

Energy Efficient Mobile Compu4ng Building low power sensing devices with Bluetooth low energy. Simo Veikkolainen Nokia May 2014

Energy Efficient Mobile Compu4ng Building low power sensing devices with Bluetooth low energy. Simo Veikkolainen Nokia May 2014 Energy Efficient Mobile Compu4ng Building low power sensing devices with Bluetooth low energy Simo Veikkolainen Nokia May 2014 Bluetooth low energy Short range radio technology and protocol suite designed

More information

Android Tasks and Back Stack

Android Tasks and Back Stack Android Tasks and Back Stack Applica2ons, Ac2vi2es and Tasks Task Main ac2vity Mail composer contacts menu welcome Mail Course Info Back stack Applica2on/Process COMP 4521 (Muppala) Android Tasks and Back

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

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

// MainActivity.java ; Noah Spenser; Senior Design; Diabetic Breathalyzer

// MainActivity.java ; Noah Spenser; Senior Design; Diabetic Breathalyzer // MainActivity.java ; Noah Spenser; Senior Design; Diabetic Breathalyzer package com.noahspenser.seniordesign; import android.os.parcel; import android.os.parcelable; import android.support.v7.app.appcompatactivity;

More information

Permissions. Lecture 18

Permissions. Lecture 18 Permissions Lecture 18 Topics related Android permissions Defining & using applica:on permissions Component permissions Permissions Android protects resources & data with permissions Example: who has the

More information

Covers Android 2 IN ACTION SECOND EDITION. W. Frank Ableson Robi Sen Chris King MANNING

Covers Android 2 IN ACTION SECOND EDITION. W. Frank Ableson Robi Sen Chris King MANNING Covers Android 2 IN ACTION SECOND EDITION W. Frank Ableson Robi Sen Chris King MANNING Android in Action Second Edition by W. Frank Ableson, Robi Sen, Chris King Chapter 14 Copyright 2011 Manning Publications

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

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

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

UNIX Sockets. COS 461 Precept 1

UNIX Sockets. COS 461 Precept 1 UNIX Sockets COS 461 Precept 1 Socket and Process Communica;on application layer User Process Socket transport layer (TCP/UDP) OS network stack network layer (IP) link layer (e.g. ethernet) Internet Internet

More information

SMARTPHONE-CONTROLLED TOY BOAT

SMARTPHONE-CONTROLLED TOY BOAT SMARTPHONE-CONTROLLED TOY BOAT By Jungho Yi Yunyoung Roh Final Report for ECE 445, Senior Design, Fall 2017 TA: Channing P. Philbrick 13 December 2017 Project No. 20 Abstract In this project, our team

More information

Bluetooth: Short-range Wireless Communication

Bluetooth: Short-range Wireless Communication Bluetooth: Short-range Wireless Communication Wide variety of handheld devices Smartphone, palmtop, laptop Need compatible data communication interface Complicated cable/config. problem Short range wireless

More information

Android App Development

Android App Development Android App Development Course Contents: Android app development Course Benefit: You will learn how to Use Advance Features of Android with LIVE PROJECTS Original Fees: 15000 per student. Corporate Discount

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

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

Android OA Android Application Engineer(R) Certifications Basic.

Android OA Android Application Engineer(R) Certifications Basic. Android OA0-002 Android Application Engineer(R) Certifications Basic http://killexams.com/exam-detail/oa0-002 Answer: A QUESTION: 130 Which of these is the incorrect explanation of the Android SDK's Hierarchy

More information

Mul$media Techniques in Android. Some of the informa$on in this sec$on is adapted from WiseAndroid.com

Mul$media Techniques in Android. Some of the informa$on in this sec$on is adapted from WiseAndroid.com Mul$media Techniques in Android Some of the informa$on in this sec$on is adapted from WiseAndroid.com Mul$media Support Android provides comprehensive mul$media func$onality: Audio: all standard formats

More information

Managing network connectivity

Managing network connectivity Managing network connectivity 0 Android broadcasts Intents that describe the changes in network connectivity 0 3G, WiFi, etc. 0 There are APIs for controlling network settings and connections 0 Android

More information

DASH7 Alliance Protocol

DASH7 Alliance Protocol DASH7 Alliance Protocol D7A Meeting Paris June 16 th, 2014 Yordan Tabakov PAG Chair yordan@wizzilab.com ORIGINES The DASH7 Alliance Protocol originates from ISO/IEC 18000-7 ISO/IEC 18000 is an interna@onal

More information

Internet Technology 2/7/2013

Internet Technology 2/7/2013 Sample Client-Server Program Internet Technology 02r. Programming with Sockets Paul Krzyzanowski Rutgers University Spring 2013 To illustrate programming with TCP/IP sockets, we ll write a small client-server

More information

10/7/15. MediaItem tostring Method. Objec,ves. Using booleans in if statements. Review. Javadoc Guidelines

10/7/15. MediaItem tostring Method. Objec,ves. Using booleans in if statements. Review. Javadoc Guidelines Objec,ves Excep,ons Ø Wrap up Files Streams MediaItem tostring Method public String tostring() { String classname = getclass().tostring(); StringBuilder rep = new StringBuilder(classname); return rep.tostring();

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

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

Lecture 17 Java Remote Method Invoca/on

Lecture 17 Java Remote Method Invoca/on CMSC 433 Fall 2014 Sec/on 0101 Mike Hicks (slides due to Rance Cleaveland) Lecture 17 Java Remote Method Invoca/on 11/4/2014 2012-14 University of Maryland 0 Recall Concurrency Several opera/ons may be

More information

SunmiPrinter Developer documentation

SunmiPrinter Developer documentation SunmiPrinter Developer documentation 目录 Introduction... - 2-1 Connect to PrinterService... - 3-1.1 AIDL... - 3-1.2 Virtual Bluetooth... - 12-1.3 JS in HTML... - 15-2 State feedback... - 17-2.1 Print status

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

Android Overview. Most of the material in this sec5on comes from h6p://developer.android.com/guide/

Android Overview. Most of the material in this sec5on comes from h6p://developer.android.com/guide/ Android Overview Most of the material in this sec5on comes from h6p://developer.android.com/guide/ Android Overview A so=ware stack for mobile devices Developed and managed by Open Handset Alliance Open-

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

Libraries are wri4en in C/C++ and compiled for the par>cular hardware.

Libraries are wri4en in C/C++ and compiled for the par>cular hardware. marakana.com 1 marakana.com 2 marakana.com 3 marakana.com 4 Libraries are wri4en in C/C++ and compiled for the par>cular hardware. marakana.com 5 The Dalvik virtual machine is a major piece of Google's

More information

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students Duration:40hours IGEEKS TECHNOLOGIES Software Training Division Academic Live Projects For BE,ME,MCA,BCA and PHD Students IGeekS Technologies (Make Final Year Project) No: 19, MN Complex, 2nd Cross, Sampige

More information

Assignment 2. Start: 15 October 2010 End: 29 October 2010 VSWOT. Server. Spot1 Spot2 Spot3 Spot4. WS-* Spots

Assignment 2. Start: 15 October 2010 End: 29 October 2010 VSWOT. Server. Spot1 Spot2 Spot3 Spot4. WS-* Spots Assignment 2 Start: 15 October 2010 End: 29 October 2010 In this assignment you will learn to develop distributed Web applications, called Web Services 1, using two different paradigms: REST and WS-*.

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

Kaseya Fundamentals Workshop DAY TWO. Developed by Kaseya University. Powered by IT Scholars

Kaseya Fundamentals Workshop DAY TWO. Developed by Kaseya University. Powered by IT Scholars Kaseya Fundamentals Workshop DAY TWO Developed by Kaseya University Powered by IT Scholars Kaseya Version 6.5 Last updated March, 2014 Day One Review IT- Scholars Virtual LABS System Management Organiza@on

More information

Networking and socket communica2on

Networking and socket communica2on Networking and socket communica2on CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2014 Networking basics Overview Difference between: clients and servers Addressing IP addresses,

More information

Distributed Systems Recitation 2. Tamim Jabban

Distributed Systems Recitation 2. Tamim Jabban 15-440 Distributed Systems Recitation 2 Tamim Jabban Agenda Communication via Sockets in Java (this enables you to complete PS1 and start P1 (goes out today!)) Multi-threading in Java Coding a full Client-Server

More information

Computer Networks II Advanced Features (T )

Computer Networks II Advanced Features (T ) Computer Networks II Advanced Features (T-110.5111) Bluetooth, PhD Assistant Professor DCS Research Group Based on slides previously done by Matti Siekkinen, reused with permission For classroom use only,

More information

CS5530 Mobile/Wireless Systems Android Bluetooth Interface

CS5530 Mobile/Wireless Systems Android Bluetooth Interface Mbile/Wireless Systems Andrid Bluetth Interface Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs Bluetth Cmmunicatin Bluetth-enabled devices must first cmplete

More information

e-pg Pathshala Quadrant 1 e-text

e-pg Pathshala Quadrant 1 e-text e-pg Pathshala Subject : Computer Science Module: Bluetooth Paper: Computer Networks Module No: CS/CN/37 Quadrant 1 e-text In our journey on networks, we are now exploring wireless networks. We looked

More information

Android User Interface Overview. Most of the material in this sec7on comes from h8p://developer.android.com/guide/topics/ui/index.

Android User Interface Overview. Most of the material in this sec7on comes from h8p://developer.android.com/guide/topics/ui/index. Android User Interface Overview Most of the material in this sec7on comes from h8p://developer.android.com/guide/topics/ui/index.html Android User Interface User interface built using views and viewgroup

More information

Sales Presenta+on OS7200 PABX. Compiled by Nicholas Naidoo for SVA Holdings (Pty) Ltd

Sales Presenta+on OS7200 PABX. Compiled by Nicholas Naidoo for SVA Holdings (Pty) Ltd Sales Presenta+on OS7200 PABX Compiled by Nicholas Naidoo for SVA Holdings (Pty) Ltd Officeserv 7200 Samsung has released the bigger, faster and feature- rich OfficeServ 7200 converged plakorm, demonstra+ng

More information

Java Support for developing TCP Network Based Programs

Java Support for developing TCP Network Based Programs Java Support for developing TCP Network Based Programs 1 How to Write a Network Based Program (In Java) As mentioned, we will use the TCP Transport Protocol. To communicate over TCP, a client program and

More information

By The Name of Allah. The Islamic University of Gaza Faculty of Engineering Computer Department Final Exam. Mobile Computing

By The Name of Allah. The Islamic University of Gaza Faculty of Engineering Computer Department Final Exam. Mobile Computing By The Name of Allah The Islamic University of Gaza Faculty of Engineering Computer Department Final Exam Dr. Aiman Ahmed Abu Samra Eng. Nour El-Deen I. Jaber Student Name ID Mark Exam Duration \ 1:30

More information

Distributed Systems Recitation 2. Tamim Jabban

Distributed Systems Recitation 2. Tamim Jabban 15-440 Distributed Systems Recitation 2 Tamim Jabban Project 1 Involves creating a Distributed File System (DFS) Released yesterday When/If done with PS1, start reading the handout Today: Socket communication!

More information

Politecnico di Milano Advanced Network Technologies Laboratory. ZigBee Revealed

Politecnico di Milano Advanced Network Technologies Laboratory. ZigBee Revealed Politecnico di Milano Advanced Network Technologies Laboratory ZigBee Revealed Zigbee: Communica4on Stack APPLICATIONS Customer APPLICATION INTERFACE SECURITY NETWORK LAYER Star/Cluster/Mesh ZigBee Alliance

More information

Java Programming Unit 9. Serializa3on. Basic Networking.

Java Programming Unit 9. Serializa3on. Basic Networking. Java Programming Unit 9 Serializa3on. Basic Networking. Serializa3on as per Wikipedia Serializa3on is the process of conver3ng a data structure or an object into a sequence of bits to store it in a file

More information

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

1D/2D android secondary development

1D/2D android secondary development 1D/2D android secondary development The example in this document is developed in eclipse. 1. Import library to project Copy the filefolder and to the Project- libs 2.Copy JAVA

More information

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js NODE.JS SERVER SIDE JAVASCRIPT Introduc)on Node.js Node.js was created by Ryan Dahl starting in 2009. For more information visit: http://www.nodejs.org 1 What about Node.js? 1. JavaScript used in client-side

More information

Android Syllabus. Android. Android Overview and History How it all get started. Why Android is different.

Android Syllabus. Android. Android Overview and History How it all get started. Why Android is different. Overview and History How it all get started. Why is different. Syllabus Stack Overview of the stack. Linux kernel. Native libraries. Dalvik. App framework. Apps. SDK Overview Platforms. Tools & Versions.

More information

User manual of STYLE WiFi Connec7on and Opera7on of imos STYLE app. (ios & Android version)

User manual of STYLE WiFi Connec7on and Opera7on of imos STYLE app. (ios & Android version) User manual of STYLE WiFi Connec7on and Opera7on of imos STYLE app (ios & Android version) 1 WiFi connec7on (light fixture) 1. Before the STYLE is connected to your WiFi, the panel will show a sta7c green

More information

Multi Users Text Communication (with new ideas for more utilization) using Android Smartphone Bluetooth Connection

Multi Users Text Communication (with new ideas for more utilization) using Android Smartphone Bluetooth Connection ISSN 2320-2602 Mustafa Majid Hayder Alzaidi, International Journal of Volume Advances 4 No.5, in Computer May 2015 Science and Technology, 4(5), May 2015, 119-123 International Journal of Advances in Computer

More information

Serialisa(on, Callbacks, Remote Object Ac(va(on. CS3524 Distributed Systems Lecture 03

Serialisa(on, Callbacks, Remote Object Ac(va(on. CS3524 Distributed Systems Lecture 03 Serialisa(on, Callbacks, Remote Object Ac(va(on CS3524 Distributed Systems Lecture 03 Serializa(on Client Object Serialize De-Serialize Byte Stream Byte Stream Server Object De-Serialize Serialize How

More information

User manual of STYLE WiFi Connec7on and Opera7on of imos STYLE app. (ios & Android version)

User manual of STYLE WiFi Connec7on and Opera7on of imos STYLE app. (ios & Android version) User manual of STYLE WiFi Connec7on and Opera7on of imos STYLE app (ios & Android version) 1 Welcome page First, make sure your phone is connected to your WiFi network The first 7me you set up a STYLE,

More information

Arduino meets Android Creating Applications with Bluetooth, Orientation Sensor, Servo, and LCD

Arduino meets Android Creating Applications with Bluetooth, Orientation Sensor, Servo, and LCD Arduino meets Android Creating Applications with Bluetooth, Orientation Sensor, Servo, and LCD Android + Arduino We will be learning Bluetooth Communication Android: built in Arduino: add on board Android

More information

Programming Environments

Programming Environments Programming Environments There are several ways of crea/ng a computer program Using an Integrated Development Environment (IDE) Using a text editor You should use the method you are most comfortable with.

More information

Lab 3. Accessing GSM Functions on an Android Smartphone

Lab 3. Accessing GSM Functions on an Android Smartphone Lab 3 Accessing GSM Functions on an Android Smartphone 1 Lab Overview 1.1 Goals The objective of this practical exercise is to create an application for a smartphone with the Android mobile operating system,

More information

Each command-line argument is placed in the args array that is passed to the static main method as below :

Each command-line argument is placed in the args array that is passed to the static main method as below : 1. Command-Line Arguments Any Java technology application can use command-line arguments. These string arguments are placed on the command line to launch the Java interpreter after the class name: public

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

CS 351 Design of Large Programs Sockets Example

CS 351 Design of Large Programs Sockets Example CS 351 Design of Large Programs Sockets Example Brooke Chenoweth University of New Mexico Spring 2019 Socket Socket(String host, int port) InputStream getinputstream() OutputStream getoutputstream() void

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

Jonathan Aldrich Charlie Garrod

Jonathan Aldrich Charlie Garrod Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 3: Design Case Studies Design Case Study: Java I/O Jonathan Aldrich Charlie Garrod School of Computer Science 1 Administrivia Homework

More information

Tracing Bluetooth Headsets with the CATC Bluetooth Analysers

Tracing Bluetooth Headsets with the CATC Bluetooth Analysers Enabling Global Connectivity Computer Access Technology Corporation Tel: (408) 727-6600, Fax: (408) 727-6622 www.catc.com Tracing Bluetooth Headsets with the CATC Bluetooth Analysers Application Note Introduction

More information

Lab 10: Sockets 12:00 PM, Apr 4, 2018

Lab 10: Sockets 12:00 PM, Apr 4, 2018 CS18 Integrated Introduction to Computer Science Fisler, Nelson Lab 10: Sockets 12:00 PM, Apr 4, 2018 Contents 1 The Client-Server Model 1 1.1 Constructing Java Sockets.................................

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

Index. Cambridge University Press Bluetooth Essentials for Programmers Albert S. Huang and Larry Rudolph. Index.

Index. Cambridge University Press Bluetooth Essentials for Programmers Albert S. Huang and Larry Rudolph. Index. 802.11, 2, 27 A2DP. See Advanced Audio Distribution Profile, 33 accept, 25, 45 47, 61, 75, 78, 80, 82, 101, 107, 108, 122, 125, 161, 162 acceptandopen, 149, 153, 154 ACL, 12 adapter, 7 adaptive frequency

More information

Characterize Energy Impact of Concurrent Network- Intensive Applica=ons on Mobile PlaAorms

Characterize Energy Impact of Concurrent Network- Intensive Applica=ons on Mobile PlaAorms ACM MobiArch 2013 Characterize Energy Impact of Concurrent Network- Intensive Applica=ons on Mobile PlaAorms Zhonghon Ou, Shichao Dong, Jiang Dong, Jukka K. Nurminen, AnH Ylä- Jääski Aalto University,

More information

Bluetooth. Bluetooth Radio

Bluetooth. Bluetooth Radio Bluetooth Bluetooth is an open wireless protocol stack for low-power, short-range wireless data communications between fixed and mobile devices, and can be used to create Personal Area Networks (PANs).

More information

VOICE CONTROLLED ROBOT USING AN ANDROID DEVICE

VOICE CONTROLLED ROBOT USING AN ANDROID DEVICE A PROJECT ON VOICE CONTROLLED ROBOT USING AN ANDROID DEVICE BY 1. SIDDHARTH GUPTA 2. SIDDHARTH BOOBNA Under the guidance of Internal Guide Prof. Nilesh M. Patil Juhu-Versova Link Road Versova, Andheri(W),

More information

Basic OS Progamming Abstrac7ons

Basic OS Progamming Abstrac7ons Basic OS Progamming Abstrac7ons Don Porter Recap We ve introduced the idea of a process as a container for a running program And we ve discussed the hardware- level mechanisms to transi7on between the

More information

ANDROID BASED WS SECURITY AND MVC BASED UI REPRESENTATION OF DATA

ANDROID BASED WS SECURITY AND MVC BASED UI REPRESENTATION OF DATA ANDROID BASED WS SECURITY AND MVC BASED UI REPRESENTATION OF DATA Jitendra Ingale, Parikshit mahalle SKNCOE pune,maharashtra,india Email: jits.ingale@gmail.com ABSTRACT: Google s Android is open source;

More information

Preliminary ACTL-SLOW Design in the ACS and OPC-UA context. G. Tos? (19/04/2016)

Preliminary ACTL-SLOW Design in the ACS and OPC-UA context. G. Tos? (19/04/2016) Preliminary ACTL-SLOW Design in the ACS and OPC-UA context G. Tos? (19/04/2016) Summary General Introduc?on to ACS Preliminary ACTL-SLOW proposed design Hardware device integra?on in ACS and ACTL- SLOW

More information

Basic OS Progamming Abstrac2ons

Basic OS Progamming Abstrac2ons Basic OS Progamming Abstrac2ons Don Porter Recap We ve introduced the idea of a process as a container for a running program And we ve discussed the hardware- level mechanisms to transi2on between the

More information

Assignment 1. Start: 28 September 2015 End: 9 October Task Points Total 10

Assignment 1. Start: 28 September 2015 End: 9 October Task Points Total 10 Assignment 1 Start: 28 September 2015 End: 9 October 2015 Objectives The goal of this assignment is to familiarize yourself with the Android development process, to think about user interface design, and

More information

Transport layer and UDP www.cnn.com? 12.3.4.15 CSCI 466: Networks Keith Vertanen Fall 2011 Overview Principles underlying transport layer Mul:plexing/demul:plexing Detec:ng errors Reliable delivery Flow

More information

IT101. File Input and Output

IT101. File Input and Output IT101 File Input and Output IO Streams A stream is a communication channel that a program has with the outside world. It is used to transfer data items in succession. An Input/Output (I/O) Stream represents

More information

Mul$media Support in Android

Mul$media Support in Android Mul$media Support in Android Mul$media Support Android provides comprehensive mul$media func$onality: Audio: all standard formats including MP3, Ogg, Midi, Video: MPEG- 4, H.263, H.264, Images: PNG (preferred),

More information

CS September 2017

CS September 2017 Machine vs. transport endpoints IP is a network layer protocol: packets address only the machine IP header identifies source IP address, destination IP address Distributed Systems 01r. Sockets Programming

More information

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java

More information

Chapter 2 Applications and

Chapter 2 Applications and Chapter 2 Applications and Layered Architectures Sockets Socket API API (Application Programming Interface) Provides a standard set of functions that can be called by applications Berkeley UNIX Sockets

More information

Android Programming (5 Days)

Android Programming (5 Days) www.peaklearningllc.com Android Programming (5 Days) Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android

More information

Network Access Transla0on - NAT

Network Access Transla0on - NAT Network Access Transla0on - NAT Foreword Those slides have been done by gathering a lot of informa0on on the net Ø Cisco tutorial Ø Lectures from other ins0tu0ons University of Princeton University of

More information

TAMZ. JavaME. Optional APIs. Department of Computer Science VŠB-Technical University of Ostrava

TAMZ. JavaME. Optional APIs. Department of Computer Science VŠB-Technical University of Ostrava Optional APIs 1 Detecting API Presence (1) Optional APIs may be present in your phone, but then again, they may be missing (remember the SAX parser). We need a mechanism to detect presence of a given API

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

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