Hace unos días comencé a hacer una aplicación llamada Globcal e³. ¿Para que sirve? Esta app me la pidió realizar mi papá (fundador de Globcal International, una pequeña ONG afiliada con las Naciones Unidas en la cual participan más de 3.000 miembros), y básicamente el app sirve como un panel para los miembros de dicha organización, ofrece información de la empresa, una librería virtual, foros, feeds RSS, calendario, entre otras cosas. Así que nada que puedan utilizar aquí. También estoy planeando versiones para iOS (iPhone) y Windows Phone 10. El app aún no está disponible en Google Play pues aún me faltan algunas cuantas pulidas.
Hice este post para aportar al menos algo de inteligencia colectiva, y ayudar a la comunidad a armar una aplicación propia para Android.
Comenzando
Lo primero que haremos será descargar
el software requerido. Android Studio 1.3.2 será suficiente, esto es lo primero que descargaremos de Google.
http://developer.android.com/tools/studio/index.html
La aplicación pesa 1.1 GB, así que si no tienes conexión rápida ve haciendo otra cosa. Yo lo descargué en media hora. Procede a instalarlo después.
Ahora, una vez abierto, lo primero que el Studio quiere hacer es comenzar con la aplicación. Coloca como sea desees colocarle a la aplicación, y abajo coloca el dominio de la compañía (esto es para decidir el nombre del paquete únicamente, puedes colocar lo que quieras). Supongamos que llamas a la aplicación "Denunciador" y como dominio colocas "Diamond.com", el nombre del paquete quedaría algo así como "com.diamond.denunciador".
Plataforma Android
Ahora nos va a pedir en qué plataforma queremos desarrollar. Nos da entonces 5 opciones: Phone and Tablet (el menú de al lado nos da a elegir la versión mínima de Android para correr nuestra app, en nuestro caso elegiremos 4.0 Ice Cream Sandwich aunque puedes elegir la que gustes), Wear (para relojes inteligentes), TV (Android para televisores), Android Auto (para los autos más recientes, con GPS Android. Si vas a desarrollar aquí debes fijar "Phone and Tablet" en 5.0 Lollipop o superior), y Glass (los lentes inteligentes de Google. Por ahora están descontinuados, además de que no tenemos descargados los API aún así que nos saltaremos esa). Recomiendo solamente pinchar "Phone and Tablet" y fijar la versión mínima, hay que profundizar en cada app si deseas hacer aplicaciones aquí. Una vez tengas todo dale en "Next".
Ten en cuenta que mientras menor sea la versión de Android seleccionada, menor será la API (o sea, tendrás menos opciones para la app). Puedes trabajar como máximo en el API 23 que corresponde a Android 6.0 Marshmallow (no será compatible con un carajo), y como mínimo en el API 16 que corresponde a Android 4.0 Ice Cream Sandwich. Como realizaremos una app sencilla y en realidad no necesitamos opciones como lector de huellas dactilares ni nada muy complicado, puedes seleccionar el 4.0.
Activities
Ahora nos dará paso para crear una "Activity" o "Actividad" que es más o menos como decir una pantalla de la aplicación. Como vamos a comenzar con un app sencillo y no vamos a crear nada que requiera Google Play Services, pica en "Blank Activity".
Y el siguiente paso sería nombrar nuestra "activity". Pongámosle "LinceActivity", el resto de los campos se llenarán solos. Dale Finish.
Programando la primera pantalla
Nuestra aplicación básica (hecha para este post) tiene dos pantallas: una con un campo de texto y la imagen de nuestro amigo Picardía como botón, y otra con un webview hacia Taringa. Ahora, en la vista previa de la aplicación (algo que tiene muy útil este programa es que puedes previsualizar tu aplicación en varios celulares, como el Motorola Nexus 6, HTC Nexus 9 y LG Nexus 5) hay un textview que dice "Hello World" y a no ser que lo necesites, elimínalo.
Borra lo que está seleccionado en la imagen
Ahora crea un nuevo TextView. Entra en la pestaña "Design" y selecciona "Medium Text", y colócalo donde estaba el anterior. En nuestro caso escribiremos "Tantos craps que denunciar y yo perdiendo el tiempo en esta app, que picardía.".
Los códigos del texto, para referencia:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Tantos craps que denunciar y yo perdiendo el tiempo en esta app, que picardía."
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Toca a Picardía para acceder a Taringa!"
android:id="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
Ahora haremos el botón de Picardía, que nos servirá como enlace a Taringa. Para subir la imagen, tienes que echar un vistazo en los directorios, copiar nuestra imagen (tiene que estar en la computadora y de allí la copias), y la pegas en el directorio "drawable". Una vez lo hagas, simplemente dale OK y aparecerá en el directorio. De ahí, coloca un ImageButton y dale doble clic, en el campo src coloca "@drawable/nombre-de-imagen".
El nombre original era 1F8, sin embargo no se pueden colocar valores numéricos al principio de la imagen o dará error. En su lugar, la volví a subir y le puse "picardo".
De nuevo, les dejo el código:
El nombre original era 1F8, sin embargo no se pueden colocar valores numéricos al principio de la imagen o dará error. En su lugar, la volví a subir y le puse "picardo".
De nuevo, les dejo el código:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:src="@drawable/picardo" />
Así queda el botón:
Creando la segunda activity
Creando la segunda activity
Entonces toca ya crear la segunda activity, que es la que mostrará la homepage de Taringa. Esta es más complicada y requiere más código que la anterior (mucho más). Haz clic derecho en el directorio "main" (arriba del todo, debajo de la toolbar. Creo que puedes encontrarla tú mismo) y dale New >> Activity >> Blank Activity.
Para taringueros nivel 5
De nuevo, llámala como quieras, aquí le pondremos "TaringaActivity". Importante fijar en Hierarchical Parent nuestra anterior activity, para poder regresarnos a la anterior pantalla. Caso contrario nos quedamos atrapados allí.
Tenemos que hacer tres cosas antes de empezar a hacer cambios en esta activity: primero, ve a AndroidManifest.xml (a la izquierda tienes la lista de directorios, vas a app >> manifests >> AndroidManifest.xml, haz doble clic aquí). Aquí coloca el siguiente código:
<uses-permission android:name="android.permission.INTERNET" />
Ubicación en el código de AndroidManifest.xml:
Esto nos servirá para indicarle al sistema que necesita acceso a Internet, permiso que solicitará al instalarse.
Ahora vamos a strings.xml (app >> res >> values >> strings.xml) y buscamos el siguiente valor:
Esto nos servirá para indicarle al sistema que necesita acceso a Internet, permiso que solicitará al instalarse.
Ahora vamos a strings.xml (app >> res >> values >> strings.xml) y buscamos el siguiente valor:
<string name="title_activity_taringa">TaringaActivity</string>
Y cambiamos "TaringaActivity" por el nombre que querramos. Aquí pondremos simplemente Taringa!.
Por último vamos a nuestra anterior actividad, específicamente al código JavaScript (app >> java >> com.diamond.denunciador >> LinceActivity), allí agregaremos este código dentro de onCreate:
Por último vamos a nuestra anterior actividad, específicamente al código JavaScript (app >> java >> com.diamond.denunciador >> LinceActivity), allí agregaremos este código dentro de onCreate:
Button yourButton = (Button) findViewById(R.id.imageButton);
yourButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(LinceActivity.this, TaringaActivity.class));
}
});
Para referencia con el resto del código:
Finalmente, volvamos a nuestra nueva actividad (app >> res >> layout >> activity_taringa.xml).
Allí, volvemos a sacar el Hello World y lo reemplazamos con este código:
Finalmente, volvamos a nuestra nueva actividad (app >> res >> layout >> activity_taringa.xml).
Allí, volvemos a sacar el Hello World y lo reemplazamos con este código:
<WebView
android:id="@+id/activity_main_webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Referencia:
Vamos ahora al JavaScript del TaringaActivity (app >> java >> com.diamond.denunciador >> TaringaActivity). Aquí aplicar el código será un poco más complicado, pero sigue leyendo.
Coloca este código:
Vamos ahora al JavaScript del TaringaActivity (app >> java >> com.diamond.denunciador >> TaringaActivity). Aquí aplicar el código será un poco más complicado, pero sigue leyendo.
Coloca este código:
private WebView mWebView;
Referencia:
Luego, coloca este otro código dentro de onCreate:
Luego, coloca este otro código dentro de onCreate:
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.taringa.net";
Referencia:
Ya por este punto la aplicación debería estar funcionando. Puedes guardarla con Gradle (sin firmar) o generar una APK firmada (generalmente sirve para cuando deseas subirla a Play). Puesto que solo es un pequeño virgo
proyecto que nadie quiere descargar, la vamos a guardar sin firmar. En la toolbar dale a la opción de app que tiene el robot de Android y dale "Edit Configurations".
Ya por este punto la aplicación debería estar funcionando. Puedes guardarla con Gradle (sin firmar) o generar una APK firmada (generalmente sirve para cuando deseas subirla a Play). Puesto que solo es un pequeño virgo
Dale al + en la esquina y selecciona Gradle.
Dentro, para seleccionar el Gradle Project dale a los tres puntos en la opción (examinar) y selecciona el archivo build.gradle. Luego escribe en "Tasks" escribe "assemble".
Dale al botón "OK". Verás que el menú de antes que tenía el robot de Android cambió a un menú llamado Unnamed (o cualquier nombre que le hayan dado). Dale al botón a la derecha, a la flecha.
O Shift+F10 en todo caso.
Espera a que termine de construirse la build y habrás terminado. Puedes encontrar tu aplicación terminada, en mi caso, en C:/Usuarios/TuUsuario/AndroidStudioProjects/Denunciador/app/build/outputs/apk y cualquiera de los archivos es la aplicación. Muévela a cualquier dispositivo para instalarla.
Luego subiré vídeo de la aplicación, estoy apurado y grabaré el vídeo llegando
