Professional Documents
Culture Documents
WWW.VICTORPASCUAL.ES
pg. 1
Licencia
Tutoriales y How-tos de Android por Vctor J Pascual se encuentra bajo una Licencia Creative Commons Atribucin-NoComercial 3.0 Unported.
Esta licencia significa que puedes modificar la obra siempre y cuando nombres al autor (Vctor J Pascual) y no la uses para fines comerciales.
Contacto
Web: http://www.victorpascual.es Email: vpascualmiguel@gmail.com
Versin
Versin del documento actual: 1.0 Fecha de ltima edicin: 25 Octubre 2012
pg. 2
ndice
Cmo abrir una pgina web desde una aplicacin Android pag 4 Meter publicidad a las aplicaciones Android: Sistema de anuncios AdMob pag 5 Solucionar el problema Error generating final archive: Debug certificate expired... pag 9 Regenerar el archivo R.java pag 10 Traducir una aplicacin Android usando Strings.xml pag 11 Cmo eliminar la barra con el nombre de la aplicacin pag 12 Cmo hacer transiciones entre Activitys pag 13 Pasar datos entre Activitys, metiendo datos a Intents pag 14 Limitar el nmero de caracteres de un EditText pag 15 Cmo hacer que no se gire la pantalla de mi Android de modo Vertical o Portrait a modo Horizontal o Landscape pag 16 Enviar mensajes usando Intent.ACTION_SEND pag 17 Enviar emails desde aplicaciones Android pag 18 Cmo cerrar una aplicacin desde el cdigo pag 19 Evitar que se cuelgue el emulador de Android en Eclipse pag 19 Cmo hacer que se conecte a Internet mi aplicacin pag 20 Cmo habilitar o deshabilitar un botn en Android pag 20 Cmo llamar por telfono desde una aplicacin Android pag 21 Quitar el teclado al entrar en una aplicacin donde hay un formulario pag 21
pg. 3
1 2 3
Es muy sencillo. Creamos un Intent con el tipo de Intent ACTION_VIEW. Despus le aadimos los datos al Intent donde va nuestra direccin web o URI (parseada en formato Uri evidentemente). Por ltimo llamas a que comience el Intent y hecho! Recuerda que los Intent puedes usarlos dentro de tus Activity cuando pulsa el usuario por ejemplo un botn, o al lanzarse un evento como puede ser una pulsacin de tecla. Tienes dudas? Usa los comentarios y te contestar con la mayor rapidez posible.
pg. 4
Necesitamos descargar el SDK de AdMob para incluirlo en nuestra aplicacin. En mi caso, tras varios tutoriales externos no consegua meter los anuncios en la aplicacin. Esto era porque no vena en ninguno de ellos este paso: meter el SDK COPINDOLO tal cual a la carpeta /libs del proyecto. Si no tienes esa carpeta creada por lo que sea, crala y copia y pega dentro de esa carpeta el SDK de AdMob. Adems de esto, hay que hacer lo tpico que es linkar la librera en eclipse. Esto se hace en Proyecto -> Propiedades -> Ruta de Java Build (o Java Build Path). Ah te vas a la pestaa libreras (Libraries) y pulsas en Aadir JAR externo (Add External JARs). Lo aades y listo. Tras estos pasos tienes tu aplicacin con las herramientas listas para empezar a usar las funciones y libreras de AdMob. Sin este paso bien hecho, NO FUNCIONA! as es que hazlo bien!
pg. 5
1 2
Despus tienes que aadirle permisos para que funcionen los anuncios:
1 2
1 2 3 4 5 6
Como puedes ver es un simple LinearLayout al que le he dado un identificador anuncio para poder luego trabajar con l en el cdigo java de la aplicacin. Le he dado una altura de 60dp. Decir que hay varios formatos de anuncio. Yo eleg ese. T quizs quieras otro formato. Eso ya es personal de cada uno.
1 2 3
pg. 6
1 2 3 4 5 6 7 8 9 10
// Crear la adView adView = new AdView(this, AdSize.BANNER, "a150xx222xxxxx"); LinearLayout layout = (LinearLayout)findViewById(R.id.anuncio); // Aadirle la adView layout.addView(adView); // Iniciar una solicitud genrica para cargarla con un anuncio adView.loadAd(new AdRequest());
Primero creamos el adView. IMPORTANTE!! el identificador que ves es el que tienes que sacar de la pgina de adMob que ser personal. Despus hacemos referencia a nuestro layout anuncio. Le aadimos el adView a nuestro layout anuncio. As ya sabe la aplicacin donde tiene que visualizar los anuncios. Por ltimo llamamos a loadAd para que haga peticiones de anuncios. Y ya est.
pg. 7
pg. 8
pg. 9
pg. 10
pg. 11
requestWindowFeature(Window.FEATURE_NO_TITLE);
1 2 3 4 5
IMPORTANTE: debes colocarlo en todas y cada una de las activity porque si no slo te la eliminar de aquella activity donde la hayas puesto. OJO! siempre delante el Request del SetContentView porque de lo contrario escupir una excepcin/ error.
pg. 12
overridePendingTransition(R.anim.entrada, R.anim.salida);
Esa lnea lo que hace es llamar con la funcin overridePendingTransition a dos XML alojados en la carpetares/anim. Esto ltimo es importantsimo, ya que si no estn alojados ah no podr generarse bien el archivo R.java dando problemas. Y os preguntarisy cmo construyo un XML de tipo animador o animation? Es sencillo. Veamos R.anim.entrada:
1 2 3 4 5 6
<?xml version="1.0" encoding="utf-8"?> <set> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromYDelta="100%p" android:toYDelta="0%p" android:duration="@android:integer/config_longAnimTime"/> </set>
1 2 3 4 5 6
<?xml version="1.0" encoding="utf-8"?> <set> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromYDelta="0" android:toYDelta="-100%p" android:duration="@android:integer/config_longAnimTime" /> </
Cmo personalizar nuestra animacin? Para ver las posibilidades que tiene tenemos que acudir al Animation Resources del Developer de Android donde vienen definidos los parmetros para poder usar en nuestras animaciones. Como veis es tan sencillo como crear los dos XML con las animaciones y despus llamar a la funcin que las activa.
pg. 13
1 2 3
1 2 3 4
pg. 14
android:maxLength="2"
Otra cosa muy sencilla pero muy prctica a la hora de desarrollar formularios en Android. Suerte con vuestras apps!
pg. 15
Cmo hacer que no se gire la pantalla de mi Android de modo Vertical o Portrait a modo Horizontal o Landscape
Seguramente os habr surgido una pequea duda respecto a la orientacin del telfono, el tpico gesto en el que giramos el mvil del modo vertical o Portrait, al modo horizontal o Landscape. Pues bien, simplemente con pegar esta lnea de cdigo que viene a continuacin dentro del mtodo OnCreate de vuestra activity.
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
NOTA: Si queris que vaya en todas las Activity, tendris que pegarlo en todos y cada uno de los mtodos OnCreate de dichas Activity. Si tienes alguna duda y quieres que te ayude, pregntame.
pg. 16
1 2 3 4 5
Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send."); sendIntent.setType("text/plain"); startActivity(sendIntent);
pg. 17
1 2 3 4 5 6 7 8 9 10 11
Button sendBtn = (Button) findViewById(R.id.send_btn_id); sendBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View v){ Intent i = new Intent(Intent.ACTION_SEND); i.setType("message/rfc822") ; i.putExtra(Intent.EXTRA_EMAIL, new String[]{"test@gmail.com"}); i.putExtra(Intent.EXTRA_SUBJECT,"asunto del mensaje"); i.putExtra(Intent.EXTRA_TEXT,"cuerpo del mensaje"); startActivity(Intent.createChooser(i, "Seleccionar aplicacin.")); } });
COMENTARIOS AL CDIGO
Aunque no hay mucho que aadir porque es poquito cdigo, ah van unos comentarios: Primeramente es necesario crear el botn (tipo Button) y referenciarlo en este caso a un botn definido en un layout que se llama send_btn_id. Ya sabis que para referenciarlo siempre usamos la misma estructura: usamos la funcin findViewById y entre parntesis la referencia al elemento, que en este caso es R.id.send_btn_id. Una vez creado el botn, le aadimos el listener con el evento onClickdentro para que detecte los eventos Click del usuario. Dentro del eventoonClick definiremos un Intent con parmetro ACTION_SEND. Al Intent le pasaremos parmetros como EXTRA_EMAIL (para darle el email),EXTRA_SUBJECT (para darle el asunto del mensaje), EXTRA_TEXT (para darle el cuerpo del mensaje), etc Una vez creado el Intent, lo que se hace es comenzar una nueva actividad con la funcin startActivity y le pasamos como parmetro uncreateChooser (que crea una ventana flotante de eleccin de aplicaciones) con el texto que queramos que salga en esa ventana flotante. De esta forma ya tenis el cdigo para enviar un mail desde una aplicacin de Android, usando las aplicaciones nativas de Android (Gmail, Mail, etc)
pg. 18
finish();
1. 2. 3. 4.
Comenzar Eclipse Window -> AVD Manager Lanzar el emulador correspondiente Ahora s, runear o hacer Run en la aplicacin que queramos
En ese caso ya no se os colgar nunca ms el emulador, os evitar muchos quebraderos de cabeza y tiempo perdido.
pg. 19
miBoton.setEnabled(false);
Con eso hars que si estaba el botn activo pase a estar desactivado. Espero que te sirva y cualquier duda ya sabes, en comentarios.
pg. 20
1 2 3 4 5
Es muy sencillo. Primero creamos el Intent con la accin ACTION_CALL. Despus le pasamos el dato necesario que es el telfono al que quieres llamar (puede ser fijo, una variable o lo que necesites). Y por ltimo se llama a que comience con startActivity. Tambin hace falta darle permisos de llamada. Esto se hace en el AndroidManifest.xml donde le meteremos la lnea:
<uses-permission android:name="android.permission.CALL_PHONE"></usespermission>
Simplemente decir que se suele llamar desde un Button por ejemplo. Eso ya depende de la imaginacin. Lgicamente necesita de un evento para ser lanzado
1 2
pg. 21