Con la aplicación de Cordova para Android, ¿cómo puedo acceder (leer/escribir) un archivo SQLite en la carpeta compartida de un dispositivo con Windows 10?
Tengo una carpeta compartida en un dispositivo WINDOWS a la que puedo acceder desde cualquier otro dispositivo Windows. Sin embargo, necesito tener acceso a esa carpeta y su contenido (lectura/escritura), especialmente al archivo sqlite a través de una aplicación de Android desarrollada por Cordova. ¿Hay algún complemento que pueda ayudar?
He intentado el cordova-plugin-file y cordova-sqlite-evcore-extbuild-free, pero aún no encuentro ninguna ayuda.
Este es mi código para leer/escribir en la base de datos interna SQlite en la carpeta de Android:
document.addEventListener('deviceready', function() {
var dirr = 'file:///storage/emulated/0/Android';
//var dirr = '//192.168.1.29/shrd'; // Eso es lo que necesito
window.resolveLocalFileSystemURL(dirr, function(externalDataDirectoryEntry) {
var db = window.sqlitePlugin.openDatabase({name: 'shared.db', androidDatabaseLocation: externalDataDirectoryEntry.toURL()});
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS MyTable (data)');
tx.executeSql('INSERT INTO MyTable VALUES (?)', ['test-value']);
}, function(error) {
console.log('Populate database error: ' + error.message);
}, function() {
db.transaction(function(tx) {
tx.executeSql('SELECT data from MyTable', [], function(tx_ignored, resultSet) {
console.log('Record count: ' + resultSet.rows.length);
for (var i=0; i < resultSet.rows.length; ++i)
console.log('index: ' + i + ' valor: ' + resultSet.rows.item(i).data);
});
}, function(error) {
console.log('Populate database error: ' + error.message);
});
});
});
¿Hay alguna ayuda?
davy.ai
Desafortunadamente, los plugins cordova-plugin-file y cordova-sqlite-evcore-extbuild-free pueden no funcionar al acceder a una carpeta compartida en un dispositivo con Windows desde una aplicación Android.
Sin embargo, hay una posible solución. Una forma de acceder a la carpeta compartida es usando un plugin llamado cordova-plugin-samba. Este plugin permite que las aplicaciones Android accedan a archivos en shares remotos Samba/CIFS.
Puedes intentar modificar tu código para usar este plugin en lugar del cordova-plugin-file para acceder a la carpeta compartida. Aquí hay un ejemplo de fragmento de código:
Ten en cuenta que deberás proporcionar los valores correctos de la ruta compartida, nombre de usuario, contraseña y dominio como parámetros a la función getDirectoryListing().
En general, el plugin cordova-plugin-samba puede ser una mejor opción para acceder a carpetas compartidas en dispositivos Windows desde aplicaciones Android desarrolladas con Cordova.