Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
cordova [2024/01/10 17:22] enric_mieza_sanchez [Exercici Tasklist v0.2] |
cordova [2025/01/14 17:43] (actual) enric_mieza_sanchez [Plugins] |
||
---|---|---|---|
Línia 52: | Línia 52: | ||
===== Afegint jQuery ===== | ===== Afegint jQuery ===== | ||
- | jQuery | + | jQuery |
<WRAP info> | <WRAP info> | ||
Podeu aprendre més sobre [[jQuery]] <- en aquesta wiki. | Podeu aprendre més sobre [[jQuery]] <- en aquesta wiki. | ||
- | </ | ||
- | |||
- | Com afegir jQuery a la meva pàgina HTML: | ||
- | - **Instal·lació "a mà" | ||
- | - Descarregar els arxius de la web oficial http:// | ||
- | - Utilitzar els repositoris online (CDN). Pots veure com fer-ho en aquest tutorial: | ||
- | - https:// | ||
- | - Instal·lació amb el **// | ||
- | - Està força obsolet, però té alguns // | ||
- | - https:// | ||
- | - Instal·la-ho a l' | ||
- | - Configura el template. | ||
- | * En Linux executa:< | ||
- | * En Windows fes des del CMD:< | ||
- | - Mira com queda la plantilla fent de nou:< | ||
- | - Prova diversos // | ||
- | - Ens quedarem amb el '' | ||
- | * La [[https:// | ||
- | |||
- | <WRAP important> | ||
- | Hi ha un petit error a les plantilles. Quan arrenquis l' | ||
</ | </ | ||
\\ | \\ | ||
- | ===== Cordova no vol inlines ===== | ||
- | Típicament podríem fer una aplicació en JavaScript en una pàgina HTML i podríem posar botons que cridin a funcions del nostre codi amb un //onclick// (el què coneixem per crida // | ||
- | |||
- | <WRAP alert> | ||
- | Aquesta solució funcionaria en una web normal, però **no funciona en Cordova**: | ||
- | |||
- | <code html>< | ||
- | |||
- | Això es deu al tag META que hi ha l' | ||
- | |||
- | <code html>< | ||
- | |||
- | i que veurem més endavant com a mesura de seguretat, per evitar injeccions de codi extern a la nostra app. | ||
- | </ | ||
- | |||
- | Forma de solventar-ho: | ||
- | <code javascript index.html> | ||
- | <button id=" | ||
- | </ | ||
- | | ||
- | I després, en el nostre '' | ||
- | <code javascript index.js> | ||
- | $('# | ||
- | </ | ||
- | |||
- | En aquest exemple, cridaríem a la funció '' | ||
- | |||
- | I un darrer apunt, la crida a aquesta funció no pot anar al principi del document, pq en el //head// encara no existeix el nostre //button//. Tenim 2 solucions: | ||
- | - Posar el tag ''< | ||
- | - Posar el codi d' | ||
- | $(document).ready( function () { | ||
- | // initialize | ||
- | $('# | ||
- | $('# | ||
- | }); | ||
- | </ | ||
- | |||
- | |||
- | \\ | ||
==== Exercici Tasklist v0.1 ==== | ==== Exercici Tasklist v0.1 ==== | ||
Línia 127: | Línia 67: | ||
Tasklist: | Tasklist: | ||
- Inicia un projecte Cordova. | - Inicia un projecte Cordova. | ||
- | - Implementa | + | - Crea una llista de tasques d' |
- | * Es recomana utilitzar la plantilla '' | + | |
- Implementa el **botó d' | - Implementa el **botó d' | ||
- | * Necessitaràs conèixer [[jQuery|com utilitzar el DOM amb jQuery]]: | + | * Necessitaràs conèixer [[jQuery|com utilitzar el DOM amb jQuery]]. |
* Afegir elements. El text el podem agafar amb: | * Afegir elements. El text el podem agafar amb: | ||
- | | + | |
- | | + | |
- | * Posar el '' | + | * Tingues en compte la documentació oficial de la jQuery |
- | * Tingues en compte la [[https:// | + | |
</ | </ | ||
+ | \\ | ||
{{tasklist2.png? | {{tasklist2.png? | ||
- | |||
- | |||
- | \\ | ||
==== Exercici Tasklist v0.2 ==== | ==== Exercici Tasklist v0.2 ==== | ||
Línia 149: | Línia 85: | ||
Continua de l' | Continua de l' | ||
- Implementa un **botó Elimina** dins de cada element de la llista que esborri aquell element. Convé fer-ho en la pròpia creació de l' | - Implementa un **botó Elimina** dins de cada element de la llista que esborri aquell element. Convé fer-ho en la pròpia creació de l' | ||
- | * Per saber més [[https:// | ||
* Per eliminar un element del DOM caldrà saber //quin// element està cridant (caller). [[https:// | * Per eliminar un element del DOM caldrà saber //quin// element està cridant (caller). [[https:// | ||
var caller = e.target || e.srcElement; | var caller = e.target || e.srcElement; | ||
Línia 195: | Línia 130: | ||
Fes la // | Fes la // | ||
</ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Cordova no vol inlines ===== | ||
+ | Típicament podríem fer una aplicació en JavaScript en una pàgina HTML i podríem posar botons que cridin a funcions del nostre codi amb un //onclick// (el què coneixem per crida // | ||
+ | |||
+ | <WRAP alert> | ||
+ | Aquesta solució funcionaria en una web normal, però **no funciona en Cordova si utilitzem la plantilla que ve quan creem un projecte**: | ||
+ | |||
+ | <code html>< | ||
+ | |||
+ | Això es deu al tag META que hi ha l' | ||
+ | |||
+ | <WRAP prewrap> | ||
+ | <code html> | ||
+ | <meta http-equiv=" | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | i que veurem més endavant com a mesura de seguretat, per evitar injeccions de codi extern a la nostra app. | ||
+ | </ | ||
+ | |||
+ | Forma de solventar-ho: | ||
+ | <code javascript index.html> | ||
+ | <button id=" | ||
+ | </ | ||
+ | | ||
+ | I després, en el nostre '' | ||
+ | <code javascript index.js> | ||
+ | $('# | ||
+ | </ | ||
+ | |||
+ | En aquest exemple, cridaríem a la funció '' | ||
+ | |||
+ | I un darrer apunt, la crida a aquesta funció no pot anar al principi del document, pq en el //head// encara no existeix el nostre //button//. Tenim 2 solucions: | ||
+ | - Posar el tag ''< | ||
+ | - Posar el codi d' | ||
+ | $(document).ready( function () { | ||
+ | // initialize | ||
+ | $('# | ||
+ | $('# | ||
+ | }); | ||
+ | </ | ||
+ | |||
\\ | \\ | ||
Línia 301: | Línia 280: | ||
</ | </ | ||
- | ==== Public | + | ==== Public |
<WRAP tip> | <WRAP tip> | ||
[[https:// | [[https:// | ||
- | [[https:// | + | [[https:// |
Fes-li un cop d'ull i troba el teu //hobby// en una API! | Fes-li un cop d'ull i troba el teu //hobby// en una API! | ||
Línia 317: | Línia 296: | ||
Aprofitant el codi que hem fet amb l'API de musicbrainz.com , fes una nova app que utilitzi la [[https:// | Aprofitant el codi que hem fet amb l'API de musicbrainz.com , fes una nova app que utilitzi la [[https:// | ||
* Al **tab1** posa un botó que carregui una llista de notícies (mostrant només el títol). | * Al **tab1** posa un botó que carregui una llista de notícies (mostrant només el títol). | ||
- | * Utilitza les [[https://materializecss.com/ | + | * Utilitza les [[https://materializeweb.com/ |
- | * Per saltar al //tab2// necessitaràs consultar la [[https://materializecss.com/ | + | * Per saltar al //tab2// necessitaràs consultar la [[https://materializeweb.com/ |
- | $('.tabs' | + | var elems = document.getElementsByClassName(' |
+ | var instance = M.Tabs.getInstance(elems[0]); | ||
+ | instance.select('test-swipe-2'); | ||
</ | </ | ||
* Al **tab2** posa la notícia complerta amb la imatge. Formata-la adequadament. Probablement hauràs de fer una altra crida a la API per carregar els detalls de l' | * Al **tab2** posa la notícia complerta amb la imatge. Formata-la adequadament. Probablement hauràs de fer una altra crida a la API per carregar els detalls de l' | ||
* Poseu //links// a les notícies originals. El problema és que salta dins de la pròpia app. En realitat el què voldrem és que l'obri al navegador del mòbil, això ho podem aconseguir així:< | * Poseu //links// a les notícies originals. El problema és que salta dins de la pròpia app. En realitat el què voldrem és que l'obri al navegador del mòbil, això ho podem aconseguir així:< | ||
<a href="#" | <a href="#" | ||
- | * Al **tab3** carregarem la llista de notícies amb [[https://materializecss.com/ | + | * Al **tab3** carregarem la llista de notícies amb [[https://materializeweb.com/ |
</ | </ | ||
Línia 332: | Línia 313: | ||
===== Plugins ===== | ===== Plugins ===== | ||
- | * [[https:// | + | |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | | ||
* [[https:// | * [[https:// | ||
- | * [[https:// | + | |
+ | | ||
* Necessitaràs [[https:// | * Necessitaràs [[https:// | ||