android level 3
Upcoming SlideShare
Loading in...5

android level 3



level 3 @ android camp @ devent 3 by amar ashour

level 3 @ android camp @ devent 3 by amar ashour



Total Views
Views on SlideShare
Embed Views



1 Embed 1 1


Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

android level 3 android level 3 Presentation Transcript

  • Level 3android camp
  • Maps ,Location-based Services & Telephony API
  • The location-based services facility in Android sits on two pillars:1-mapping using the package,2-Location-based APIs.using the package android.location APIs
  • All we need to start is :1-Internet connection2-accept the terms of googleThen , lets develop :D
  • Understanding the Mapping Package Obtain your MD5 fingerprint  Obtaining a map­api Key from Google (two keys) one for  development with the emulator and another for production  Understanding MapView and MapActivity
  • Lets get our MD5 locate your debug certificate
  • Lets get our MD5keytool -list -alias androiddebugkey -keystore"FULL PATH OF YOUR debug.keystore FILE" -storepass android -keypass androidEnter the password : android(only if asked)
  • Get your API-key now Use the link­ api­signup.html Then enter your MD5 and accept the terms
  • Now lets code :D
  • Now lets code :D mainfest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="" package="com.ashour.amar.map3" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="4" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="" /> <activity android:label="@string/app_name" android:name=".Map3Activity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
  • Now lets code :D add this at your layout< android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:apiKey="0HjFnVeWB501OoE879ht4U35shuIsabH6M5UUUw" android:clickable="true" />
  • Now lets code :D javaActivitypublic class Map2Activity extends MapActivity{ private MapView mapView;private GeoPoint pt;/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mapView = (MapView)findViewById(; mapView.setBuiltInZoomControls(true); } @Override protected boolean isLocationDisplayed() { return true; }@Overrideprotected boolean isRouteDisplayed() {return true;}}
  • TELEPHONY APIWith the telephony API you can work with messages , makecalls and use the Internet to make calls VOIP
  • Now lets make SMS sender app :D
  • Send messages You will use android.telephony.SmsManager class Dont forget to add the permission  android.permission.SEND_SMS
  • Sms code layout code<?xml version="1.0" encoding="utf-8"?><!-- This file is /res/layout/main.xml --><LinearLayout xmlns:android="" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout xmlns:android="" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Destination Address:" /> <EditText android:id="@+id/addrEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:phoneNumber="true" android:text="01095996548" /> </LinearLayout>
  • <LinearLayout xmlns:android="" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Text Message:" /> <EditText android:id="@+id/msgEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="hello sms" /> </LinearLayout> <Button android:id="@+id/sendSmsBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="doSend" android:text="Send Text Message" /></LinearLayout>
  • Sms code activity codepublic class SmsActivity extends Activity {/** Called when the activity is first created. */@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}public void doSend(View view) {EditText addrTxt = (EditText) findViewById(;EditText msgTxt = (EditText) findViewById(;try {sendSmsMessage(addrTxt.getText().toString(), msgTxt.getText().toString());Toast.makeText(this, "SMS Sent", Toast.LENGTH_LONG).show();} catch (Exception e) {Toast.makeText(this, "Failed to send SMS", Toast.LENGTH_LONG).show();e.printStackTrace();}}
  • @Overrideprotected void onDestroy() {super.onDestroy();}private void sendSmsMessage(String address, String message)throws Exception {SmsManager smsMgr = SmsManager.getDefault();smsMgr.sendTextMessage(address, null, message, null, null);}}
  • I think you know your way now
  • Good books you can use pro android 3 (my best ) OReilly ­ Learning Android professional android application development Pro   Android Media Developing Graphics 
  • thanks Amar ashour amar_ashour@hotmail.com