SlideShare una empresa de Scribd logo
1 de 39
Bases de Datos
Guido Ticona Hurtado
guidoti@gmail.com
 Existen 3 enfoques para usar Bases de Datos
◦ 1.Base de Datos Interna (SQLite)
◦ 2.Java JDBC
◦ 3.Servicios WEB
 No requiere conexión de red
 Mucho más rápido
 No requiere seguridad
ODMS
11g
DBMS
Servidor
Smartphone
SQLite
 Conexión on-line
 Cualquier DBMS (se requiere driver jdbc)
 Se requiere tener abiertos los puertos
 Recomendable para Intranet
 Usar VPN
Smartphone
DBMS
Servidor
Driver JDBC
 Se conectan a cualquier DBMS
 Los servicios se pueden desarrollar en
cualquier lenguaje y arquitectura
 Normalmente se usa HTTP
 Se puede usar SSL
 Intercambiar datos entre aplicaciones que no
necesariamente estan en el mismo lenguaje,
sistema operativo o geografia.
 SOAP
 REST
Smartphone
DBMS
Servidor
HTTPSOAP
REST
WEB
 Open Source
 Estandar sintaxis SQL
 Requiere poca memoria 250 kBytes
 Es transaccional
 ORM básico para CRUD
 TEXT => String
 INTEGER => long
 REAL => double
 Otros tipos de datos necesitan ser
convertidos
 No se hace validación de tipos de datos
 android.database.sqlite.*
 SQLiteOpenHelper
 Método construcctor
 Métodos abstractos onCreate() y onUpgrade()
 SQLiteDatabase
 Métodos insert(), update(), delete()
 execSQL(), rawQuery y otros
 Se crea una Clase Helper para administrar la
base de datos
 Se crea una clase DAO para administrar los
registros de una tabla
SQLiteOpenHelper
constructor()
onCreate()
onUpdate()
SQLiteDatabase
insert()
delete()
update()
execSQL()
query()
rawQuery()
DAO
open()
close()
CRUD…
Modelo
getters()
setters()
 SQLite Administrator
 No necesita instalación
 www.yesdel.com/elfec/sqliteadmin.zip
 sqlite3 archivo.db
 .schema tabla
 PRAGMA table_info(tabla)
 .tables
 .help
 SQLite
 ListActivity
 CursorAdapter
 Menu
 Menu Contextual
 Intent’s
 Preferencias
 1. Implementar getAll() con orderby, getById() y con
_id
 2. Implementar Holder
 3. Implementar CursorAdapter
 4. Implementar principal con ListActivity
 5. Implementar Actividad Detalle
 6. Implementar onMenuItemSelected()
 7. Implementar Intent
 8. Implementar interface
OnItemLongClickListener y
onItemLongClick()
 9. Implementar registerForContextMenu(),
onCreateContextMenu() con setHeaderTitle()
 10. Implementar onContextItemSelected()
 11. Implementar XML preferencias
 12. Implementar PreferenceActivity con
addPreferencesFromResource()
 13. Implementar SharedPreferences con
PreferenceManager.getDefaultSharedPreference
s y registerOnSharedPreferenceChangeListener
 SQLiteDatabase.beginTransaction()
 SQLiteDatabase.setTransactionSuccessful()
 SQLiteDatabase.endTransaction()
 Interfaz estandar para conexion a bases de
datos relacionales desde Java
 Es un Java API para ejecutar SQL
 Clases e interfaces estan en java.sql
DriverManager
Driver
Connection
Statement
ResultSet
Applicación JDBC Driver
Class.forName(“oracle.jdbc.driver.OracleDri
ver”);
Connection c =
DriverManager.getConnection(...);
 jdbc:subprotocolo:fuente
 Cada driver tiene su propio subprotocolo
 Cada subprotocolo tiene su propia sintaxis
 Ej:
 Jdbc:odbc:bdaccess
 Jdbc:msql://host[:port]/bd
 Mysql com.mysql.jdbc.Driver 3306
 jdbc:mysql://[host][:port]/[database]
 PostgreSQL org.postgresql.Driver 5432
 jdbc:postgresql://host:port/database
 SQL Server
com.microsoft.jdbc.sqlserver.SQLServerDriver 1433
 jdbc:microsoft:sqlserver://host:port;db=db;user=;
password=
 Oracle oracle.jdbc.driver.OracleDriver 1521
 jdbc:oracle:thin:@host:port:sid
 Connection getConnection (String url, String
usuario, String clave)
 Ejemplo
 Class.forName("oracle.jdbc.driver.OracleDriver");
 String url =
"jdbc:oracle:thin:@192.168.2.1:1521:dev";
 this.conn =
DriverManager.getConnection(url,"","");
 Statement createStatement()
 PreparedStatement
