Вы находитесь на странице: 1из 7

Documentación

Creación Proyecto PhoneGap en Eclipse para Android

Requerimientos:
1. Eclipse Helios o superior
http://www.eclipse.org/downloads/

2. Android SDK y ADT Plugins para Eclipse


http://developer.android.com/sdk/installing.html

3. Ultima versión de PhoneGap (Actual Cordova)


http://phonegap.com/download-thankyou/

Debemos instalar Eclipse, Android SDK y luego ADT Plugins (instrucciones en el link de instalación),
reiniciamos nuestro IDE.

● Creamos un proyecto nuevo


○ Android > Android Project
○ Escribimos nombre del proyecto
○ Seleccionamos versión SDK, en este caso debe ser versión Android 2.1 o superior
para utilizar con PhoneGap
○ Escribimos nombre del paquete, Create Activity con check y finalizamos.
● Integramos PhoneGap -Cordova
○ Creamos 2 directorios dentro de nuestro proyecto /libs y /assets/www
○ Descomprimimos PhoneGap que descargamos, entramos a /lib/android/ y copiamos
dentro de nuestro proyecto:
■ cordova-x.x.x.js en /assets/www
■ cordova-x.x.x.jar en /libs
■ copiamos carpeta xml en /res
■ refrescamos el proyecto con click derecho > refresh deberíamos ver lo
siguiente:

○ Configurar BuildPath
■ Botón derecho al proyecto BuildPath > Configure BuildPath
■ Ir a pestaña Libraries > Add JAR’s y seleccionamos nuestro proyecto
/libs/Cordova-x.x.x.jar y OK
○ Configuramos la Actividad.
■ dentro de /src/cl.tide/EjemploPruebaActivity.java como en el ejemplo o como
según corresponda
■ Agregamos import org.apache.cordova.*; y eliminamos import
android.app.Activity;
■ cambiamos Activity por DroidGap
■ Reemplazamos la línea setContentView() con
super.loadUrl("file:///android_asset/www/index.html");
○ Configuramos el AndroidManifest.xml
■ Entramos en modo edición y bajo línea de versión SDK agregamos:

<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission
android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />

■ Dentro de Tag <application> agregamos una <activity>

<activity
android:name="org.apache.cordova.DroidGap"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden">
<intent-filter> </intent-filter>
</activity>

● Creamos “Hola Mundo!”


○ dentro de /assets/www creamos index.html y agregamos:

<!DOCTYPE HTML>
<html>
<head>
<title>Hola Mundo!</title>
<!-- Se debe cambiar src="cordova-1.x.x.js" segun la version del JS -->
<script type="text/javascript" charset="utf-8" src="cordova-1.6.0.js"></script>
</head>
<body>
<h1>Hola Mundo!</h1>
</body>
</html>
Manejo de JSON con jQuery Mobile

Ejemplo trae con la hora en milisegundos de un Web Services abierto de Yahoo! en formato JSON
escrito en jQuery Mobile (funciona sobre cualquier plataforma).
URL JSON
http://developer.yahooapis.com/TimeService/V1/getTime?
appid=YahooDemo&output=json&callback=?

El objeto JSON viene con la siguiente estructura

{
"Result": {
"Timestamp": 1334697268
}
}

El número es nuestra variable de retorno.

Se desplegar en un cuadro de dialogo luego de apretar el botón “Ver Tiempo” llamando a una función
que posee la URL de consulta en una variable, luego llama a la getJSON propio de jQuery con el cual
se deserializa el objeto y se despliega el resultado como se puede ver en el código.

index.html
<!DOCTYPE HTML>
<html>
<head>
<title>Manejo JSON</title>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="utf-8">
<script type="text/javascript" charset="utf-8" src="cordova-1.6.0.js"></script>

<link rel="stylesheet" href="jqm/jquery.mobile-1.1.0.min.css" />


<script src="jqm/jquery-1.7.1.min.js" charset="utf-8"></script>
<script src="jqm/jquery.mobile-1.1.0.min.js" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8" src="app.js"></script>
</head>
<body>
<div data-role="page" data-theme="e">
<div data-role="header" data-theme="e">
<h1>Manejo JSON</h1>
</div><!-- /header -->
<div data-role="content" >
<a href="#res" data-role="button" data-rel="dialog" data-icon="gear" data-theme="e"
data-iconpos="bottom" onclick="getTime();">Ver Tiempo</a>
</div><!-- /content -->
</div><!-- /page -->
<!-- Start of second page -->
<div data-role="page" id="res" data-theme="e" >
<div data-role="header" data-theme="e">
<h1>Time</h1>
</div><!-- /header -->
<div id="tiempo" data-role="content">
</div><!-- /content -->
</div><!-- /page -->
</body>
</html>
app.js

