-
Notifications
You must be signed in to change notification settings - Fork 1
irec fileapi
Christian Gastrell edited this page Jun 23, 2015
·
1 revision
Que vamos a necesitar para la aplicacion?
- un archivo donde podamos almacenar las guias:
guias.json
- un archivo donde podamos almacenar las entrevistas:
entrevistas.json
- un directorio donde vayamos a guardar los audios de las entrevistas:
audio
- generar archivos para las entrevistas:
audio/*
Con esto en mente, es poco lo que necesitamos del fileApi
. Por otro lado, vamos a cambiar la inicializacion. Ya que el resto de la aplicacion va a depender de la correcta inicializacion de fileApi
vamos a hacer que la funcion initialize
sea asincronica:
var fileApi = {
ready: false, // <--solo por las dudas
initialize: function(callback){
var path = cordova.file.externalDataDirectory;
//si no hay problemas, llamamos a callback con el primer
//parametro en null (lo que seria el error)
var onResolve = function(directoryEntry) {
fileApi.dir = directoryEntry;
fileApi.ready = true;
callback && callback(null, fileApi);
}
//si hay un error llamamos a callback con el error
//como primer parametro (ver arriba)
var onError = function(err){
callback && callback(err, fileApi);
}
window.resolveLocalFileSystemURL(path, onResolve, onError);
},
writeTextFile: function(file, content, callback) {
var onFile = function(fileEntry) {
fileEntry.createWriter(
function(fileWriter){
fileWriter.write(content);
callback && callback(content);
}, fileApi.onError);
}
fileApi.dir.getFile(file, {create: true}, onFile, fileApi.onError);
},
onError: function(err) {
console.log(err);
},
getDir: function(dir, callback) {
var onDir = function(dir){
callback && callback(null, dir);
}
var onError = function(err) {
callback && callback(err, null);
}
fileApi.dir.getDirectory(dir, {create:true}, onDir, onError);
}
}
Ver que las funciones que usamos usan la opcion {create: true}
para evitarnos el paso de saber si existe o no. Si no existe, se crea.
Para inicializar fileApi
vamos a llamar a fileApi.initialize
desde nuestra funcion init()
de esta manera:
function init(){
console.log('init');
// Configuracion de JQM para phonegap
$.mobile.allowCrossDomainPages = true;
$.support.cors = true;
$.mobile.buttonMarkup.hoverDelay = 0;
$.mobile.pushStateEnabled = false;
$.mobile.defaultPageTransition = "none";
fileApi.initialize(function(err){
if(err) { // <-- checkeamos si hay error
console.log('file api error');
console.log(err);
return; // <-- y cortamos la ejecucion de ser asi
}
// aca va mas codigo de inicializacion
// sabiendo que fileApi esta inicializado
});
}
A continuacion vemos como inicializar guias
y entrevistas
que necesitan acceder/crear un archivo para almacenar sus respectivos listados.
- Repaso y conceptos basicos
- Ejercicios para repasar
- Problematica de desarrollo mobile
- Phonegap
- Requerimientos e instalacion
- Phonegap CLI
- [Primeros ejercicios con Phonegap](Ejercicio Phonegap)
- Plugins
- Hello world
- Estructura de un proyecto Phonegap
- Plugin Device
- Debugging
- Incorporando un framework CSS
- Plugin Vibration
- Sumando partes
- Plugin Battery Status
- Un poco de jQuery
- jQuery Mobile
- Navegacion
- Plugin Dashboard
- Revision de Plugin Dashboard
- Paginas extra
- ToDo
- Persistencia
- ToDo Persistente
- Plugin Camera
- Opciones de camara
- App Mi Galeria
- Revision de Galeria
- Plugin File
- Escribir y leer texto
- Escribir archivos binarios
- Guardando fotos
- Debugger: weinre
- Inspeccionar con weinre
- Phonegap Developer App
- Refactor de apps
- Plugin Media
- Pruebas con audio
- Control y monitoreo de audio
- Encapsular play/pausa
- Hacks
- Formato de tiempos
- Grabar y reproducir
- Proyecto Integrador
- Revision de interfaz
- Interfaz basica
- Entrevista: modelo
- Funcionalidad: revision
- Seleccion de framework
- iRec: navegacion
- iRec: fileApi
- iRec: guias
- iRec: entrevistas
- iRec: recordApi
- iRec: helpers
- iRec: mediaApi
- iRec: inicializar paginas
- iRec: refactor
- iRec: mediaApi refactor
- iRec: recordApi refactor
- iRec: helpers
- iRec: guias.js
- iRec: entrevistas.js
- iRec: crear guias
- iRec: re-inicializando
- iRec: re-ordenando
- iRec: pendientes
- iRec: reporte ux
- iRec:revision: volver
- iRec:entrevista: volver
- iRec:revision: cambios
- iRec:revision: stop
- iRec:revision: Rew 10"
- iRec:revision: tag Go
- iRec: limpieza
- Firma de apps
- Android
- Generacion de key
- Firma de apk
- Alineacion de zip
- Firmar con Phonegap
- iOS
- Detalles finales
- Config.xml
- Iconos
- Splash