prepareStatement(String sql)
 CallableStatement prepareCall(String
sql)
 Se usa para ejecutar un SQL
 ResultSet executeQuery(String)
 int executeUpdate(String)
 boolean execute(String)
 Provee acceso a los datos de la tabla
 El metodo next() mueve a la siguiente fila
 El metodo close() libera la memoria
 CallableStatement proc=null;
 proc = conn.prepareCall("{ call procedimiento(?, ?) }");
 proc.setString(1, var1);
 proc.setInt(2, var2);
 proc.execute();
 conn.setAutoCommit(false);
 conn.commit();
 conn.rollback();
SQL Java
CHAR, VARCHAR, LONGVARCHAR String
NUMERIC, DECIMAL BigDecimal
BIT boolean
TINYINT byte
SMALLINT short
INTEGER int
BIGINT long
REAL float
FLOAT, DOUBLE double
BINARY, VARBINARY, LONGVARBINARY byte[]
DATE java.sql.Date
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
 <uses-permission
android:name="android.permission.INTERNET"/>
 StrictMode.ThreadPolicy policy = new
StrictMode.ThreadPolicy.Builder()
 .permitAll()
 .build();
 StrictMode.setThreadPolicy(policy);
 Content Providers
 Compartir datos entre aplicaciones
 Arquitectura Cliente-Servidor
 ContentResolver provee el API para el cliente
 ContentProvider es el servidor
 Acceso mediante URI
 content://com.elfec.agenda/persona/23
 Prefix: content://
 Authority: com.elfec.agenda
 Entity: persona
 Identifier: 23
 Paquete android.provider.*
 Definir un ContentResolver
 Inicializar con getContentResolver()
 Usar CRUD (insert, query, update, delete)
 Contactos => ContactsContract.Contacts
 Llamadas => CallLog.Calls
 Eventos => CalendarContract.Events
 Imagenes=> MediaStore.Images.Media
 Archivos => MediaStore.Files
 SMS => “content://sms/”
 SMS => “content://sms/inbox”
 Heredar de ContentProvider
 Implementar CRUD
 onCreate()
 query()
 insert()
 update()
 delete()
 getType()

Más contenido relacionado

La actualidad más candente (18)

JDBC
JDBCJDBC
JDBC
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
Java Database Connectivity [JDBC]
Java Database Connectivity [JDBC]Java Database Connectivity [JDBC]
Java Database Connectivity [JDBC]
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
JDBC
JDBCJDBC
JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 
JDBC MONOGRAFIA
JDBC MONOGRAFIAJDBC MONOGRAFIA
JDBC MONOGRAFIA
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
 
Jdbc
JdbcJdbc
Jdbc
 
Curso Básico de JDBC
Curso Básico de JDBCCurso Básico de JDBC
Curso Básico de JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 

Similar a 11.android bases de datos (20)

JAVA DATABASE CONNECTIVITY (JDBC)
  JAVA DATABASE CONNECTIVITY (JDBC)  JAVA DATABASE CONNECTIVITY (JDBC)
JAVA DATABASE CONNECTIVITY (JDBC)
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
T2 - JDBC
T2 - JDBCT2 - JDBC
T2 - JDBC
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Coneccion
ConeccionConeccion
Coneccion
 
Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
 
Clase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de SistemasClase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de Sistemas
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Bases de Datos en en www.fiec.espol.edu.ec
Bases de Datos en  en www.fiec.espol.edu.ecBases de Datos en  en www.fiec.espol.edu.ec
Bases de Datos en en www.fiec.espol.edu.ec
 
Ser vlet conectar con base de datos
Ser vlet conectar con base de datosSer vlet conectar con base de datos
Ser vlet conectar con base de datos
 
JCBC
JCBCJCBC
JCBC
 
Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Qué es jdbc
Qué es jdbcQué es jdbc
Qué es jdbc
 
Trabajo desarrollo de soft.
Trabajo desarrollo de soft.Trabajo desarrollo de soft.
Trabajo desarrollo de soft.
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 

Más de guidotic

1 Programación Web con .NET y C#
1 Programación Web con .NET y C#1 Programación Web con .NET y C#
1 Programación Web con .NET y C#guidotic
 
15 Programación Web con .NET y C#
15 Programación Web con .NET y C#15 Programación Web con .NET y C#
15 Programación Web con .NET y C#guidotic
 
14 Programación Web con .NET y C#
14 Programación Web con .NET y C#14 Programación Web con .NET y C#
14 Programación Web con .NET y C#guidotic
 
13 Programación Web con .NET y C#
13 Programación Web con .NET y C#13 Programación Web con .NET y C#
13 Programación Web con .NET y C#guidotic
 
12 Programación Web con .NET y C#
12 Programación Web con .NET y C#12 Programación Web con .NET y C#
12 Programación Web con .NET y C#guidotic
 
11 Programación Web con .NET y C#
11 Programación Web con .NET y C#11 Programación Web con .NET y C#
11 Programación Web con .NET y C#guidotic
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#guidotic
 
