0% encontró este documento útil (0 votos)
158 vistas26 páginas

M4 - Programación Móvil

Este documento resume los conceptos clave de programación móvil con conexión a base de datos SQLite. Explica el uso de vistas avanzadas como GridView y Navigation Drawer para mejorar la interfaz de usuario. También cubre la configuración de la conexión a una base de datos SQLite, incluidas las clases y servicios necesarios. Por último, detalla los pasos para publicar una aplicación móvil en Android, incluida la definición de la aplicación, el precio y la publicación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
158 vistas26 páginas

M4 - Programación Móvil

Este documento resume los conceptos clave de programación móvil con conexión a base de datos SQLite. Explica el uso de vistas avanzadas como GridView y Navigation Drawer para mejorar la interfaz de usuario. También cubre la configuración de la conexión a una base de datos SQLite, incluidas las clases y servicios necesarios. Por último, detalla los pasos para publicar una aplicación móvil en Android, incluida la definición de la aplicación, el precio y la publicación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 26

MÓDULO

Área: TECNOLOGÍA

4 Curso: PROGRAMACIÓN MÓVIL


Módulo: Programación móvil con conexión a base de datos SQLite
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL

Programación móvil con conexión a base de datos SQLite


Índice

Introducción ......................................................................................................................................................... 1
1. Vistas Avanzadas............................................................................................................................................... 2
1.1 GridView ...................................................................................................................................................................... 2
1.2 Barra de Acciones ........................................................................................................................................................ 5
1.3 Navigation Drawer ..................................................................................................................................................... 10
2. Conexión a base de datos con SQLite ............................................................................................................. 13
2.1 Configuración de la conexión .................................................................................................................................... 14
2.2 Clase Producto y Servicios ......................................................................................................................................... 18
3. Publicación de una App de Android ............................................................................................................... 20
3.1 Cómo publicar una App de Android .......................................................................................................................... 20
3.2 Definir tu App ............................................................................................................................................................ 21
Cierre .................................................................................................................................................................. 23
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL

Programación móvil con conexión a base de datos SQLite


Mapa de Contenido

Programación móvil con conexión a base de datos SQlite

Vistas Avanzadas - Conexión con Base de Publicación de App


Barra de Acciones Datos (SQLite) en Android

Configuración
GridView Definir App
de Conexión

Barra de Acciones Clase producto Definir Precio


Action Bar y Servicios y Publicación

Navigation Drawer
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 1

Programación móvil con conexión a base de datos SQLite


RESULTADO DE Analiza aplicaciones para dispositivos móviles, con Android utilizando
programación nativa, aplicando programación Java en entorno Android Studio,
APRENDIZAJE
utilizando conexión a base de datos SQLite, componentes de vistas y patrones
DEL MÓDULO de diseño de software en el ámbito de la programación.

Introducción
Chile es uno de los países con mayor desarrollo económico de la región. Según estudios realizados por IAB
Trends, Chile se ha convertido en el país con más teléfonos inteligentes en América Latina, lo que potencia
enormemente la industria del desarrollo de App móviles.

Debido a esa tendencia alcista del mercado móvil y continuando con la


temática de la asignatura, en este cuarto módulo profundizaremos los
contenidos para desarrollar y utilizar los diferentes componentes de una
aplicación móvil, desde vistas más avanzadas como GridView en Android
Studio, que nos permite visualizar múltiples imágenes como, por ejemplo, un
catálogo de productos. También utilizaremos componentes para la
accesibilidad de los usuarios, al generar Menú con Action Bar y generaremos
interfaces de navegación avanzadas con Navigation Drawer. Es de vital
importancia los datos, por tanto, en la segunda parte analizaremos el almacenamiento de estos con la base de
datos SQLite que trae Android, en este tema crearemos las tablas que nos permiten guardar, listar, modificar
y eliminar datos. Con estas herramientas alcanzaremos a hacer una aplicación móvil polivalente y de alta
calidad, digna de ser publicada, por lo que en la última parte de este módulo estudiaremos los pasos necesarios
para la publicación de la App, la inscripción en Google Play, comercialización y venta en el mundo, de nuestro
proyecto de aplicación.

Por lo anteriormente expuesto, publicar una App es un paso de suma importancia, tanto o más que diseñarla,
por lo que debemos cuidar que nuestra aplicación se encuentre funcionando perfectamente antes de
exponerla al público en general, en resumen, no importa que se trate una aplicación, ya sea propia o para un
cliente; recuerda que este proyecto debe tener un buen nombre, un buen icono, buenas sreenshots y una
buena descripción. Tan sencillo como que la aplicación que diseñaste es tu producto, es tu oportunidad, ¡No
la puedes desperdiciar!
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 2

