X

Download Android Application Development Tutorial PowerPoint Presentation

SlidesFinder-Advertising-Design.jpg

Login   OR  Register
X


Iframe embed code :



Presentation url :

Home / Science & Technology / Science & Technology Presentations / Android Application Development Tutorial PowerPoint Presentation

Android Application Development Tutorial PowerPoint Presentation

Ppt Presentation Embed Code   Zoom Ppt Presentation

PowerPoint is the world's most popular presentation software which can let you create professional Android Application Development Tutorial powerpoint presentation easily and in no time. This helps you give your presentation on Android Application Development Tutorial in a conference, a school lecture, a business proposal, in a webinar and business and professional representations.

The uploader spent his/her valuable time to create this Android Application Development Tutorial powerpoint presentation slides, to share his/her useful content with the world. This ppt presentation uploaded by onlinesearch in Science & Technology ppt presentation category is available for free download,and can be used according to your industries like finance, marketing, education, health and many more.

About This Presentation

Android Application Development Tutorial Presentation Transcript

Slide 1 - Android Application Development Tutorial Accessing Sensors and the Network Deepa Shinde and Cindy Atherton
Slide 2 - Topics Background Introduction to Android Overview of Sensors Programming Tutorial 1: Tracking location with GPS and Google Maps Overview of Networking Programming Tutorial 2: Downloading from the Internet Programming Tutorial 3: Sending/Receiving SMS Messages Questions/Comments Resources
Slide 3 - Introduction to Android A brief guide to the Android Application Development Environment
Slide 4 - Background Software platform from Google and the Open Handset Alliance July 2005, Google acquired Android, Inc. November 2007, Open Handset Alliance formed to develop open standards for mobile devices October 2008, Android available as open source December 2008, 14 new members joined Android project
Slide 5 - Update History April 30, 2009: Official 1.5 Cupcake release September 15, 2009: 1.6 SDK Donut release October 26, 2009: 2.0 SDK Éclair release Updates to the Éclair release: 2.0.1 on December 3, 2009 2.1 on January 12, 2010
Slide 6 - Platform Versions
Slide 7 - Android and the Hardware Built-in Apps ≡ Apps created in SDK Leverage Linux kernel to interface with hardware Open source platform promotes development from global community
Slide 8 - Android Features Reuse and replacement of components Dalvik virtual machine Integrated browser Optimized graphics SQLite Media support GSM Telephony Bluetooth, EDGE, 3G, and WiFi Camera, GPS, compass, and accelerometer Rich development environment
Slide 9 - Android Architecture
Slide 10 - Application Fundamentals Apps are written in Java Bundled by Android Asset Packaging Tool Every App runs its own Linux process Each process has it’s own Java Virtual Machine Each App is assigned a unique Linux user ID Apps can share the same user ID to see each other’s files
Slide 11 - Application Components Activity Present a visual user interface for one focused endeavor the user can undertake Example: a list of menu items users can choose from Services Run in the background for an indefinite period of time Example: calculate and provide the result to activities that need it Broadcast Receivers Receive and react to broadcast announcements Example: announcements that the time zone has changed Content Providers Store and retrieve data and make it accessible to all applications Example: Android ships with a number of content providers for common data types (e.g., audio, video, images, personal contact information, etc.) Intents Hold the content of a message Example: convey a request for an activity to present an image to the user or let the user edit some text
Slide 12 - Installation http://developer.android.com/sdk/installing.html Preparing your system and system requirements Downloading and Installing the SDK Installing ADT plug-in for Eclipse Adding Platforms and Components Exploring the SDK Completing tutorials Troubleshooting
Slide 13 - Overview of Sensors The Android Sensor Platform and how to use it
Slide 14 - Open Source Platform Developer’s are able to access “goodies” Hardware capabilities made available
Slide 15 - Hardware-oriented Features
Slide 16 - Sensor and SensorManager Sensor type (Sensor class) Orientation, accelerometer, light, magnetic field, proximity, temperature, etc. Sampling rate Fastest, game, normal, user interface. When an application requests a specific sampling rate, it is really only a hint, or suggestion, to the sensor subsystem. There is no guarantee of a particular rate being available. Accuracy High, low, medium, unreliable.
Slide 17 - Programming Tutorial Simulating an Android application that accesses positioning sensors
Slide 18 - Preparing for the Tutorial Must have Eclipse IDE installed Must have Android SDK installed Must have knowledge of Java Must have the external Google Maps library installed in your SDK environment. The Maps library is included with the Google APIs add-on, which you can install using the Android SDK and AVD Manager.
Slide 19 - Get a Google Maps API Key A Google Maps API key is required to integrate Google Maps into your Android application. To apply for a key: Locate the SDK debug certificate in the default folder of "C:\Documents and Settings\\Local Settings\Application Data\Android". The filename of the debug keystore is debug.keystore. Copy the debug.keystore file to a folder named C:\Android\. Open the command window and navigate to C:\Program Files\Java\\bin to locate the Keytool.exe. Execute the following to extract the MD5 fingerprint: keytool.exe -list -alias androiddebugkey -keystore "C:\Android\debug.keystore" -storepass android -keypass android Copy the MD5 certificate fingerprint and navigate your web browser to: http://code.google.com/android/maps-api-signup.html. Follow the instructions on the page to complete the application and obtain the Google Maps key. For more information on using Google Maps in Android application development: http://mobiforge.com/developing/story/using-google-maps-android
Slide 20 - Create an Android Virtual Device (AVD) Defines the system image and device settings used by the Emulator To create an AVD in Eclipse: Select Window > Android SDK and AVD Manager. The Android SDK and AVD Manager displays. Make sure the entry for Virtual Devices is selected and click New. The Create new AVD window displays. Enter a Name for the AVD. Select Google APIs (API level 3) as the Target. Click Create AVD. Close the Android SDK and AVD Manager.
Slide 21 - Create the Android Project To create the project in Eclipse: Select File > New > Project. Select Android Project in the Android folder and click Next. Enter GPSSimulator as the Project Name. Select Google APIs (Platform 1.5) as the Build Target. Enter GPSSimulator as the Application name. Enter com.android.gpssimulator as the Package name. Enter GPSSimulator as the Activity name. Click Finish.
Slide 22 - The New Android Project
Slide 23 - Modify the AndroidManifest.xml File Add permissions for GPS To modify the AndroidManifest.xml file: Click on the res folder in the GPSSimulator project. Double-click AndroidManifest.xml to display the GPSSimulator Manifest. Enter the following lines before the application tag. Save the changes to the file.
Slide 24 - Add LocationManager to get Updates public class GPSSimulator extends Activity { private LocationManager lm; private LocationListener locationListener; // Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // use the LocationManager class to obtain GPS locations lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationListener = new MyLocationListener(); lm.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, locationListener); } }
Slide 25 - Add MyLocationListener private class MyLocationListener implements LocationListener { @Override public void onLocationChanged(Location loc) { if (loc != null) { Toast.makeText(getBaseContext(), "Location changed : Lat: " + loc.getLatitude() + " Lng: " + loc.getLongitude(), Toast.LENGTH_SHORT).show(); } } @Override public void onProviderDisabled(String provider) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String provider) { // TODO Auto-generated method stub } @Override public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub } }
Slide 26 - Test the GPSSimulator To test in Eclipse: Switch to DDMS view. Find the Location Controls in the Emulator Control tab. Click the GPX tab and click Load GPX. Locate and select the GPX file. Click Play to begin sending coordinates to the Emulator.
Slide 27 - Add ability to use Google Maps Update the Manifest with two lines.
Slide 28 - Add MapView to main.xml
Slide 29 - Modify GPSSimulator to use Google Maps public class GPSSimulator extends MapActivity { private LocationManager lm; private LocationListener locationListener; private MapView mapView; private MapController mc; // Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // use the LocationManager class to obtain GPS locations lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationListener = new MyLocationListener(); lm.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, locationListener); mapView = (MapView) findViewById(R.id.mapview1); mc = mapView.getController(); } @Override protected boolean isRouteDisplayed() { return false; } private class MyLocationListener implements LocationListener { @Override public void onLocationChanged(Location loc) { if (loc != null) { Toast.makeText(getBaseContext(), "Location changed : Lat: " + loc.getLatitude() + " Lng: " + loc.getLongitude(), Toast.LENGTH_SHORT).show(); GeoPoint p = new GeoPoint( (int) (loc.getLatitude() * 1E6), (int) (loc.getLongitude() * 1E6)); mc.animateTo(p); mc.setZoom(16); mapView.invalidate(); } } @Override public void onProviderDisabled(String provider) { } @Override public void onProviderEnabled(String provider) { } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } } }
Slide 30 - View the Location on the Map
Slide 31 - Internet Layers The Internet, is based on a layered architecture called the TCP/IP stack. Link Layer Protocols: ARP and RARP Internet Layer Protocols: IP, ping, etc. Transport Protocols: TCP and UDP Application Layer Protocols: HTTP, FTP, DNS, etc.
Slide 32 - Client-Server Communication A server machine is identified on the Internet by some IP address Daemons are the processes running in the background which are listening all the time for connection requests from clients on a particular port number. Once a connection request comes into the server on a given port, the corresponding daemon can choose to accept it, and if so, a connection is established. Then the application layer protocol is typically used for the client to get or send data to the server.
Slide 33 - Programming Tutorial 2 Accessing a website from the Android Emulator
Slide 34 - Required Packages
Slide 35 - Layout
Slide 36 - Link Activity and View View object may have an integer ID associated with it android:id="@+id/my_button“ To get the reference of the view object in activity Button myButton = (Button)findViewById(R.id.my_button);
Slide 37 - Adding Event to View Object View.OnClickListener() Interface definition for a callback to be invoked when a view is clicked.  onClick(View v) Called when a view has been clicked. Inside this function you can specify what actions to perform on a click.
Slide 38 - Strings.xml
Slide 39 - AndroidManifest.xml
Slide 40 - Network Settings If you are using the emulator then there are limitations. Each instance of the emulator runs behind a virtual router/firewall service that isolates it from your development machine's network interfaces and settings and from the internet. Communication with the emulated device may be blocked by a firewall program running on your machine. Reference
Slide 41 - Behind Proxy Server
Slide 42 - Behind Proxy Server
Slide 43 - Behind Proxy Server
Slide 44 - Behind Proxy Server
Slide 45 - Behind Proxy Server
Slide 46 - Behind Proxy Server
Slide 47 - App to Download jpg file Step1 Add permissions to AndroidManifest.xml Step 2 Import files import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast;
Slide 48 - App to Download jpg file Step 3 Writing OpenHttpConnection() To open a connection to a HTTP server using OpenHttpConnection() We first create an instance of the URL class and initialize it with the URL of the server When the connection is established, you pass this connection to an URLConnection object. To check if the connection established is using a HTTP protocol. The URLConnection object is then cast into an HttpURLConnection object and you set the various properties of the HTTP connection. Next, you connect to the HTTP server and get a response from the server. If the response code is HTTP_OK, you then get the InputStream object from the connection so that you can begin to read incoming data from the server The function then returns the InputStream object obtained.
Slide 49 - App to Download jpg file public class HttpDownload extends Activity { /** Called when the activity is first created.*/ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } private InputStream OpenHttpConnection(String urlString) throws IOException { InputStream in = null; int response = -1; URL url = new URL(urlString); URLConnection conn = url.openConnection(); if (!(conn instanceof HttpURLConnection)) throw new IOException("Not an HTTP connection"); try{ HttpURLConnection httpConn = (HttpURLConnection) conn; httpConn.setAllowUserInteraction(false); httpConn.setInstanceFollowRedirects(true); httpConn.setRequestMethod("GET"); httpConn.connect(); response = httpConn.getResponseCode(); if (response == HttpURLConnection.HTTP_OK) { in = httpConn.getInputStream(); } } catch (Exception ex) { throw new IOException("Error connecting"); } return in; } }
Slide 50 - App to Download jpg file Step 4 Modify the Main.xml code
Slide 51 - App to Download jpg file Step 5 writing DownloadImage() The DownloadImage() function takes in a string containing the URL of the image to download. It then calls the OpenHttpConnection() function to obtain an InputStream object for reading the image data. The InputStream object is sent to the decodeStream() method of the BitmapFactory class. The decodeStream() method decodes an InputStream object into a bitmap. The decoded bitmap is then returned by the DownloadImage() function. private Bitmap DownloadImage(String URL) { Bitmap bitmap = null; InputStream in = null; try { in = OpenHttpConnection(URL); bitmap = BitmapFactory.decodeStream(in); in.close(); } catch (IOException e1) { e1.printStackTrace(); } return bitmap; }
Slide 52 - Step 6 Test the DownloadImage() function, modify the onCreate() event as follows @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Bitmap bitmap = DownloadImage( "http://www.streetcar.org/mim/cable/images/cable-01.jpg"); img = (ImageView) findViewById(R.id.img); img.setImageBitmap(bitmap); }
Slide 53 - App to Download jpg file Step 7:Output
Slide 54 - Programming Tutorial 3 Transmitting SMS messages across the network
Slide 55 - Intent and IntentFilter Intents request for an action to be performed and supports interaction among the Android components. For an activity it conveys a request to present an image to the user For broadcast receivers, the Intent object names the action being announced. Intent Filter Registers Activities, Services and Broadcast Receivers(as being capable of performing an action on a set of data).
Slide 56 - SMS Sending STEP 1 In the AndroidManifest.xml file, add the two permissions - SEND_SMS and RECEIVE_SMS. STEP 2 In the main.xml, add Text view to display "Enter the phone number of recipient“ and "Message" EditText with id txtPhoneNo and txtMessage Add the button ID "Send SMS“
Slide 57 - SMS Sending Step 3 Import Classes and Interfaces import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.telephony.SmsManager; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;
Slide 58 - SMS Sending Step 4 Write the SMS class public class SMS extends Activity { Button btnSendSMS; EditText txtPhoneNo; EditText txtMessage; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnSendSMS = (Button) findViewById(R.id.btnSendSMS); txtPhoneNo = (EditText) findViewById(R.id.txtPhoneNo); txtMessage = (EditText) findViewById(R.id.txtMessage); btnSendSMS.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { String phoneNo = txtPhoneNo.getText().toString(); String message = txtMessage.getText().toString(); if (phoneNo.length()>0 && message.length()>0) sendSMS(phoneNo, message); else Toast.makeText(getBaseContext(), "Please enter both phone number and message.", Toast.LENGTH_SHORT).show(); } }); } }
Slide 59 - SMS Sending Step 5 To send an SMS message, you use the SmsManager class. And to instantiate this class call getDefault() static method. The sendTextMessage() method sends the SMS message with a PendingIntent. The PendingIntent object is used to identify a target to invoke at a later time. private void sendSMS(String phoneNumber, String message) { PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, SMS.class), 0); SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, pi, null); }
Slide 60 - SMS Sending
Slide 61 - Receiving SMS Step 1
Slide 62 - Receiving SMS Step 2 In the AndroidManifest.xml file add the element so that incoming SMS messages can be intercepted by the SmsReceiver class.
Slide 63 - Receiving SMS Step 3 import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.SmsMessage; import android.widget.Toast;
Slide 64 - Receiving SMS Step 4 public class SmsReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //---get the SMS message passed in--- Bundle bundle = intent.getExtras(); SmsMessage[] msgs = null; String str = ""; if (bundle != null){ //---retrieve the SMS message received--- Object[] pdus = (Object[]) bundle.get("pdus"); msgs = new SmsMessage[pdus.length]; for (int i=0; i
Slide 65 - Receiving SMS
Slide 66 - Conclusions What is Android? What are the sensor and networking capabilities in Android? How to use location data and Google maps in Android? How to access websites? How to send SMS messages across the network? Questions/Comments?
Slide 67 - Resources Ableson, Frank. “Tapping into Android’s sensors.” www.ibm.com. January 30, 2010. http://www.ibm.com/developerworks/opensource/library/os-android-sensor/index.html Ableson, Frank; Collins, Charlie; Sen, Robi. Unlocking Android, A Developer’s Guide. Greenwich: Manning Publications Co. 2009. Android Development Guide. January 30, 2010. http://developer.android.com/guide/index.html Lee, Wei-Meng. “Using Google Maps in Android.” mobiforge.com. January 30, 2010. http://mobiforge.com/developing/story/using-google-maps-android Lee, Wei-Meng. “You Are Here: Using GPS and Google Maps in Android.” www.devx.com. January 30, 2010. http://www.devx.com/wireless/Article/39239/1954 Lee, Wei-Meng “SMS Messaging in Android” mobiforge.com. January 30, 2010 http://mobiforge.com/developing/story/sms-messaging-android Lee, Wei-Meng “Connecting to the Web: I/O Programming in Android” November 5, 2008   Android”http://www.devx.com/wireless/Article/39810 Open Handset Alliance, http://www.openhandsetalliance.com/ Patterson, Don. “Android Development Guide.” getsatisfaction.com. January 30, 2010. http://getsatisfaction.com/luci/topics/android_development_guide www.androidcompetencycenter.com. January 30, 2010. http://www.androidcompetencycenter.com/2009/06/accessing-device-sensors Xianhua Shu; Zhenjun Du; Rong Chen, "Research on Mobile Location Service Design Based on Android," Wireless Communications, Networking and Mobile Computing, 2009. WiCom '09. 5th International Conference on , vol., no., pp.1-4, 24-26 Sept. 2009http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5302615&isnumber=5300799