9 Programación Web con .NET y C#
9 Programación Web con .NET y C#9 Programación Web con .NET y C#
9 Programación Web con .NET y C#guidotic
 
8 Programación Web con .NET y C#
8 Programación Web con .NET y C#8 Programación Web con .NET y C#
8 Programación Web con .NET y C#guidotic
 
7 Programación Web con .NET y C#
7 Programación Web con .NET y C#7 Programación Web con .NET y C#
7 Programación Web con .NET y C#guidotic
 
6 Programación Web con .NET y C#
6 Programación Web con .NET y C#6 Programación Web con .NET y C#
6 Programación Web con .NET y C#guidotic
 
5 Programación Web con .NET y C#
5 Programación Web con .NET y C#5 Programación Web con .NET y C#
5 Programación Web con .NET y C#guidotic
 
4 Programación Web con .NET y C#
4 Programación Web con .NET y C#4 Programación Web con .NET y C#
4 Programación Web con .NET y C#guidotic
 
5 Administración Android - Activity Manager
5 Administración Android  -  Activity Manager5 Administración Android  -  Activity Manager
5 Administración Android - Activity Managerguidotic
 
4 Administración Android - ADB 2
4 Administración Android - ADB 24 Administración Android - ADB 2
4 Administración Android - ADB 2guidotic
 
3 Administración Android - ADB
3 Administración Android  -  ADB3 Administración Android  -  ADB
3 Administración Android - ADBguidotic
 
2 Administración Android - Android
2 Administración Android  -  Android2 Administración Android  -  Android
2 Administración Android - Androidguidotic
 
1 Administración Android - Introducción
1 Administración Android -  Introducción1 Administración Android -  Introducción
1 Administración Android - Introducciónguidotic
 
16 Administración Android - EMM
16 Administración Android  -  EMM16 Administración Android  -  EMM
16 Administración Android - EMMguidotic
 
15 Administración Android - Localizacion
15 Administración Android  -  Localizacion15 Administración Android  -  Localizacion
15 Administración Android - Localizacionguidotic
 

Más de guidotic (20)

1 Programación Web con .NET y C#
1 Programación Web con .NET y C#1 Programación Web con .NET y C#
1 Programación Web con .NET y C#
 
15 Programación Web con .NET y C#
15 Programación Web con .NET y C#15 Programación Web con .NET y C#
15 Programación Web con .NET y C#
 
14 Programación Web con .NET y C#
14 Programación Web con .NET y C#14 Programación Web con .NET y C#
14 Programación Web con .NET y C#
 
13 Programación Web con .NET y C#
13 Programación Web con .NET y C#13 Programación Web con .NET y C#
13 Programación Web con .NET y C#
 
12 Programación Web con .NET y C#
12 Programación Web con .NET y C#12 Programación Web con .NET y C#
12 Programación Web con .NET y C#
 
11 Programación Web con .NET y C#
11 Programación Web con .NET y C#11 Programación Web con .NET y C#
11 Programación Web con .NET y C#
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#
 
9 Programación Web con .NET y C#
9 Programación Web con .NET y C#9 Programación Web con .NET y C#
9 Programación Web con .NET y C#
 
8 Programación Web con .NET y C#
8 Programación Web con .NET y C#8 Programación Web con .NET y C#
8 Programación Web con .NET y C#
 
7 Programación Web con .NET y C#
7 Programación Web con .NET y C#7 Programación Web con .NET y C#
7 Programación Web con .NET y C#
 
6 Programación Web con .NET y C#
6 Programación Web con .NET y C#6 Programación Web con .NET y C#
6 Programación Web con .NET y C#
 
5 Programación Web con .NET y C#
5 Programación Web con .NET y C#5 Programación Web con .NET y C#
5 Programación Web con .NET y C#
 
4 Programación Web con .NET y C#
4 Programación Web con .NET y C#4 Programación Web con .NET y C#
4 Programación Web con .NET y C#
 
5 Administración Android - Activity Manager
5 Administración Android  -  Activity Manager5 Administración Android  -  Activity Manager
5 Administración Android - Activity Manager
 
4 Administración Android - ADB 2
4 Administración Android - ADB 24 Administración Android - ADB 2
4 Administración Android - ADB 2
 
3 Administración Android - ADB
3 Administración Android  -  ADB3 Administración Android  -  ADB
3 Administración Android - ADB
 
2 Administración Android - Android
2 Administración Android  -  Android2 Administración Android  -  Android
2 Administración Android - Android
 
1 Administración Android - Introducción
1 Administración Android -  Introducción1 Administración Android -  Introducción
1 Administración Android - Introducción
 
16 Administración Android - EMM
16 Administración Android  -  EMM16 Administración Android  -  EMM
16 Administración Android - EMM
 
15 Administración Android - Localizacion
15 Administración Android  -  Localizacion15 Administración Android  -  Localizacion
15 Administración Android - Localizacion
 

11.android bases de datos