Programación móvil con conexión a base de datos SQLite


1. Vistas Avanzadas
1.1 GridView
Es un componente visual más avanzado, capaz de organizar
datos en forma de cuadricula, mediante el uso de un
AdapterView para mejorar la accesibilidad del usuario. A
diferencia de un ListView, este contenedor permite
scrolling horizontal y vertical en sus interacciones.

Para recordar, las views o vistas se distribuyen sobre los


Layouts. Un GridView es un tipo de layout (diseño) que nos
muestra una serie de elementos en forma de tabla y que
podemos deslizar verticalmente. El GridView mostrará una
cuadrícula de vistas, cada una de ellas puede representar
diversos elementos1.

Ejemplo de GridView “Crear Proyecto Mascotas”:


1. En activity_main.xml, arrastrar de Palette componente GridView y asignar nombre de variable
gridview. En la versión 2.0, el componente ListView se encontraba en la pestaña (Palette)
"Containers" del activity_main.xml. Desde la versión 3.0 de Android Studio el componente GridView
se encuentra en la pestaña Legacy.

Figura 1 - Uso de GridView

1
https://developer.android.com/guide/topics/ui/layout/gridview
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 3

Programación móvil con conexión a base de datos SQLite


2. En Main_Activity.Java copiar el código de la figura 2. Recuerda que los // son comentarios en el código.

Figura 2 – Clase MainActivity – Mascotas

3. Crear la clase ImageAdapter.java y crear el siguiente código. No olvidar asignar las imágenes y
recordar que el nombre de las imágenes debe ir en minúsculas.

Figura 3. Clase ImageAdapter


Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 4

Programación móvil con conexión a base de datos SQLite


Código ImageAdapater:

package com.example.clrubilarc.mascotas;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

/**
* Created by clrubilarc on 19-09-17.
*/

//un BaseAdapter puede usarse para un Adapter en un listview o gridview


