Professional Documents
Culture Documents
PROGRAMAS UTILIZADOS
Android Studio es un entorno de desarrollo integrado para la plataforma Android. Fue
anunciado el 16 de mayo
a Eclipse como el IDE oficial para el desarrollo de aplicaciones para Android. La primera
versin estable fue publicada en diciembre de 2014.
Java
Development
desarrollo para
la
Kit o
(JDK),
creacin
es
un software que
de programas en Java.
provee herramientas
Puede
instalarse
de
en
CREANDO LA APLICACIN
1- PASOS PARA DESARROLLAR UNA APP
Los siguientes datos listados, es informacin general de Internet, que sirvi
para tener una mejor visin acerca del proyecto.
-
Definir el propsito.
Recolectar informacin.
Crear bocetos.
Determinar fuentes de datos y estrategias de sincronizacin.
Elegir recursos y herramientas.
Creando el cascarn.
-
Arquitectura y patrones.
Definir tareas de programacin.
Crear la actividad con los productos.
Crear los fragmentos de estos productos.
Preparar los fragmentos.
Crear los controladores.
Implementar la vista de productos.
Implementar los presentadores individuales de productos.
Crear las fuentes de datos.
app.
Package name: el identificador nico de la aplicacin.
Minimun required SDK: versin de Android mnima para utilizar la app.
Target SDK: mxima versin de Android con la que se ejecutar la app.
Language Level: versin de Java con la que se desarrollar la app.
Entorno de la aplicacin
Web
Service
Servicio
Web
es
un
aplicativo que
facilita
POR EJEMPLO
Facebook es un aplicativo web construido con una determinada arquitectura y
lenguajes de programacin basados en el protocolo HTTP. Sin embargo
podemos usar esta red social en nuestro dispositivo Android.
Cmo es posible esto si Android es basado en Java?
Fcil, a travs de un Web Service construido para gestionar todas aquellas
operaciones sobre una base de datos alojada en los servidores de Facebook.
Quiere decir que ambos aplicativos usan como puente la web para acceder a
un solo repositorio de datos.
Como ves, un Web Service se crea con funcionalidades que permitan obtener
datos actualizados en tiempo real. El hecho de que sea dinmico incorpora el
uso de un lenguaje web para la gestin HTTP que en este caso ser PHP.
Ejemplo de un Wireframing
CREATE DATABASE IF NOT EXISTS `bancosangre` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `bancosangre`;
error_reporting(0);
$usuario = "root";
$password = "";
if($color == 'R') {
} else {
echo'
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Bien Hecho!</strong> '.$text.'
</div>
';
<?php
session_start();
include("../bd/conectar_bd.php");
if (isset($_POST["buscar"])){
$query=$con->prepare('SELECT * FROM bancos where nombre_banco like ? or
localidad like ? or rfc like ? ');
$query->execute(array( "%".$_POST["buscar"]."%", "%".$_POST["buscar"]."%", "%".
$_POST["buscar"]."%"));
}else{
$query=$con->prepare('SELECT * FROM bancos order by nombre_banco');
$query->execute();
}
$don=$query->fetchAll();
?>
<br>
<div class="m-responsive">
<td
class="danger">Id Banco</td>
<td
class="danger">Nombre del Banco</td>
<td
class="danger">Domicilio</td>
<td
class="danger">Telefono</td>
<td
class="danger">Localidad</td>
<td
class="danger">Status</td>
<td
class="danger"></td>
</tr>
<?php
foreach
($don as $r) {
if ($r[14] == "INACTIVO"){
';
}else{
';
echo '
<tr>
<td>'.$r[0].'</td>
<td>'.$r[1].'</td>
<td>'.$r[3].'</td>
<td>'.$r[5].'</td>
<td>'.$r[6].'</td>
<td>'.$r[14].'</td>
<td>
'.$botones.'
</td>
</tr>
';
?>
</table>
</div>
<?php
session_start();
include("../bd/conectar_bd.php");
require '../bd/secure.php';
$query=$con->prepare('SELECT nombre FROM municipios where estado_id="30" order by nombre');
$query->execute();
$mun=$query->fetchAll();
?>
<!DOCTYPE html>
<head>
<?php include("begin.php"); ?>
</head>
<body >
<div class="cuerpo">
<?php include("header_cpanel.php"); ?>
<div class="contenido">
<div class="row div_inicio">
<div class="col-md-12">
<div class="col-md-3">
<label>Telfono</label>
<input type="text" class="form-control
input-sm" id="telefono">
</div>
<div class="col-md-12"><hr></div>
<div class="col-md-3">
<label>RFC</label>
<div class="col-md-5">
<label>Localidad / Municipio</label>
<select class="form-control input-sm"
id="localidad">
<?php
foreach
($mun as $r) {
?>
</select>
</div>
<div class="col-md-12"><hr></div>
<div class="col-md-6">
<label>Correo Electrnico</label>
<input type="text" class="form-control
input-sm" id="correo">
</div>
<div class="col-md-3">
<label>Clave de Acceso</label>
<input type="password" class="formcontrol input-sm" id="clave">
</div>
<div class="col-md-3">
<label>Repetir Clave de
Acceso</label>
<input type="password" class="formcontrol input-sm" id="repetir">
</div>
<div class="col-md-12"><hr></div>
<div class="col-md-2">
<button class="btn btn-primary btn-block " id="btnregistro"
type="button"><span class="glyphicon glyphicon-ok-sign"></span> Registrarse</button>
</div>
<div class="col-md-2">
<a href="cpanel.php" class="btn btn-danger btn-block " ><span
class="glyphicon glyphicon-log-out"></span> Cancelar</a>
</div>
<div class="col-md-8" id="msg"></div>
</form>
</div>
</div>
</div>
</div>
</div>
<?php include("footer.php"); ?>
</div>
</body>
</html>
<script>
$("#btnregistro").click(function(){
$(".error").fadeOut().remove();
if ($("#nombre_banco").val() == "") {
$("#nombre_banco").focus().after('<span class="error">LLene este campo</span>');
return false;
}else if ($("#nombre_contacto").val() == "") {
var parametros = {
"nombre_banco"
: $("#nombre_banco").val(),
"nombre_contacto": $("#nombre_contacto").val(),
"domicilio"
: $("#domicilio").val(),
"colonia"
: $("#colonia").val(),
"telefono"
: $("#telefono").val(),
"localidad"
: $("#localidad").val(),
"rfc"
: $("#rfc").val(),
"estado"
: $("#estado").val(),
"correo"
: $("#correo").val(),
"clave"
: $("#clave").val()
};
$.ajax({
url: "../script/add_bancos.php",
type: "post",
data: parametros,
beforeSend: function(){
$("#msg").html("<img src='../img/load.gif'>");
},
success: function(datos){
$("#msg").html(datos);
document.getElementById('nombre_banco').value="";
document.getElementById('nombre_contacto').value="";
document.getElementById('domicilio').value="";
document.getElementById('colonia').value="";
document.getElementById('telefono').value="";
document.getElementById('localidad').value="";
document.getElementById('estado').value="";
document.getElementById('correo').value="";
document.getElementById('clave').value="";
document.getElementById('repetir').value="";
},
error: function(){
$("#msg").html("Hubo un error...");
}
});
}
});
$("#nombre_banco, #nombre_contacto, #domicilio, #colonia, #telefono, #localidad, #estado, #clave").on('blur keyup
change keypress', function(){
$(".error").fadeOut().remove();
$("#msg").html("");
});
</script>
import android.content.Context;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;
// Atributos
private static VolleySingleton singleton;
private RequestQueue requestQueue;
private static Context context;
/**
* Retorna la instancia unica del singleton
* @param context contexto donde se ejecutarn las peticiones
* @return Instancia
*/
public static synchronized VolleySingleton getInstance(Context context) {
if (singleton == null) {
singleton = new VolleySingleton(context.getApplicationContext());
}
return singleton;
}
/**
/**
* Aade la peticin a la cola
* @param req peticin
* @param <T> Resultado final de tipo T
*/
public <T> void addToRequestQueue(Request<T> req) {
getRequestQueue().add(req);
}
$(document).ready(function(){
$("#estado").change(function(){
load_municipes();
});
});
function load_municipes() {
function(resultado){
if(resultado == false) {
alert("Error");
} else {
$('#bomar_municipes').html('');
$("#estado").attr("disabled",false);
$('#bomar_municipes').html(resultado);
}
}
);
</script>
13- FINALMENTE
Finalmente hemos procesado lo ms importante de nuestra estructura para el
sitio, lo dems fue cuestin de cambiar variables, pero utilizando los mismo
mtodos ya expuestos, las funciones y las principales conexiones a la base de
datos.
Generando as una aplicacin para Android estable, con las funcionalidades
ligadas al sitio web, mostrando la informacin adecuada a travs de una base
de datos MYSQL.
uno
Play
Developer
Console
(https://play.google.com/apps/publish/).
6- Seleccionamos Todas las aplicaciones > Agregar nueva aplicacin.
7- En el men desplegable, seleccionamos el idioma predeterminado y
agregamos un ttulo para la app. Se escribe el nombre de la app como
va a aparecer en Google Play.
8- Seleccionamos Cargar archivo APK.
9- Elegimos los canales de produccin (Alfa o Beta) y selecciona la opcin
para cargar tu archivo APK.
10- Finalmente tendremos nuestra aplicacin en Play Store lista para que
la descarguen nuestros usuarios.