function getTime(){
var url= "http://developer.yahooapis.com/TimeService/V1/getTime?appid=YahooDemo&output=json&callback=?";

$.getJSON(url , function(data){
$('#tiempo').html('<h1>'+data.Result.Timestamp+'</h1>');
});
}

Google Analytics para Android con PhoneGap

Descargar, copiar en /libs del proyecto y agregar al BuildPath del proyecto


https://github.com/purplecabbage/phonegap-
plugins/blob/master/Android/Analytics/lib/libGoogleAnalytics.jar?raw=true

Copiar en mismo directorio donde se encuentra Activity (Java)


https://raw.github.com/purplecabbage/phonegap-
plugins/master/Android/Analytics/src/com/phonegap/plugins/analytics/GoogleAnalyticsTracker.java

Copiar dentro de /assets/www


https://raw.github.com/purplecabbage/phonegap-plugins/master/Android/Analytics/www/analytics.js
Editar analytics.js y borrar o comentar la penúltima linea

/**
* Load Analytics
*/
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin('analytics', new Analytics());
// PluginManager.addService("GoogleAnalyticsTracker", "com.phonegap.plugins.analytics.GoogleAnalyticsTracker");
});

Editar fichero GoogleAnalyticsTracker.java y editar package de acuerdo a donde se


encuentre según este ejemplo package cl.tide; , además verificar si es PhoneGap no se
realizan modificaciones pero en el caso de Cordova se deben cambiar los import por los
siguientes.

import org.apache.cordova.api.Plugin;
import org.apache.cordova.api.PluginResult;
import org.apache.cordova.api.PluginResult.Status;

Agregar dentro de /res/xml/plugins.xml.


En value, corresponde la ruta donde se encuentra el fichero de GoogleAnalyticsTracker.java

<plugin name="GoogleAnalyticsTracker" value="cl.tide.GoogleAnalyticsTracker"/>

Incluir en el HTML para cargar el analytics.js

<script type="text/javascript" charset="utf-8" src="analytics.js"></script>


Para solicitar el envío de información a Google Analytics dentro del script verificar que se cuenta con
acceso a internet.

window.plugins.analytics.start ("UA-4220548-20", // UA- ID CuentaD


function() { console.log("Iniciado!") }, // Exito conexion
function() { console.log("no iniciado") } // Fallo conexion
);

window.plugins.analytics.trackPageView (
"/consulta/"+var+"", // Pagina y variable
function() {console.log("track Pagina, OK!")}, // Exito TrackPage
function() {console.log("track Pagina problema")} // Fallo TrackPage
);

Subir Aplicaciones APK a Google Play

1. Definir nombre aplicación


a. Abrir /res/values/strings.xml
b. Seleccionar app_name y en campo value, ingresar nombre de aplicación.
2. Determinar detalles de configuración
a. Abrir AndroidManifest.xml y seleccionar pestaña Manifest.
b. Determinar los campos Version Code y Version Name estos deben ser actualizados
cuando se suben nuevas versiones dentro de Google Play
c. Ir a pestaña Permissions y dejar solo permisos que serán utilizados en la aplicación.
d. Guardar cambios del fichero.
3. Crear archivo Android instalable APK con firma
a. Botón secundario al proyecto y seleccionar exportar
b. Ir a Android > Export Android Application
c. Verificar nombre del proyecto seleccionado
d. Seleccionar Create new keystore, para crear firma, en caso contrario seleccionar
archivo e ingresar password.
e. Determinar donde se guardara archivo de firma sin extensión y introducir password
f. Ingresar datos solicitados en campo Validity (years) debe decir 50 y Country Code CL
para Chile.
g. Definir carpeta donde guardaremos nuestro APK con firma y finalizar.
Creación cuenta Google Play

Repositorio para dispositivos Android para descarga de aplicaciones desde su tienda.

En la actualidad para Chile solo esta disponible la opción de aplicaciones gratuitas y no cuenta con
servicio Google Checkout actualmente desde su tienda.
En el siguiente link encontramos los países disponibles por el momento.

http://support.google.com/googleplay/android-developer/bin/answer.py?
hl=en&answer=150324&topic=15867&ctx=topic

Para realizar publicaciones, se debe contar con cuenta en Google y hay que habilitar cuenta
desarrollador Android pagando un valor de 25 US$.

Ingresar en https://play.google.com/apps/publish seleccionar continuar e ingresar con nuestra cuenta


de Google para luego poder llevar a cabo el pago con tarjetas de crédito.

Вам также может понравиться