> For the complete documentation index, see [llms.txt](https://elguerre.gitbook.io/de0an/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elguerre.gitbook.io/de0an/capitulo-7-la-construccion.-accediendo-a-los-datos/herramientas-para-el-tratamiento-de-datos.md).

# Herramientas para el tratamiento de datos

Al trabajar con ficheros, es primordial poder acceder a su repositorio con la intención de chequear que la información que estamos guardando en ficheros es correcta y que las rutas en las que son almacenados también lo son. Para ello, recurriremos a algunas herramientas con las que además, extenderemos nuestras pruebas e intercambiaremos ficheros entre el dispositivo/emulador y el PC. Veamos algunas de ellas:

## IsolatedStorageExplorer

Esta herramienta, como comentamos en el capítulo uno, es una de las herramientas que encontramos en el directorio de instalación del SDK (“C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.1\Tools”) y se basa en línea de comandos. Su uso es el siguiente:

1. Listado de emuladores instalados. “*ISETool.exe EnumerateDevices*”:

   ![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-db4763817e4f55912ee61c1ab62dffeff29a0872%2Fimage13.png?alt=media)

**Figura 13.- Listado de emuladores instalados con IsolatedStorageExplorer**

2. Listado de ficheros para el dispositivo conectado. “*ISETool.exe dir deviceindex:2 300177dd-2599-41dd-acf4-3168c460f615*”.

Dónde: ***deviceindex:2*** hace referencia al dispositivo/emulador del que queremos listar los ficheros, según la lista anterior, es decir, “Emulator 10.0.1.0 WVGA 4 inch 1GB”. El identificador (o GUID) de la aplicación se encuentra en el fichero de manifiesto de la aplicación indicado por la propiedad “**PhoneProductId**”.

3. Copia de ficheros entre dispositivo/emulador y el PC. “*ISETool.exe **\<ts | rs>** deviceindex:2 300177dd-2599-41dd-acf4-3168c460f615 “C:\MyAppFiles*”.

Dónde: **ts** copia los ficheros desde el dispositivo al PC creando siempre el subdirectorio “***IsolatedStore***” en caso de no existir y, reemplaza todo su contenido sin previo aviso. **rs**, copia los ficheros desde la ruta del PC al dispositivo.

Para mayor detalle sobre esta herramienta visitar la página: <https://msdn.microsoft.com/es-es/library/windows/apps/dn629254.aspx>

## IsoStoreSpy

A diferencia de la anterior, ésta dispone de una IU que hace más intuitivo y fácil su uso. La siguiente figura muestra la secuencia de pasos a seguir para realizar la gestión de ficheros entre el emulador o dispositivo y el PC, y viceversa sin tener que recurrir a la línea de comandos.

![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-a2107c16a7ccc44e3d0f2b884e5c308b1e78675f%2Fimage14.png?alt=media)

**Figura 14.- Interfaz de IsoStoreSpy para la gestión de ficheros entre dispositivo y PC**

Tras el paso (6), en la zona de “Preview”, se puede visualizar su contenido, y, dependiendo del tipo de fichero, texto, imagen, vídeo o incluso tablas de “SQL Server CE” y, mucho más.

Para descargarla o conocer más sobre ella, visitar la página de la aplicación: <https://github.com/tupunco/IsoStoreSpy4wp8>.

{% hint style="info" %}
**Nota**: Como limitaciones, las herramientas anteriores, no permiten acceder a directorios o ficheros de otras aplicaciones descargadas desde la tienda, ni tampoco a la configuración de la propia aplicación guardada, utilizando "IsolatedStorageSettings".
{% endhint %}

## SQL Server Compact / SQLite Toolbox

De la misma forma que al trabajar con ficheros necesitábamos conocer la información almacenada en ellos, querremos conocer también la información con la que trabajamos en SQLite, qué consultas estamos ejecutando y qué información estamos obteniendo, insertando, actualizando o eliminando.

Para ello utilizaremos la herramienta “**SQL Server Compact / SQLite Toolbox**”, de CodePlex, concretamente en este enlace: <https://github.com/ErikEJ/SqlCeToolbox>. Esta herramienta va a facilitarnos toda la labor de construcción de la estructura de la BD así como la realización de todas las consultas pertinentes durante el desarrollo.

Los pasos a seguir para trabajar con ella son:

1. Ejecutar el instalable “SqlCeToolbox.vsix” y reiniciar Visual Studio.
2. Ejecutar la opción de menú: “Tools – SQL Server Compact/SQLite Toolbox”, para mostrar el explorador o caja de herramientas.

   ![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-bb265a3bca0e41265048f993d7346f72b51e949a%2Fimage15.png?alt=media)

**Figura 15.- Acceso al explorador de SQLite en Visual Studio**

3. Una vez que aparezca el explorador, crear una nueva conexión indicando un nombre de fichero para la misma, o bien seleccionar un fichero existente con extensión “.sqlite”. En nuestro caso, seleccionaremos el fichero “epomo3.sqlite”, previamente descargado con las herramientas vistas anteriormente para el tratamiento de ficheros (“IsolatedStorageExplorer” o “IsoStoreSpy”).

   ![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-d00fb09733ee87387940d8110c74d2c65c4c0933%2Fimage16.png?alt=media)

**Figura 16.- Creación de una conexión a SQLite usando Visual Studio**

4. Una vez creada la conexión, el explorador de SQLite, estaremos en disposición de comenzar a trabajar con la BD al igual que lo hacemos para SQL Server con Visual Studio o con “Management Studio”.

   ![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-167b62916c6ab0f8b484bedda482171f1c49e1ef%2Fimage17.png?alt=media)

**Figura 17.- Explorador de SQLite mostrando la tabla de imágenes de proyectos**

Es en este momento cuando estamos en disposición de comenzar a trabajar con SQLite para exprimirlo y sacarle el máximo partido. Podremos editar las tablas, crear nuevas, insertar registros, generar documentación “.html” e incluso generar el código .NET equivalente. En resumen, analizaremos y generaremos las consultas que finalmente trasladaremos al código.