// hay que implementar algunos métodos heredados de la clase Adapter,
//porque BaseAdapter es una subclase de Adapter
// estos métodos en este ejemplo son: getCount(), getItem(), getItemId(), getView()
public class ImageAdapter extends BaseAdapter {
private Context mContext;

// references to our images


// en un array de Integer se guardan los números que son los id de todos los
// recursos guardados en drawable
// dentro de la carpeta res/drawable están todas las imágenes con esos
// nombres. con su número entero se les puede identificar como recurso
private Integer[] mThumbIds = { R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5, R.drawable.sample_6,
R.drawable.sample_7, R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4,
R.drawable.sample_5, R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1, R.drawable.sample_2,
R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7 };

// el constructor necesita el contexto de la actividad donde se utiliza el


// adapter
public ImageAdapter(Context c) {
mContext = c;
}

public int getCount() {// devuelve el número de elementos que se introducen


// en el adapter
return mThumbIds.length;
}

public Object getItem(int position) {


// este método debería devolver el objeto que esta en esa posición del
// adapter. No es necesario en este caso más que devolver un objeto null.
return null;
}
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 5

Programación móvil con conexión a base de datos SQLite


public long getItemId(int position) {
// este método debería devolver el id de fila del item que esta en esa
// posición del adapter. No es necesario en este caso más que devolver 0.
return 0;
}

// crear un nuevo ImageView para cada item referenciado por el Adapter


public View getView(int position, View convertView, ViewGroup parent) {
// este método crea una nueva View para cada elemento añadido al
// ImageAdapter. Se le pasa el View en el que se ha pulsado, converview
// si convertview es null, se instancia y configura un ImageView con las
// propiedades deseadas para la presentación de la imagen
// si converview no es null, el ImageView local es inicializado con este
// objeto View
ImageView imageView;
if (convertView == null) {

imageView = new ImageView(mContext);


imageView.setLayoutParams(new GridView.LayoutParams(300, 300));// ancho
// y alto
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}

//la imagen de este imageView será el elemento de la


//posicion 'position' del vector mThumbIds, declarado abajo.
imageView.setImageResource(mThumbIds[position]);
return imageView;
}

1.2 Barra de Acciones


La barra de acciones o Action Bar es uno de los elementos de diseño más importantes en las actividades de tu
App, ya que proporciona una estructura visual y elementos interactivos conocidos por los usuarios. El uso de
la barra de acciones permite la alineación de tu App con otras Apps para Android. Esto hace posible que los
usuarios comprendan rápidamente la manera de usarla y tengan una experiencia excelente. Las funciones
claves de la barra de App son las siguientes:

Un espacio exclusivo para Acceso a acciones Compatibilidad con


darle identidad a tu app e importantes de forma navegación y cambios de
indicar la ubicación del predecible; por ejemplo, la vistas (con pestañas o listas
usuario en ella. búsqueda. desplegables).
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 6

Programación móvil con conexión a base de datos SQLite


EJEMPLO

Para continuar, visualicemos el próximo ejemplo que fue tomado del siguiente enlace:

http://www.tutorialesprogramacionya.com/javaya/androidya/androidstudioya/detalleconcepto.php?codigo=44

Problema: Desarrollar una aplicación que muestre en el ActionBar el título "Este mundo" y luego tres opciones
en el menú desplegable del ActionBar.

Figura 4 – ActionBar

Para obtener el resultado de la figura 4, debemos seguir los siguientes pasos:

1. El título del ActionBar lo debemos modificar abriendo el archivo strings que se encuentra en la carpeta
res/values y su contenido por defecto al crear el proyecto es:

<resources>
<string name="app_name">menuopciones</string>
</resources>
Podemos cambiar el contenido de la constante "app_name":
<resources>
<string name="app_name">Este mundo</string>
</resources>
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 7

Programación móvil con conexión a base de datos SQLite


Figura 5 – AndroidManifest.xml

2. Ahora tenemos que definir las opciones de nuestro menú desplegable, debemos crear un archivo XML
con las opciones, para esto presionamos el botón derecho sobre la carpeta res y seleccionamos la
opción New -> Android resource file:

Figura 6 – Crear Recurso de Archivo


Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 8

Programación móvil con conexión a base de datos SQLite


3. En este diálogo indicamos el nombre del archivo a crear "menuopciones" y el tipo de recurso
(Resource type) de tipo “Menu”:

Figura 7 – Crear Menu

Arrastramos Menu Item a nuestra ventana y configuramos las propiedades:

Figura 8 – Menu de Opciones


Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 9

Programación móvil con conexión a base de datos SQLite


Figura 9 –Menuopciones.xml

package com.example.clrubilarc.actionbar;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//El método onCreateOptionsMenu lee el archivo menuopciones.xml donde definimos el menú de opciones:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menuopciones, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id==R.id.opcion1) {
Toast.makeText(this,"Primera opción",Toast.LENGTH_LONG).show();
}
if (id==R.id.opcion2) {
Toast.makeText(this,"Segunda opción",Toast.LENGTH_LONG).show();
}
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 10

Programación móvil con conexión a base de datos SQLite


if (id==R.id.opcion3) {
Toast.makeText(this,"Tercer opción", Toast.LENGTH_LONG).show();
}
if (id==R.id.opcion4) {
Toast.makeText(this,"Cuarta opción", Toast.LENGTH_LONG).show();
}
return super.onOptionsItemSelected(item);
}

1.3 Navigation Drawer


El control Navigation Drawer permite navegar fácilmente por la App, es un panel lateral deslizable que
contiene un menú; inicialmente permanece oculto. Es posible mostrar el menú lateral aplicando un toque en
el lado izquierdo de la pantalla y arrastrando hacia la derecha o tocando el icono de la aplicación ubicado en la
barra de acciones.

Este control necesita un contenedor DrawerLayout compuesto por el contenido de la activity y el menú del
Navigation Drawer. Componemos el menú del Navegation Drawer con un NavegationView que usa un menú
para poblar los ítems y un layout para la cabecera, o con un listView, que usa un adaptador para ello.

Figura 10 – Navigation Drawer


Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 11

Programación móvil con conexión a base de datos SQLite


Lo primero que debemos hacer es modificar la estructura del layout de la actividad en la cual deseamos que
se muestre el menú lateral, añadimos el DrawerLayout como elemento raíz del layout principal de la actividad,
además de un ListView para el menú lateral (Navigation Drawer). Si este era el layout con el contenido
principal a mostrar:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hola Mundo!" />
</RelativeLayout/>

Al agregar el DrawerLayout y el ListView en el layout de la actividad, quedaría de la siguiente manera:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hola Mundo!" />

</RelativeLayout>

<ListView
android:id="@+id/list_view"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 12

Programación móvil con conexión a base de datos SQLite


