Você está na página 1de 11

Protocolos de Comunicao para Redes Mveis

Gustavo Soares Vieira gugasv@gmail.com humrum.com

Agenda

29 / 10 SIP Google Maps Projeto

SIP
O Protocolo de Iniciao de Sesso (Session Initiation Protocol SIP) um protocolo de aplicao, que utiliza o modelo requisio-resposta, similar ao HTTP, para iniciar sesses de comunicao interativa entre utilizadores. O estabelecimento, mudana ou trmino da sesso independente do tipo de mdia ou aplicao que ser usada na chamada; uma chamada pode utilizar diferentes tipos de dados, incluindo udio, vdeo e texto.

O protocolo SIP possui as seguintes caractersticas: Simplicidade e possui apenas seis mtodos. Independncia do protocolo de transporte. Baseado em texto.

SIP . Arquitetura

SIP . Comandos
REGISTER: Utilizado para informar ao servidor SIP o IP e URLs atuais que ele deseja receber chamadas.

INVITE: Utilizado para estabelecer uma sesso entre os usurios.


ACK: Confirma a troca de mensagens. CANCEL: Termina uma solicitao pendente. BYE: Finaliza uma sesso entre dois usurios.

OPTIONS: Solicita informaes sobre as capacidades do outro usurio, sem a criao de uma chamada.

PRACK (Provisional Response Acknowledgement): Melhora a confiabilidade da rede.

Google Maps

Obter API Key no site do google http://code.google.com/android/maps-api-signup.html

Gerar a assinatura de debug


$ keytool -list -keystore ~/.android/debug.keystore ... Certificate fingerprint (MD5): 94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98

Google Maps . AndroidManifest.xml

Adicionar a tag <uses-library/>


<uses-library android:name="com.google.android.maps" />

Adicionar a permisso de INTERNET


<uses-permission android:name="android.permission.INTERNET" />

Google Maps . Layout

Adicionar o MapView ao layout


<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:apiKey="0Y4_x1g3aWN-__bfXV-rzxAvQZ8r1zoZPEq_zDw" /> </LinearLayout>

Google Maps . Activity


Extender nossa Activity de MapActivity Adicionar os controles de Zoom

mapView.setBuiltInZoomControls(true);

Adicionar marcador com a localizao atual do dispositivo


myLocation = new MyLocationOverlay(this, mapView); mapView.getOverlays().add(myLocation); myLocation.enableMyLocation(); myLocation.enableCompass(); myLocation.runOnFirstFix(new Runnable() { @Override public void run() { mapController.animateTo(myLocation.getMyLocation()); } });

Google Maps . Adicionar Novos Marcadores


Implementar a classe ItemizedOverlay, que manipula os um conjunto de marcadores Criamos um ArrayList de OverlayItem

private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();

Adicionamos um mtodo para adicionarmos novos overlays


public void addOverlay(OverlayItem overlay) { mOverlays.add(overlay); populate(); }

Google Maps . Adicionar Novos Marcadores

Na nossa MapActivity carregamos o nosso marcador padro e criamos uma instncia da nossa classe ItemizedOverlay
Drawable drawable = this.getResources().getDrawable(R.drawable.icon); CustomOverlay itemizedoverlay = new CustomOverlay(drawable);

Criamos um GeoPoint e um OverlayItem e adicionamos nossa ItemizedOverlay


GeoPoint point = new GeoPoint(19240000,-99120000); OverlayItem overlayitem = new OverlayItem(point, "iDez", "Mobilidade e Sistemas Embarcados"); itemizedoverlay.addOverlay(overlayitem); mapOverlays.add(itemizedoverlay);

Você também pode gostar