Sei sulla pagina 1di 30

Desarrollo de Aplicaciones Mviles en Android

Profesorado: Jorge E. Carballo Franquis David D. Harjani Harjani Director: Jos Luis Roda

ndice
Localizacin Internet Batera Preferencias Mens contextuales

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

Localizacin
Podemos obtener informacin de localizacin a travs de la clase LocationManager La informacin de localizacin tiene dos proveedores (Location Providers)
Receptor GPS (GPS_PROVIDER) Red (Wi-Fi o triangulacin de antenas) (NETWORK_PROVIDER)

Es necesario disponer de dos permisos:


android.permission.ACCESS_FINE_LOCATION android.permission.ACCESS_COARSE_LOCATION
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 3

Localizacin
Lo que hacemos es pedirle al LocationManager que nos devuelva la ltima posicin conocida de un determinado proveedor Esto nos devolver un objeto de la clase Location

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

Localizacin
LocationManager locMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE); android.location.Location location = locMgr.getLastKnownLocation(LocationManager.GPS_PROVIDE R); android.location.Location location = locMgr.getLastKnownLocation(LocationManager.NETWORK_PR OVIDER); location.getLongitude() location.getLatitude()

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

Localizacin
Es todava un campo por explotar Estn surgiendo empresas y redes sociales dedicadas a explotar slo servicios basados en la localizacin Podemos incluir la localizacin en prcticamente todos los casos de uso de Android que podamos imaginar

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

Localizacin
Paralelamente a los servicios de posicin, Android nos provee de mapas Se trata del objeto MapView, que es una API de Google Maps Podemos utilizar el mapa como queramos, insertando puntos, pidindole rutas, etc. Requiere de acceso a Internet, luego necesitamos del permiso
android.permission.INTERNET
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 7

Localizacin
El MapView es una herramienta avanzada, pero tremendamente potente Requiere que nos registremos y solicitemos una llave para el servicio Google Maps Es gratuita si nuestra aplicacin es gratuita

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

Acceso a Internet
Hoy da, las dos tecnologas de acceso mvil a internet ms utilizadas son 2G (GPRS/EDGE) y 3G (UMTS), y en general se las denomina radios. Entre 2G y 3G, existen dos tecnologas predominantes, la GSM y la CDMA, que son totalmente incompatibles No todas las operadoras utilizan las mismas frecuencias de radio, luego dos telfonos 3G GSM con distintas frecuencias pueden no operar de la misma forma en distintas operadoras
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 9

Acceso a Internet
En Amrica se utilizan las redes 3G (AT&T y TMobile) y CDMA (Verizon Wireless y Sprint) AT&T y T-Mobile sus propias bandas de frecuencia distintas Verizon y Sprint usan la misma CDMA En Europa y Asia se suele utilizar 3G GSM con la misma frecuencia Las frecuencias utilizadas por T-Mobile son 100% compatibles con las de Europa y Asia Algunas operadoras de Asia/Oceana tambin utilizan CDMA
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 10

Acceso a Internet
En los telfonos Android, tenemos tres mtodos de acceso a internet:
Celular (GPRS y 3G) Red local (Wi-Fi)

Nosotros podemos consultar a Android si se posee acceso a Internet, y desde qu fuente (GPRS, 3G, Wi-Fi) Android est preparado para funcionar con Web-services (REST), y servlets (doGet y doPost)
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 11

Acceso a Internet
Estn ordenadas de menor a mayor velocidad:
2G, 3G, Wi-Fi

Ordenadas de menor a mayor consumo de batera


2G, 3G, Wi-Fi

Ordenadas de mejor a peor ratio de cantidad de datos por mili-amperio de batera consumido
Wi-Fi, 3G, 2G
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 12

Acceso a Internet
Debemos suponer que NO siempre se dispone de acceso a Internet
Cada de la red, poca seal, batera baja, etc.

Al disear nuestras aplicaciones, debemos proteger el consumo de batera Ante la duda, lo mejor es siempre dejar al usuario elegir (nosotros no podemos predecir todos los casos posibles, y se considera como buena prctica)
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 13

Acceso a Internet
Carrera hacia la cuarta generacin (4G)
Existen dos principales tecnologas que aspiran a alcanzar el estndar 4G, WiMAX (basado en los estndares 802 de los que deriva la Wi-Fi) y LTE o Long Term Evolution (evolucin natural de las redes 3G actuales) Actualmente, ninguna de las dos tecnologas han logrado alcanzar los estndares de velocidad 4G, sin embargo ambas se venden como tales

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

14

Acceso a Internet
Carrera hacia la cuarta generacin (4G)
En Suecia y Noruega, ya se dispone de red 4G En Estados Unidos, ya estn en funcionamiento redes basadas en tecnologas WiMAX y LTE. En Espaa, todava nos estamos peleando por definir un espectro de redes para que se pueda implantar, con LTE como favorita.

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