android:background="#007095"
android:choiceMode="singleChoice"
android:divider="#005875"
android:dividerHeight="2dp" />
</android.support.v4.widget.DrawerLayout>

</RelativeLayout />

Referenciamos el Drawer Layout y el Navigation Drawer


Definido el layout de la actividad, el siguiente paso consiste en referenciar a los elementos con los cuales vamos
a trabajar; el ListView (Navigation Drawer en donde se renderizará nuestro panel o menú lateral):

ListView listView = (ListView) findViewById(R.id.list_view);

Y el DrawerLayout, que representa el contenedor que permite la creación de vistas interactivas tipo Drawer:

DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

Definiendo el Adaptador (Adapter) con la estructura de opciones


Referenciados los elementos los elementos a utilizar en la Actividad, ahora es posible crear el menú de
opciones a partir de una estructura de opciones como una List o Array y establecerlos en el ListView
(Navigation Drawer) a través de un Adapter:

String[] opciones = { "Opción 1", "Opción 2", "Opción 3", "Opción 4" };

listView.setAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_1, android.R.id.text1,
opciones));

Configurando los eventos abrir y cerrar del menú lateral con el icono de la aplicación

Debemos sobrescribir e implementar los siguientes eventos y funciones si queremos personalizar los eventos
al pulsar cada opción:
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 13

Programación móvil con conexión a base de datos SQLite


listView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView
> arg0, View arg1, int arg2,
long arg3) {
Toast.makeText(MainActivity.this, "Item: " + opciones[arg2],
Toast.LENGTH_SHORT).show();
drawerLayout.closeDrawers();
}
});

// Mostramos el botón en la barra de la aplicación


//getActionBar().setDisplayHomeAsUpEnabled(true);

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
if (drawerLayout.isDrawerOpen(listView)) {
drawerLayout.closeDrawers();
} else { Figura 11- Opciones en
drawerLayout.openDrawer(listView); Navigation Drawer
}
return true;
}
return super.onOptionsItemSelected(item);
}

2. Conexión a base de datos con SQLite


Hemos visto en los anteriores módulos como almacenar datos en archivos de texto, ahora veremos otra
herramienta nativa de Android que sirve para almacenar datos en una base de datos llamada SQLite.

SQLite es una base de datos Open Source, (gratuita) muy popular en dispositivos pequeños como Android.
SQLite es relativamente simple de usar, no tiene un servidor de base de datos ejecutándose en un proceso
separado.
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 14

Programación móvil con conexión a base de datos SQLite


2.1 Configuración de la conexión
Problema:
Analizar un programa que permita almacenar los datos de productos. Debe crear la tabla productos y definir
los campos código, nombre y precio.

El programa debe permitir, crear un proyecto en Android Studio y definir como nombre: TestSQL.

Lo primero que haremos es crear una clase Conexión que herede de SQLiteOpenHelper. Esta clase nos permite
crear la base de datos y actualizar la estructura de tablas y datos iniciales.

Para crear una nueva clase desde Android Studio procedemos a presionar el botón derecho del mouse sobre
la carpeta que contienen todos los archivos java del proyecto y seleccionamos New - > Java Class: La clase se
llamará Conexión.java.

Primero hacemos que nuestra clase herede de la clase SQLiteOpenHelper:

package cl.gestiona.test4sql;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
* Created by rubilar on 15-07-17.
*/

