SlideShare una empresa de Scribd logo
1 de 26
  Fernando Cejas Acceso a datos en Android
Índice ,[object Object],[object Object],[object Object],[object Object],Acceso a datos en Android
Almacenamiento de datos ,[object Object],[object Object],[object Object],Acceso a datos en Android
Almacenamiento de datos: Preferences ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Acceso a datos en Android
Almacenamiento de datos: Preferences (II) import  android.app.Activity; import  android.content.SharedPreferences; public   class   Calc   extends  Activity { public   static   final  String  PREFS_NAME  =  "MyPrefsFile" ; . . .   @ Override protected   void   onCreate(Bundle state) {  super .onCreate(state); . . . // Restore preferences SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); boolean  silent = settings.getBoolean( "silentMode" ,  false ); setSilent (silent); } @Override protected   void  onStop(){ super .onStop(); // Save user preferences. We need an Editor object to // make changes. All objects are from android.context.Context SharedPreferences settings = getSharedPreferences( PREFS_NAME , 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean( "silentMode" ,  mSilentMode ); // Don't forget to commit your edits!!! editor.commit(); } } Acceso a datos en Android
[object Object],[object Object],Ejemplos y ejercicios Acceso a datos en Android
Almacenamiento de datos: ficheros locales ,[object Object],[object Object],[object Object],[object Object],String FILE_NAME =  "tempfile.tmp" ; // Create a new output file stream that’s private to this application. FileOutputStream  fos = openFileOutput(FILE_NAME,  Context .MODE_PRIVATE); // Create a new file input stream. FileInputStream  fis = openFileInput(FILE_NAME); Acceso a datos en Android
[object Object],[object Object],[object Object],Ejemplos y ejercicios Acceso a datos en Android
Almacenamiento de datos: SQLite ,[object Object],[object Object],[object Object],[object Object],Acceso a datos en Android
Almacenamiento de datos: SQLite (II) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Acceso a datos en Android
Almacenamiento de datos: SQLite Cursors ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Acceso a datos en Android
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ejemplos y ejercicios Acceso a datos en Android
Almacenamiento de datos: SQLite querys // Return all rows for columns one and three, no duplicates String[] result_columns =  new  String[] {KEY_ID, KEY_COL1, KEY_COL3}; Cursor allRows = myDatabase.query( true , DATABASE_TABLE, result_columns,  null ,  null ,  null ,  null ,  null ,  null ); // Return all columns for rows where column 3 equals a set value // and the rows are ordered by column 5. String where = KEY_COL3 + “=” + requiredValue; String order = KEY_COL5; Cursor myResult = myDatabase.query(DATABASE_TABLE,  null , where, null ,  null ,  null , order); Acceso a datos en Android
Almacenamiento de datos: SQLite resultados int  GOLD_HOARDED_COLUMN = 2; Cursor myGold = myDatabase.query(“GoldHoards”,  null ,  null ,  null ,  null , null ,  null ); float  totalHoard = 0f; // Make sure there is at least one row. if  (myGold.moveToFirst()) { // Iterate over each cursor. do  { float  hoard = myGold.getFloat(GOLD_HOARDED_COLUMN); totalHoard += hoard; }  while (myGold.moveToNext()); } float  averageHoard = totalHoard / myGold.getCount(); Acceso a datos en Android
Almacenamiento de datos: SQLite Añadir un nuevo registro // Create a new row of values to insert. ContentValues newValues =  new  ContentValues(); // Assign values for each row. newValues.put(COLUMN_NAME, newValue); [ ... Repeat  for  each column ... ] // Insert the row into your table myDatabase.insert(DATABASE_TABLE,  null , newValues); Acceso a datos en Android
Almacenamiento de datos: SQLite Modificar un registro // Define the updated row content. ContentValues updatedValues =  new  ContentValues(); // Assign values for each row. updatedValues.put(COLUMN_NAME, newValue); [ ... Repeat  for  each column ... ] String where = KEY_ID + “=” + rowId; // Update the row with the specified index with the new values. myDatabase.update(DATABASE_TABLE, updatedValues, where,  null ); Acceso a datos en Android
Almacenamiento de datos: Content Providers Acceso a datos en Android ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Almacenamiento de datos: ContentProviders Acceso a datos en Android ,[object Object],[object Object],[object Object],[object Object],[object Object]
Almacenamiento de datos: ContentResolver Acceso a datos en Android
Almacenamiento de datos:Acceso ContentProvider Acceso a datos en Android
Almacenamiento de datos:URI ContentProvider Acceso a datos en Android
Almacenamiento de datos: Consultas ContentProvider Acceso a datos en Android
Almacenamiento de datos: Consultas Detalle ContentProvider Acceso a datos en Android
Almacenamiento de datos: Ejemplos y ejercicios Acceso a datos en Android ,[object Object],[object Object],[object Object],[object Object]
Acceso a datos en Android Si no hay, vamos con el sorteo de la camiseta Preguntas???
Acceso a datos en Android Fernando Cejas [email_address] [email_address] @fernando_cejas http://www.android10.org/ MUCHAS GRACIAS!!!

Más contenido relacionado

La actualidad más candente (15)

Base de datos
Base de datosBase de datos
Base de datos
 
Conceptos basicos mysql
Conceptos basicos mysqlConceptos basicos mysql
Conceptos basicos mysql
 
Sql en visual basic 6.0 (cajo pablo)
Sql en visual basic 6.0 (cajo pablo)Sql en visual basic 6.0 (cajo pablo)
Sql en visual basic 6.0 (cajo pablo)
 
Clases de oledb
Clases de oledbClases de oledb
Clases de oledb
 
Framework .NET 3.5 14 Gestión de archivos y serialización
Framework .NET 3.5 14  Gestión de archivos y serializaciónFramework .NET 3.5 14  Gestión de archivos y serialización
Framework .NET 3.5 14 Gestión de archivos y serialización
 
OLE BD
OLE BDOLE BD
OLE BD
 
Margarita
MargaritaMargarita
Margarita
 
Comandos básicos para bases de datos mysql y
Comandos básicos para bases de datos mysql yComandos básicos para bases de datos mysql y
Comandos básicos para bases de datos mysql y
 
Estructuras ing. Vanessa Borgas
Estructuras ing. Vanessa BorgasEstructuras ing. Vanessa Borgas
Estructuras ing. Vanessa Borgas
 
Karen alejandra corredo rfff
Karen alejandra corredo rfffKaren alejandra corredo rfff
Karen alejandra corredo rfff
 
Ado.net
Ado.netAdo.net
Ado.net
 
Lenguaje de consulta de datos
Lenguaje de consulta de datosLenguaje de consulta de datos
Lenguaje de consulta de datos
 
Objeto ado.net
Objeto ado.netObjeto ado.net
Objeto ado.net
 
Sql
SqlSql
Sql
 
SQL EN VISUAL BASIC
SQL EN VISUAL BASICSQL EN VISUAL BASIC
SQL EN VISUAL BASIC
 

Destacado

Tutorial Android 1
Tutorial Android 1Tutorial Android 1
Tutorial Android 1newimagenio
 
Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012Ernesto Crespo
 
Desarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónDesarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónSlashMobility.com
 
Arquitectura digital prospectiva
Arquitectura digital prospectiva Arquitectura digital prospectiva
Arquitectura digital prospectiva OATA
 
SEJARAH BAHASA MELAYU Bab3
SEJARAH BAHASA MELAYU Bab3SEJARAH BAHASA MELAYU Bab3
SEJARAH BAHASA MELAYU Bab3Mira Sandrana
 
Apresentação Endpoint Protector 4
Apresentação Endpoint Protector 4Apresentação Endpoint Protector 4
Apresentação Endpoint Protector 4whitehatportugal
 
CSIGE - Centro de Servicios Inteligentes para la Gestión Energética
CSIGE - Centro de Servicios Inteligentes para la Gestión EnergéticaCSIGE - Centro de Servicios Inteligentes para la Gestión Energética
CSIGE - Centro de Servicios Inteligentes para la Gestión EnergéticaCSIGE
 
1 Tebrau designer suite slides kenneth
1 Tebrau designer suite slides kenneth1 Tebrau designer suite slides kenneth
1 Tebrau designer suite slides kennethGregory Low
 
Tema 1 : GENÈTICA
Tema 1 : GENÈTICATema 1 : GENÈTICA
Tema 1 : GENÈTICAEVAMASO
 
Plan eCommerce Hotelero. 1ª Parte: Diagnóstico
Plan eCommerce Hotelero. 1ª Parte: DiagnósticoPlan eCommerce Hotelero. 1ª Parte: Diagnóstico
Plan eCommerce Hotelero. 1ª Parte: DiagnósticoMindProject
 
Docentes y contenidos 1ª ed. Postgrado Gestión Empresarial de la Música
Docentes y contenidos 1ª ed.  Postgrado Gestión Empresarial de la MúsicaDocentes y contenidos 1ª ed.  Postgrado Gestión Empresarial de la Música
Docentes y contenidos 1ª ed. Postgrado Gestión Empresarial de la MúsicaPostmusicauv Universitat València
 

Destacado (20)

Ebooks
EbooksEbooks
Ebooks
 
Tutorial Android 1
Tutorial Android 1Tutorial Android 1
Tutorial Android 1
 
Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012
 
Desarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónDesarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localización
 
Leeme
LeemeLeeme
Leeme
 
Arquitectura digital prospectiva
Arquitectura digital prospectiva Arquitectura digital prospectiva
Arquitectura digital prospectiva
 
SEJARAH BAHASA MELAYU Bab3
SEJARAH BAHASA MELAYU Bab3SEJARAH BAHASA MELAYU Bab3
SEJARAH BAHASA MELAYU Bab3
 
Alecencio
AlecencioAlecencio
Alecencio
 
Apresentação Endpoint Protector 4
Apresentação Endpoint Protector 4Apresentação Endpoint Protector 4
Apresentação Endpoint Protector 4
 
BCG Year Endbook (2012)
BCG Year Endbook (2012)BCG Year Endbook (2012)
BCG Year Endbook (2012)
 
Gigathlon_CZ_2017
Gigathlon_CZ_2017Gigathlon_CZ_2017
Gigathlon_CZ_2017
 
CSIGE - Centro de Servicios Inteligentes para la Gestión Energética
CSIGE - Centro de Servicios Inteligentes para la Gestión EnergéticaCSIGE - Centro de Servicios Inteligentes para la Gestión Energética
CSIGE - Centro de Servicios Inteligentes para la Gestión Energética
 
1 Tebrau designer suite slides kenneth
1 Tebrau designer suite slides kenneth1 Tebrau designer suite slides kenneth
1 Tebrau designer suite slides kenneth
 
La zarzamora
La zarzamoraLa zarzamora
La zarzamora
 
Tema 1 : GENÈTICA
Tema 1 : GENÈTICATema 1 : GENÈTICA
Tema 1 : GENÈTICA
 
Developing for Android (The movie)
Developing for Android (The movie)Developing for Android (The movie)
Developing for Android (The movie)
 
Plan eCommerce Hotelero. 1ª Parte: Diagnóstico
Plan eCommerce Hotelero. 1ª Parte: DiagnósticoPlan eCommerce Hotelero. 1ª Parte: Diagnóstico
Plan eCommerce Hotelero. 1ª Parte: Diagnóstico
 
6.6 catalogo 2014 alfaomega
6.6 catalogo 2014 alfaomega6.6 catalogo 2014 alfaomega
6.6 catalogo 2014 alfaomega
 
Docentes y contenidos 1ª ed. Postgrado Gestión Empresarial de la Música
Docentes y contenidos 1ª ed.  Postgrado Gestión Empresarial de la MúsicaDocentes y contenidos 1ª ed.  Postgrado Gestión Empresarial de la Música
Docentes y contenidos 1ª ed. Postgrado Gestión Empresarial de la Música
 
Parque Nacional de Kenai (Alaska)
Parque Nacional de Kenai (Alaska)Parque Nacional de Kenai (Alaska)
Parque Nacional de Kenai (Alaska)
 

Similar a Desarrollo android almacenamiento de datos

Android DB por Cesar Cespedes
Android DB por Cesar CespedesAndroid DB por Cesar Cespedes
Android DB por Cesar CespedesLima GTUG
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datosALYTS
 
TEMAS DE JAVA DEL 11 AL 23
TEMAS DE JAVA DEL 11 AL 23TEMAS DE JAVA DEL 11 AL 23
TEMAS DE JAVA DEL 11 AL 23equipotresamp
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetosJorge Ercoli
 
Tallerprogramacion
TallerprogramacionTallerprogramacion
Tallerprogramacionjohanadoria
 
Glosario base de datos jeison cruz
Glosario base de datos jeison cruzGlosario base de datos jeison cruz
Glosario base de datos jeison cruzJeison Cruz
 
Glosario base de datos Jeison Cruz
Glosario base de datos Jeison CruzGlosario base de datos Jeison Cruz
Glosario base de datos Jeison CruzJeison Cruz
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4cognos_uie
 
Proveedor act1 uni2_daw_6a
Proveedor act1 uni2_daw_6aProveedor act1 uni2_daw_6a
Proveedor act1 uni2_daw_6afanyto
 
Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.netGissela Antohane
 
As3 unidad 14 crear una aplicación air con flash y action script
As3 unidad 14 crear una aplicación air con flash y action scriptAs3 unidad 14 crear una aplicación air con flash y action script
As3 unidad 14 crear una aplicación air con flash y action scriptFrancisco Javier Arce Anguiano
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Ronald Cuello
 

Similar a Desarrollo android almacenamiento de datos (20)

Data storage
Data storageData storage
Data storage
 
Android DB por Cesar Cespedes
Android DB por Cesar CespedesAndroid DB por Cesar Cespedes
Android DB por Cesar Cespedes
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
TEMAS DE JAVA DEL 11 AL 23
TEMAS DE JAVA DEL 11 AL 23TEMAS DE JAVA DEL 11 AL 23
TEMAS DE JAVA DEL 11 AL 23
 
DAM-S7.pptx
DAM-S7.pptxDAM-S7.pptx
DAM-S7.pptx
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetos
 
Base de datos moviles
Base de datos movilesBase de datos moviles
Base de datos moviles
 
Tallerprogramacion
TallerprogramacionTallerprogramacion
Tallerprogramacion
 
Temario
Temario Temario
Temario
 
Glosario base de datos jeison cruz
Glosario base de datos jeison cruzGlosario base de datos jeison cruz
Glosario base de datos jeison cruz
 
Glosario base de datos Jeison Cruz
Glosario base de datos Jeison CruzGlosario base de datos Jeison Cruz
Glosario base de datos Jeison Cruz
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4
 
Proveedor act1 uni2_daw_6a
Proveedor act1 uni2_daw_6aProveedor act1 uni2_daw_6a
Proveedor act1 uni2_daw_6a
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.net
 
Doctrine2 sf2Vigo
Doctrine2 sf2VigoDoctrine2 sf2Vigo
Doctrine2 sf2Vigo
 
As3 unidad 14 crear una aplicación air con flash y action script
As3 unidad 14 crear una aplicación air con flash y action scriptAs3 unidad 14 crear una aplicación air con flash y action script
As3 unidad 14 crear una aplicación air con flash y action script
 
04. Implementando APIs HTML5
04. Implementando APIs HTML5 04. Implementando APIs HTML5
04. Implementando APIs HTML5
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 

Más de Fernando Cejas

The Mayans Lost Guide to RxJava on Android
The Mayans Lost Guide to RxJava on AndroidThe Mayans Lost Guide to RxJava on Android
The Mayans Lost Guide to RxJava on AndroidFernando Cejas
 
It is about philosophy: culture of a good programmer
It is about philosophy: culture of a good programmerIt is about philosophy: culture of a good programmer
It is about philosophy: culture of a good programmerFernando Cejas
 
Material Design for Old Schoolers
Material Design for Old SchoolersMaterial Design for Old Schoolers
Material Design for Old SchoolersFernando Cejas
 
How to Become the MacGyver of Android Custom Views
How to Become the MacGyver of Android Custom ViewsHow to Become the MacGyver of Android Custom Views
How to Become the MacGyver of Android Custom ViewsFernando Cejas
 
Android UX-UI Design for Fun and Profit
Android UX-UI Design for Fun and ProfitAndroid UX-UI Design for Fun and Profit
Android UX-UI Design for Fun and ProfitFernando Cejas
 
How ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second EditionHow ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second EditionFernando Cejas
 
How ANDROID TESTING changed how we think about Death
How ANDROID TESTING changed how we think about DeathHow ANDROID TESTING changed how we think about Death
How ANDROID TESTING changed how we think about DeathFernando Cejas
 
Dinosaurs and Androids: The Listview Evolution
Dinosaurs and Androids: The Listview EvolutionDinosaurs and Androids: The Listview Evolution
Dinosaurs and Androids: The Listview EvolutionFernando Cejas
 
Inside Android Testing
Inside Android TestingInside Android Testing
Inside Android TestingFernando Cejas
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth elementFernando Cejas
 
Android Design Patterns
Android Design PatternsAndroid Design Patterns
Android Design PatternsFernando Cejas
 
Android Cloud To Device Messaging
Android Cloud To Device MessagingAndroid Cloud To Device Messaging
Android Cloud To Device MessagingFernando Cejas
 
Android Quick Introduction
Android Quick IntroductionAndroid Quick Introduction
Android Quick IntroductionFernando Cejas
 
Android simple 2d Layout animation
Android simple 2d Layout animationAndroid simple 2d Layout animation
Android simple 2d Layout animationFernando Cejas
 

Más de Fernando Cejas (15)

The Mayans Lost Guide to RxJava on Android
The Mayans Lost Guide to RxJava on AndroidThe Mayans Lost Guide to RxJava on Android
The Mayans Lost Guide to RxJava on Android
 
It is about philosophy: culture of a good programmer
It is about philosophy: culture of a good programmerIt is about philosophy: culture of a good programmer
It is about philosophy: culture of a good programmer
 
Material Design for Old Schoolers
Material Design for Old SchoolersMaterial Design for Old Schoolers
Material Design for Old Schoolers
 
How to Become the MacGyver of Android Custom Views
How to Become the MacGyver of Android Custom ViewsHow to Become the MacGyver of Android Custom Views
How to Become the MacGyver of Android Custom Views
 
Android UX-UI Design for Fun and Profit
Android UX-UI Design for Fun and ProfitAndroid UX-UI Design for Fun and Profit
Android UX-UI Design for Fun and Profit
 
How ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second EditionHow ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second Edition
 
How ANDROID TESTING changed how we think about Death
How ANDROID TESTING changed how we think about DeathHow ANDROID TESTING changed how we think about Death
How ANDROID TESTING changed how we think about Death
 
Dinosaurs and Androids: The Listview Evolution
Dinosaurs and Androids: The Listview EvolutionDinosaurs and Androids: The Listview Evolution
Dinosaurs and Androids: The Listview Evolution
 
Inside Android Testing
Inside Android TestingInside Android Testing
Inside Android Testing
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth element
 
Nfc on Android
Nfc on AndroidNfc on Android
Nfc on Android
 
Android Design Patterns
Android Design PatternsAndroid Design Patterns
Android Design Patterns
 
Android Cloud To Device Messaging
Android Cloud To Device MessagingAndroid Cloud To Device Messaging
Android Cloud To Device Messaging
 
Android Quick Introduction
Android Quick IntroductionAndroid Quick Introduction
Android Quick Introduction
 
Android simple 2d Layout animation
Android simple 2d Layout animationAndroid simple 2d Layout animation
Android simple 2d Layout animation
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (10)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Desarrollo android almacenamiento de datos

  • 1. Fernando Cejas Acceso a datos en Android
  • 2.
  • 3.
  • 4.
  • 5. Almacenamiento de datos: Preferences (II) import android.app.Activity; import android.content.SharedPreferences; public class Calc extends Activity { public static final String PREFS_NAME = "MyPrefsFile" ; . . . @ Override protected void onCreate(Bundle state) { super .onCreate(state); . . . // Restore preferences SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); boolean silent = settings.getBoolean( "silentMode" , false ); setSilent (silent); } @Override protected void onStop(){ super .onStop(); // Save user preferences. We need an Editor object to // make changes. All objects are from android.context.Context SharedPreferences settings = getSharedPreferences( PREFS_NAME , 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean( "silentMode" , mSilentMode ); // Don't forget to commit your edits!!! editor.commit(); } } Acceso a datos en Android
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Almacenamiento de datos: SQLite querys // Return all rows for columns one and three, no duplicates String[] result_columns = new String[] {KEY_ID, KEY_COL1, KEY_COL3}; Cursor allRows = myDatabase.query( true , DATABASE_TABLE, result_columns, null , null , null , null , null , null ); // Return all columns for rows where column 3 equals a set value // and the rows are ordered by column 5. String where = KEY_COL3 + “=” + requiredValue; String order = KEY_COL5; Cursor myResult = myDatabase.query(DATABASE_TABLE, null , where, null , null , null , order); Acceso a datos en Android
  • 14. Almacenamiento de datos: SQLite resultados int GOLD_HOARDED_COLUMN = 2; Cursor myGold = myDatabase.query(“GoldHoards”, null , null , null , null , null , null ); float totalHoard = 0f; // Make sure there is at least one row. if (myGold.moveToFirst()) { // Iterate over each cursor. do { float hoard = myGold.getFloat(GOLD_HOARDED_COLUMN); totalHoard += hoard; } while (myGold.moveToNext()); } float averageHoard = totalHoard / myGold.getCount(); Acceso a datos en Android
  • 15. Almacenamiento de datos: SQLite Añadir un nuevo registro // Create a new row of values to insert. ContentValues newValues = new ContentValues(); // Assign values for each row. newValues.put(COLUMN_NAME, newValue); [ ... Repeat for each column ... ] // Insert the row into your table myDatabase.insert(DATABASE_TABLE, null , newValues); Acceso a datos en Android
  • 16. Almacenamiento de datos: SQLite Modificar un registro // Define the updated row content. ContentValues updatedValues = new ContentValues(); // Assign values for each row. updatedValues.put(COLUMN_NAME, newValue); [ ... Repeat for each column ... ] String where = KEY_ID + “=” + rowId; // Update the row with the specified index with the new values. myDatabase.update(DATABASE_TABLE, updatedValues, where, null ); Acceso a datos en Android
  • 17.
  • 18.
  • 19. Almacenamiento de datos: ContentResolver Acceso a datos en Android
  • 20. Almacenamiento de datos:Acceso ContentProvider Acceso a datos en Android
  • 21. Almacenamiento de datos:URI ContentProvider Acceso a datos en Android
  • 22. Almacenamiento de datos: Consultas ContentProvider Acceso a datos en Android
  • 23. Almacenamiento de datos: Consultas Detalle ContentProvider Acceso a datos en Android
  • 24.
  • 25. Acceso a datos en Android Si no hay, vamos con el sorteo de la camiseta Preguntas???
  • 26. Acceso a datos en Android Fernando Cejas [email_address] [email_address] @fernando_cejas http://www.android10.org/ MUCHAS GRACIAS!!!

Notas del editor

  1. Presentación
  2. Y si actualizamos una aplicación en el market, estos datos quedan también
  3. Concepto de sandbox Y comentar el ejemplo de que con permisos de root, nos pueden robar nuestras aplicaciones, como se pueden devolver durante 2 días después de la compra.
  4. El directorio de caché lo utiliza android para justamente guardar datos de caché, de la ejecución de la aplicación, etc. En el ejemplo de
  5. Mostrar donde se crea la base de datos con el File Explorer. Mostrar los ejemplos con un select y un delete y luego ejecutar de nuevo el ejemplo para ver que se crearon los registros. Mostrar en el ejemplo también los cambios de versiones en las bases de datos: por ejemplo también si se pasa desde una versión 2 a una 4. Explicar el tema de cursores e intentar dibujarlos
  6. Único mecanismo para compartir datos entre app ya que no hay áreas comunes. Los datos pueden estar en Files, SQLite,…, pero son propios de cada app. Si quieres compartir datos o creas contentProvider o públicas en otro. Las apps que quieren datos hablan con el ContentResolver. Los datos se tienen que presentar en forma de tablas.
  7. Android nos provee de content providers que podemos utilizar, aunque también podemos crear los nuestros. Hay un listado grandísimo de los content providers que nos provee android: http:// developer.android.com/reference/android/provider/package-summary.html
  8. Hay una sola instancia de ContentProvider pero el sistema interactúa con este a través de muchas instancias de ContentResolver
  9. Cada fila contiene su único _ID Digamos que para leer un campo debemos saber el tipo de dato que ese campo contiene. Para consultar un content provider debemos una uri.
  10. Content: schema que identifica los datos controlados por un ContentProvider Cada content resolver toma la URI como primer argumento para identificar con que provider hablar, y como segundo, la “tabla” que vamos a consultar.
  11. You need three pieces of information to query a content provider: The URI that identifies the provider The names of the data fields you want to receive The data types for those fields If you're querying a particular record, you also need the ID for that record.
  12. A managed Cursor handles all of the niceties, such as unloading itself when the activity pauses, and requerying itself when the activity restarts. You can ask an Activity to begin managing an unmanaged Cursor object for you by calling Activity.startManagingCursor () . Buena práctica: siempre obtener los campos que son necesarios, digamos los que vamos a usar. Esto es para performance.
  13. Siempre que trabajemos con content providers es importante ver los permisos que requieren los mismos. Una lista de permisos se puede ver en: http://developer.android.com/reference/android/Manifest.permission.html