15

Batera
Definimos una serie de niveles en los telfonos:
Dumphones Featurephones Smartphones

El smartphone de hoy se convierte en el Featurephone de maana, y as sucesivamente

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

16

Batera
En un dumbphone, la batera suele ser de unos 800-900 mAh, y llega a durar ms de una semana En los featurephones, con la misma capacidad que los dumbphones, la batera llega a durar das Un smartphone con bateras del orden de 1100 a 1500 mAh, si dura ms de un da, es un autntico milagro
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 17

Batera
Se suele considerar que un Smartphone se carga durante la noche, se coge por la maana, y al llegar la tarde ya est autorizado a pedir el cargador Es un punto bastante criticado en general Por qu?

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

18

Batera
El elemento que ms gasta la batera suele ser la pantalla, que consume muchsima luz al encenderse y apagarse (operacin muy comn) El segundo elemento son las radios (3G) El tercer elemento es el uso de las radios, porque los smartphones estn permanentemente conectados a Internet Por ltimo el uso de aplicaciones, que provoca arrancar y apagar los circuitos, en lugar del uso por rfagas
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 19

Batera
As que, qu hacemos nosotros? No siempre es culpa nuestra, la tecnologa de bateras es la que avanza ms lentamente de entre todas las que forman un smartphone Las aplicaciones pasivas (que no hacen nada a menos que el usuario active eventos) poco pueden hacer Las que utilicen Internet y GPS deben moderar su uso y aadir cdigo que apague los sistemas si no se estn utilizando
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 20

Sprint Evo 4G
http://www.youtube.com/watch?v=lKiBzBAHu Ew http://www.youtube.com/watch?v=M59rt8RS kD0

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

21

Preferencias
Podemos guardar parmetros sobre el comportamiento general de nuestras Actividades en las preferencias Tambin las describimos con cdigo XML Existen unas Views especficas para las preferencias, como EditTextPreference, CheckBoxPreference, ListPreference, etc. Podemos dividir las preferencias en categoras, con el tag PreferenceCategory
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 22

Preferencias
Las preferencias no tienen id, sino una llave (key) No hay un campo de texto, sino un ttulo (title) Existe un campo de descripcin, que no debe ser largo (summary)

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

23

Preferencias

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title=Preferences"> <PreferenceCategory android:title=Basic Preferences"> <EditTextPreference android:key=username" android:name=usernameEditText" android:inputType="textPassword" android:title=Username" android:summary=Please insert your username"> </EditTextPreference> </PreferenceCategory> </PreferenceScreen>

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

24

Preferencias
public class GBSharedPreferences extends PreferenceActivity {

private EditTextPreference username; public static String __USERNAME_KEY__ = username";


@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.layout.settings); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); username = (EditTextPreference) findPreference(__USERNAME_KEY__); } }
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 25

Preferencias
Las preferencias estn muy valoradas por los app reviewers y en general por los usuarios Se considera que las buenas aplicaciones tienen una gran cantidad de opciones, permitiendo a los usuarios variar el comportamiento de sus aplicaciones Adems de las opciones obvias, conviene aadir preferencias respecto a los detalles de la aplicacin
29/11/2010 Desarrollo de Aplicaciones Mviles en Android 26

Preferencias
Lo ms usual, es aadir las preferencias en la primera Actividad de la aplicacin como opcin (men de opciones) Al igual que sucede con los mens, podemos tener varios niveles de Preferencias Las Preferencias del sistema de Android son el mejor ejemplo

29/11/2010

Desarrollo de Aplicaciones Mviles en Android

27

Men Contextual
Los mens contextuales son aquellos mens que aparecen dependiendo del contexto que tengas en la aplicacin ContextMenu (extensin de Menu) Para ver un men contextual mediante una pulsacin larga, se deber realizar la llamada a registerForContextMenu(View) y sobreescribir el mtodo
onCreateContextMenu(ContextMenu, View, ContextMenu.ContextMenuInfo)

Crear opciones en el men contextual


@Override public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) { menu.add (0, MENU_DELETE_FRIEND, 0, ``Delete Friend''); menu.add (0, MENU_MONITOR_FRIEND, 0,''Monitors your Friend''); }

Acciones en el men Contextual


Obtencin de acciones a realizar Se ejecuta el mtodo onContextItemSelected() Ah obtendremos la opcin seleccionada y el Adaptador del men contextual para obtener sobre que vista de la lista se realiz al pulsacin larga.
@Override public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); switch (item.getItemId()) { case MENU_ADD: posicionDondeInsertar = info.position+1; return true;

Potrebbero piacerti anche