Browser + SQLite + Ajax verzwicktes Problem bei Web-App
ralphi
- browser
hallo Leute,
ich weiß wiedermal nicht weiter. Jetzt hoffe ich auf eure Hilfe.
Für meine Frau möchte ich ein individuelles Ausendienstlerprogramm als WEB-APP schreiben. Das ganze für Tablet mit Android 4.1.
Für die Datenspeicherung dachte ich an SQLite. Die Stammdaten liegen im MySQL vor, also in allen Dateiformaten die man exportieren kann (csv, json etc.)
Im ersten Schritt möchte ich die Stammdaten in die lokale Tablet-SQLite einfügen.
Öffnen und anlegen einer lokalen DB ist mit dem Android-Browser ist problemlos möglich.
function initDb() {
var shortName = 'test2Db';
var version = '1.0';
var displayName = 'test2 db';
var maxSize = 10048576; // in bytes
mydb = window.openDatabase(shortName, version, displayName, maxSize);
}
mit firefox 16.x und anderen 'noname' lightbrowsern leider nicht. Bei Firefox gibt es zwar ein Add-on Sqlite-manager - kann ich aber bei mobil nicht starten. Andere (ältere Seiten im Web, schreiben das FF die DB gar nicht unterstütz)
Das öffnen von Dateien:
$(document).ready(function(){
$("#btn1").click(function(){ // Datei mnit json
$.getJSON('test.json', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
});
$("#btn2").click(function(){ // Datei csv wird dann noch gesplittet
$("#div1").load("sta2.txt");
});
});
funktioniert mit Firefox und den No-name's prima, aber mit dem Androidbrowser nicht!?
Nach ewig langer suche im Web, bin ich noch auf keine Lösung mit JS und SQLite gestoßen.
Das Programm sollte dann OFFLINE mit sqlite funktionieren (besuchsberichte etc.), d.h. NIX PHP UND SERVER!
Replizieren sollte dann später auch funktionieren.
Hat jemand eine Idee was ich noch ausprobieren könnte, oder adhoc eine Lösung?
richtige Google-apps möchte ich erst später kucken wie's geht.
viele Grüße aus LA
ralphi
Hallo,
die WebDatabase-Funktionalität wird vom Firefox nicht unterstützt, stattdessen ist dort das IndexedDB-Modell implementiert.
Je nach Beschaffenheit der Daten könntest Du auch auf localStorage ausweichen, welches meines Wissens nach von allen Browser-Applikationen unterstützt wird.
Siehe auch:
Weitere Informationen findest Du ggf. im Artikel "heise Developer: Offlinefähige und mobile Webanwendungen mit HTML5 und JavaScript-APIs", auf die Problematik bzgl. unterschiedlicher Implementierungen wird auf Seite 4, "Offlinefähigkeit von Anwendungen", eingegangen. Auch wird dort das Storage-Abstraktions-Layer "lawnchair" erwähnt.
Gruss,
Worf
Hallo ralphi
Hat jemand eine Idee was ich noch ausprobieren könnte, oder adhoc eine Lösung?
richtige Google-apps möchte ich erst später kucken wie's geht.
ich verstehe dein Vorgehen nicht so richtig. Warum kümmerst du dich für eine solche Anwendung nicht direkt um Apps.
Vielleicht findest du hier Hilfe: < http://www.androidpit.de/de/android/forum/thread/425641/SQLite-DB-mit-gefuellten-Werten>
Beste Grüsse Richard