Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Phonegap a databáze

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Phonegap a databáze

Autor: peta1 ♂

15:47:56 28.06.2012

Spis takova poznamka.
Proc pises JS v PY? Predej JS parametry z PY. Pak tam musis psat ruzna lomitka a hrozne si kod zneprehlednujes.

"provede až za koncem funkce "
Ono je to slozitejsi. Nacitani dokumentu ajaxem je casova funkce. Kdyz chces, aby se neco volalo po jejim skonceni, musis to napsat do ni.

$(document).delegate(\\\\\\\'#ButtonSave\\\\\\\', \\\\\\\'click tap\\\\\\\', function() {}) // zkousel jsi projit dokumentaci? vzdyt posledni se zadava prave funkce, ktera data prebira.

Na prenos dat se pouziva:
http://api.jquery.com/category/ajax/
http://api.jquery.com/jQuery.post/
$.post(\'ajax/test.html\', function(data) {
$(\'.result\').html(data);
alert(data)
});

http://api.jquery.com/live/
http://api.jquery.com/delegate/
Posl. priklad maji bliz rozebrany. Ale ten priklad nedela nic jineho, nez, ze priradi event onclick kazdemu P. Po kliknuti na P se prida za toto P novy tag P. O zadny prenos dat se nejedna. Event je opet casovana funkce. Nevi se, kdy skonci. (muzes drzet tlacitko zmacknute a pak je to opakujici se event onmousedovvn, ale dokud je nepustis, tak nenastane onclick, ktery je definovan jako down + up) Eventy navraceji zpet par zajimavych veci, napriklad pozici mysi na obrazovce, jestli slo o single/double click, jestli slo o posuv koleckem mysi a pod.

Citovat příspěvek

 

Phonegap a databáze

Autor: Luboš22 ♂

21:28:06 27.06.2012

Ahoj všem, pokouším se udělat jednoduchou aplikaci s pomocí Phonegap knihovny pro Androida, a mám problém s funkcí, která načítá data z databáze. Funkce volá třídu a je volána při kliknutí na tlačítko

$(document).delegate(\\\'#ButtonSave\\\', \\\'click tap\\\', function() {

vlozData() ;


}) ;

Problém mám v tom, že i když vložím breakpoint na tuto funkci, kód se zde zastaví, vletí do třídy,inicializuje proměnné v konstruktoru, ale vlastní funkční volání a select z databáze se provede až za koncem funkce (potvrzeno alertem)

$(document).delegate(\\\'#ButtonSave\\\', \\\'click tap\\\', function() {}) ;//až na konci se zobrazí alert



Pro mne to má problém, nevím, jak nastavit vybrané hodnoty z databáze, něco například

$(document).delegate(\\\'#ButtonSave\\\', \\\'click tap\\\', function() {
var odpoved = getData() ;
alert(odpoved); // zde je to vždy undefined
}) ;

Zatím jsem přišel na to, že mohu nastavit globální proměné přímo z třídy (po alertu), což ale snižuje znovupoužitelnost (při předpokladu, že ji přepíši tak, aby sql dotaz se měnil )

Pokud by někdo věděl, jak napsat kód tak, aby se vykonal rovnou, byl bych velmi rád.

Vlastní třída je

var dataDB = klass(function dataDB(){
_public ( _g.id);
var sql;
var id = "";
var _maDB;



var _constructor = function(){

sql = \\\'select * from cvicna \\\';
_maDB = window.openDatabase("Database", "1.0", "PhoneGap Demo", 200000);
_maDB.transaction(setDB, errorDB, null);

};

function getValue(tx,result)
{

for(var i=0; i<result.rows.length; i++) {

id = (result.rows.item(i).id);
alert(\\\'Jsem zde \\\' + id);
}



}

function setDB(tx) {
tx.executeSql(sql, [], getValue, errorDB);
}


function errorDB(err) {
console.log(err.toString());

}

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: