S
Sempervivum
Fortgeschrittenes Mitglied
- 10
- Themenstarter
- #21
Danke, das leuchtet ein. Leider stürzt die App nach dieser Korrektur bei dem Freund immer noch ab. Gibt es da Möglichkeiten zur Diagnose? Dass irgend wie ein Logfile oder ein Absturzbericht erzeugt wird? Hier das komplette Javascript:
Gibt auch ein Forum für Capacitor aber die Resonanz dort ist gering:
Installing of APK produced by capacitor fails
Deshalb habe ich das jüngste Problem dort noch nicht gepostet.
Code:
window.addEventListener('click', event => {
if (event.target.id == 'btn-pick-db-file') {
exportsFilepicker.pickFiles({
types: ['application/octet-stream'],
multiple: false
}).then(result => {
console.log(result.files[0]);
Capacitor.Plugins.Filesystem.readFile({ path: result.files[0].path })
.then(file => {
console.log(file.data);
fetch('data:application/octet-stream;base64,' + file.data)
.then(res => res.blob())
.then(blob => {
console.log(blob);
window.capacitor_blob_writer({
// path: 'file:///data/user/0/com.substanzen.app/databases/SubstancesSQLite.db',
path: '../databases/SubstancesSQLite.db',
blob: blob,
recursive: true,
directory: 'DATA',
fast_mode: false
}).then(result => {
alert('Datenbankdatei wurde erfolgreich eingelesen');
displaySubstances();
});
});
});
});
}
});
// function readDatabaseFile(event) {
// Capacitor.Plugins.Filesystem.requestPermissions().then((status) => {
// console.log(status);
// fetch('https://webentwicklung.ulrichbangert.de/_benni/db-cors.php')
// .then(response => response.blob())
// .then(blob => {
// // console.log(blob);
// window.capacitor_blob_writer({
// path: 'file:///data/user/0/com.substanzen.app/databases/SubstancesSQLite.db',
// blob: blob
// // fast_mode: true
// }).then(result => {
// alert('Datenbankdatei wurde erfolgreich eingelesen');
// });
// });
// });
// }
function displaySubstances() {
conn = new exports.SQLiteConnection(exports.CapacitorSQLite);
console.log(conn);
conn.createConnection(
"Substances", false, "no-encryption", 3, false
).then(db => {
console.log(db);
db.open("Substances", false, 'no-encryption', 3, true).then(() => {
const sql = 'select * from `Substanzen - Substanzen`';
db.query(sql).then(
result => {
console.log(result);
document.querySelector('section.substances').innerHTML = '';
result.values.forEach(row => {
console.log(row.Name + ' - ' + row.Art);
// HTML aus Template lesen und die Platzhalter ersetzen
let html = document.getElementById('substance-tpl').innerHTML
.replace(/{{name}}/g, row.Name)
.replace(/{{art}}/g, row.Art)
.replace(/{{beschreibung}}/g, row.Beschreibung)
if (row.Bild) {
console.log((typeof new Blob([new Uint8Array(row.Bild).buffer])))
html = html.replace(/{{img}}/g, URL.createObjectURL(new Blob([new Uint8Array(row.Bild).buffer])));
} else {
html = html.replace(/{{img}}/g, '""');
}
// HTML in section mit den Substanzen am Ende eintragen
document.querySelector('section.substances')
.insertAdjacentHTML('beforeend', html)
});
});
db.close("Substances");
});
});
}
Installing of APK produced by capacitor fails
Deshalb habe ich das jüngste Problem dort noch nicht gepostet.