public class Conexion extends SQLiteOpenHelper {

La clase SQLiteOpenHelper requiere que se implementen dos métodos obligatoriamente onCreate y


onUpgrade, podemos hacer que el Android Studio nos ayude en su codificación así no tenemos que tipearlos
nosotros: presionamos las teclas "ALT" y "ENTER" teniendo el cursor sobre el nombre de la clase
"AdminSQLiteOpenHelper" y nos aparece un menú donde seleccionamos "Implement Methods" y luego un
diálogo donde seleccionamos los métodos a implementar:
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 15

Programación móvil con conexión a base de datos SQLite


Figura 12 – Métodos de implementación

Código para la clase Conexion.java

package cl.gestiona.test4sql;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
* Created by rubilar on 15-07-18.
*/

public class Conexion extends SQLiteOpenHelper {


private static final String DB_NAME="misdatos";
private static final int VERSION=1;

public Conexion(Context context){


super(context,DB_NAME,null, VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table producto(codigo integer primary key autoincrement,nombre text, precio integer)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}
}
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 16

Programación móvil con conexión a base de datos SQLite


Implementemos la interfaz visual de nuestra aplicación. Debemos crear en nuestro archivo activity_main.xml
la siguiente interfaz:
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 17

Programación móvil con conexión a base de datos SQLite


El código MainActivity. Java es el siguiente:

package cl.gestiona.test4sql;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

private ListView listView;


private EditText txtnombre;
private EditText txtprecio;
private Servicio servicio;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

txtnombre = (EditText) findViewById(R.id.txtnombre);


txtprecio = (EditText) findViewById(R.id.txtprecio);
listView = (ListView) findViewById(R.id.list_productos);

servicio = new Servicio(this);


//cargar el listView
cargaListView();
}

public void guardar(View view){


String nombre = txtnombre.getText().toString();
int precio = Integer.parseInt(txtprecio.getText().toString());

Producto p = new Producto();


p.setNombre(nombre);
p.setPrecio(precio);
servicio.insertar(p);
Toast.makeText(this, "creado!", Toast.LENGTH_SHORT).show();
//actualizar el listView
cargaListView();
}

private void cargaListView(){

ArrayAdapter<Producto> adapter = new ArrayAdapter<Producto>(


this,android.R.layout.simple_list_item_1,servicio.getProductos()
);
listView.setAdapter(adapter);

}
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 18

Programación móvil con conexión a base de datos SQLite


2.2 Clase Producto y Servicios
Crear Clase Producto y asignar sus variables y métodos.

Creamos la Clase Servicio.


Creamos un objeto de la clase ContentValues y mediante el método put inicializamos todos los campos a
cargar.

Seguidamente llamamos al método insert de la clase SQLiteDatabase pasando en el primer parámetro el


nombre de la tabla, como segundo parámetro un null y por último el objeto de la clase ContentValues ya
inicializado (este método es el que provoca que se inserte una nueva fila en la tabla productos en la base de
datos llamada misdatos).

El código de la Clase Servicio:

package cl.gestiona.test4sql;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import java.util.ArrayList;
import java.util.List;

/**
* Created by rubilar on 15-07-17.
*/
public class Servicio {
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 19

Programación móvil con conexión a base de datos SQLite


private Conexion conex;

public Servicio(Context context){

conex = new Conexion(context);


}

public void insertar(Producto p){


SQLiteDatabase db = conex.getWritableDatabase();
try{
ContentValues values = new ContentValues();
values.put("nombre",p.getNombre());
values.put("precio",p.getPrecio());
db.insert("producto", null, values);
}catch(Exception e){
e.printStackTrace();
}finally {
db.close();
}
}

public void eliminarProducto(int codigo){


SQLiteDatabase db = conex.getWritableDatabase();
try{
db.delete("producto",
"codigo=?",
new String[]{String.valueOf(codigo)});
}catch (Exception e){
e.printStackTrace();
}finally {
db.close();
}
}

public List<Producto> getProductos(){


SQLiteDatabase db = conex.getReadableDatabase();
List<Producto>lista = new ArrayList<>();
try{
Cursor cursor = db.rawQuery("select * from producto",null);
while (cursor.moveToNext()){
Producto p = new Producto(cursor.getInt(0),
cursor.getString(1),
cursor.getInt(2));
lista.add(p);
}
}catch (Exception e){
e.printStackTrace();
}finally {
db.close();
}
return lista;
}

}
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 20

Programación móvil con conexión a base de datos SQLite


3. Publicación de una App de Android
3.1 Cómo publicar una App de Android
Lo primero que tenemos que hacer es convertir nuestra cuenta de Google en una cuenta de desarrolladores.
Para ello, accederemos a Google Play Developer Console por primera vez. Seguir el siguiente enlace:

https://play.google.com/apps/publish/signup/

Después de aceptar el acuerdo para desarrolladores, debemos hacer un pago de 25 dólares, una única vez, con
lo que ya podremos ser desarrolladores que distribuyen Apps en Google Play.

Centro de Gestión
Una vez pagados los 25 dólares, podemos entrar en Google Play Developer Console por primera vez, nuestro
centro de gestión e información como desarrolladores. En esta web, podremos ver:

Listado de nuestras Servicios para Google Play Informes de nuestros


aplicaciones Games beneficios

Configuración Anuncios Alertas


Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 21

Programación móvil con conexión a base de datos SQLite


Añadir la nueva Aplicación

Es el momento de subir los archivos APK. Para ello, una vez dentro de Google Play Developer Console debes:
Seleccionar en el menú Tus aplicaciones la opción de Añadir nueva aplicación.

En el menú desplegable, selecciona un idioma predeterminado. Posteriormente, debes añadir un nombre para
la aplicación. Es importante que lo escribas tal y como quieres que aparezca en Google Play. Elige un título
breve y relevante. Una de las claves para un buen título es intentar que sea lo más corto y breve posible. Sólo
así lograrás que los buscadores lean el nombre completo de tu aplicación.

Finalmente, selecciona Subir APK.

3.2 Definir tu App


Una vez subidos los archivos APK debes pasar a lo que se conoce como Store Listing, es decir,
cumplimentar la ficha de la aplicación en Google Play. En este momento deberás indicar desde la
descripción completa de tu aplicación hasta el texto de promoción, el icono o los pantallazos que quieres
mostrar a los usuarios interesados. También deberás definir de manera adecuada la política de privacidad, la
categoría de la tienda donde se va a incluir la aplicación o los datos de contacto.
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 22

Programación móvil con conexión a base de datos SQLite


Definir Precio y Distribución
Finalmente, llegas a la sección de Pricing & Distribution. Desde aquí podrás seleccionar los países donde
quieras que tu App esté disponible. Además, es el momento de elegir si quieres que tu aplicación sea gratuita
o de pago.

Recuerda siempre que, si eliges la opción de pago, para poder cobrar después por los productos publicados en
Google Play, el desarrollador debe disponer de una Cuenta de Pago válida. Estas cuentas se consiguen a través
de un acuerdo independiente con un Procesador de Pagos.

Después de realizar estos pasos estarás listo para colgar una aplicación en Google Play. Para finalizar,
simplemente tienes que cambiar el estado de Borrador (Draft). Justo en este momento, Google ofrece una
serie de consejos para optimizar la información de la App en Google Play.
Área: TECNOLOGÍA M4
Curso: PROGRAMACIÓN MÓVIL Pág. 23

Programación móvil con conexión a base de datos SQLite


Cierre
El módulo conexión a bases de datos SQLite, se desarrolló en tres
temáticas, comenzando por el uso de otros tipos de componentes de
visualización como GridView, que nos permite presentar los elementos
de la aplicación en forma de tabla como un catálogo de productos, el
uso de un GridView es muy parecido al de un ListView, también vimos
en este tema como personalizar nuestras App con Action Bar, esta
herramienta nos permite colocar una barra de título y distintos
elementos que aparecen en la parte superior de la mayoría de
aplicaciones actuales de la plataforma Android.

En algún momento nos encontraremos con la necesidad de almacenar los datos de nuestra aplicación, por lo
que para dar respuesta a este tema, configuramos una base de datos nativas utilizando la base de datos SQLite
y comprendimos como construir tablas. Además, aprendimos a listar, agregar, eliminar y modificar datos en
una aplicación móvil.

En la tercera parte del módulo mostramos como publicar Apps en Google Play2. Cuando publicamos una
aplicación para Android realizamos dos tareas principales: Primero, preparar la aplicación para el lanzamiento,
compilar una versión de lanzamiento de tu aplicación que los usuarios puedan descargar e instalar en sus
dispositivos con tecnología Android, segundo, realizar el lanzamiento de la aplicación, durante el paso de
lanzamiento, puedes publicitar, vender y distribuir la versión de lanzamiento de tu aplicación para los usuarios.

En síntesis, al finalizar este módulo podemos analizar y desarrollar interfaces más complejas, menús
personalizados, podemos crear almacenamiento de datos a través de la base de datos nativa que trae Android.
Después de construir nuestras aplicaciones, podemos publicar y comercializar nuestras aplicaciones móviles.

APORTE A TU FORMACIÓN

En el campo ocupacional, ya sabemos que las Apps forman parte de nuestra vida cotidiana. Estas apps las utilizamos
para consultar el tráfico, el horario de transporte, planificar nuestro dinero, generar una rutina de ejercicios, etc. El
gran crecimiento de las apps en Chile se debe básicamente al desarrollo de la industria del teléfono móvil, según
fuentes del INE (Instituto Nacional de Estadísticas) el número de celulares ha alcanzado las 27.075.209 unidades en
2017. En este contexto el mercado en Chile de las Apps está en constante crecimiento. Las distintas instituciones
necesitan crear, levantar y mantener plataformas en distintas temáticas de aplicaciones, lo cual convierte al desarrollo
de Apps móviles en un campo de amplia demanda.

2
https://developer.android.com/studio/publish/?hl=es-419

También podría gustarte