2013-05-04 19 views
12

Jestem nowicjuszem i staram się zbudować aplikację, która będzie wdrażana z PhoneGap, zarówno na Androida, jak i iOS. Zastanawiam się, jak połączyć się z bazą danych, która będzie przechowywać dane o rozkładzie jazdy.Jak zaimplementować bazę danych w aplikacji PhoneGap?

Moje pytanie dotyczy sposobu włączenia bazy danych, aby można było ją spakować za pomocą PhoneGap.

Mam spojrzał na docs PhoneGap, i tak naprawdę nie ma dla mnie sensu, jak skonfigurować/utworzyć bazę danych


Aktualizacja: Ta strona pokazuje kilka informacji na temat lokalnej pamięci masowej , ale kiedy go włożę, zawiesza się na obrazie ładowania.

Jakieś dalsze pomysły?

http://www.aquim.com/web-article-237.html

+0

Czy wiesz, gdzie możemy zobaczyć nasze dane w db dla Androida? –

Odpowiedz

14

Patrz poniżej linku do prostej pracy z SQ-lite.and również można uzyskać podstawową ideę Storage API z góry link.

Prosta obsługa z SQ-lite: http://www.raymondcamden.com/index.cfm/2011/10/20/Example-of-PhoneGaps-Database-Support

Edited w dniu 8 maja 2013 roku i stała 19 stycznia 2016

Podstawowa obsługa z DB:

<script type="text/javascript" charset="utf-8" src="cordova-x.x.x.js"></script> 
<script type="text/javascript" charset="utf-8"> 
// Wait for Cordova to load 
document.addEventListener("deviceready", onDeviceReady, false); 

// Cordova is ready 
function onDeviceReady() { 
    var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000); 
    db.transaction(populateDB, errorCB, successCB); 
} 

// Populate the database 
function populateDB(tx) { 
    tx.executeSql('DROP TABLE IF EXISTS DEMO'); 
    tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)'); 
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")'); 
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")'); 
} 

// Transaction error callback 
function errorCB(err) { 
    alert("Error processing SQL: " + err); 
} 

// Transaction success callback 
function successCB() { 
    alert("success!"); 
} 
</script> 

refrence

Możesz sprawdzić bazę danych w pliku ex plorer

W ADT wiązki Okno >> pokazują widok >> File Explorer

+0

Próbowałem, ale kiedy zbudowałem aplikację w PhoneGap i wdrożyłem ją na urządzeniu z Androidem, żadna z baz danych nie działała, próbowałem [link] (http: // coenraets .org/blog/2011/10/sample-app-using-the-phonegap-database-api /), jak również te powyżej, z tym samym wynikiem. Każdy html/css działa dobrze. – Mathias

+0

proszę zapoznać się z Podstawową obsługą z DB. – MSTdev

+1

Jestem teraz bardziej komfortowy z SQL, więc wygląda na to, że zadziała, wkrótce go wdrożę. Dzięki – Mathias

1

PhoneGap ma api pamięci masowej, które trzeba zastosować zamiast korzystać z pamięci lokalnej HTML5 bezpośrednio. Zarówno na Androida, jak i iOS będzie korzystać z natywnej implementacji.

zobaczyć http://docs.phonegap.com/en/2.7.0/cordova_storage_storage.md.html#Storage

+0

Próbowałem tego, ale tak jak w powyższym komentarzu, nie otrzymuję wyniku bazy danych. – Mathias

+0

Być może możesz być bardziej szczegółowy - pokaż swój kod i powiedz nam dokładnie, jakie jest zachowanie/wynik. – GreyBeardedGeek

+0

Czy jest przestarzała w najnowszej wersji? Nie mogłem znaleźć podobnej dokumentacji w najnowszym http://docs.phonegap.com/en/3.4.0/cordova_storage_storage.md.html#Storage. Zamiast tego sugeruje użycie pamięci opartej na HTML 5 –

0

ostrożny, ponieważ maxSize bazy danych w Android Gingerbread 2.3.3 emulator musi być 65535.

Z tego OS 200000 maxSize może to dać błąd.

200000 maxSize działa dla nowszego systemu operacyjnego.

Powiązane problemy