56
Introducció a la programació en android - Roger Morató Introducció a la programació en Android Roger Morató 1r Batxillerat E 08/02/2013 - 05/01/2014 Tutor: Jordi Campos 1

Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

  • Upload
    vuthuy

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Introducció a laprogramació en Android

Roger Morató1r Batxillerat E

08/02/2013 - 05/01/2014 Tutor: Jordi Campos

1

Page 2: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Índex

1. Introducció1.1. Objectiu del treball1.2. Motivació personal1.3 Altres informacions

2. Eines de desenvolupament2.1. Introducció2.2. Scratch

2.2.1 Exemple Menja - cocos2.2.2 Exemple Col · lecció de Sons2.2.3 Exemple Planetari2.2.4 Exemple Rellotge de cuina2.2.5 Exemple : La variable número 1

2.3. App Inventor2.3.1. Instal · lació2.3.2 Importació de projectes externs a App Inventor2.3.3 Primer exemple : Crear una interfície amb un botó2.3.4 Segon exemple : Col · lecció de Sons2.3.5 Tercer exemple : Piano amb So2.3.6 Quart exemple : Rellotge de cuina2.3.7 Cinquè exemple : Caçador de talps2.3.8 Sisè exemple : La variable numero 12.3.9 Joc de memòria de sons i colors

3. Eines de Organització3.1 Introducció3.2 Diagrames de Gantt

4. Projectes propis4.1 Idees inicials

4.1.1 Llibreries Android4.1.2 Aplicacions amb TinyDB ( Base de dades )4.1.3 Aplicacions amb Appinventor extender4.1.4 Utilització de API ’ s

4.2 Projectes elaboratsAplicació de pintarFast Calculator :MisteryHouseAra no puc !AgendaTask Administrator

5. Conceptes bàsics de la programació5.1 Introducció

5.1.1 Llenguatge de programació :

2

Page 3: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

5.2 Algorismes5.3 Programa5.4 Bucles5.5 Condicions5.6 Events5.7 Programació en JAVA

6. Entrevista amb Daniel Navarro7. Conclusions8. Bibliografia :9. AnnexosA . Reunions

Reunió 8/02/2013Correu - e 22/02/2013Reunió 28/02/2013Reunió 7/03/2013Reunió 18/04/2013Reunió 09/05/2013Reunió 20/06/2013Reunió 25/09/2013Reunió 02/10/2013Reunió 29/10/2013Reunió 05/11/2013Reunió 3/12/2013Reunió 2/1/2014

B . Annex de codis d ’ App InventorWindows SoundsPianoRellotge de cuinaCaçador de talpsLa variable numero 1Joc de memòria sons i colorsAplicació de pintarFast CalculatorAra no puc !AgendaTask administrator

3

Page 4: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

1. IntroduccióLa introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo i unes altres informacions les quals vaig utilitzar per a aquest treball de recerca.

1.1. Objectiu del treball

Quan vaig iniciar aquest treball, la única idea bàsica que tenia en ment era que volia fer un treball que tingués a veure amb la programació, i si arribava al nivell suficient, programar-ne una. Vaig estar mirant mètodes de creació d’aplicacions com eclipse, bàsic 4 android... Tots mitjançant el codi Java [18] i amb un nivell alt de dificultat per a persones que no han posat en pràctica els codis de programació.

Al presentar-li la idea al meu tutor em va recomanar començar-ho tot pas a pas, primer amb Scratch, un programa molt intuïtiu i útil per a realitzar programes simples i App Inventor, un programa simple i fàcil però a la vegada complet per a poder crear aplicacions més concretes i que ja acabades poden anar directes a dispositius mòbils amb sistema operatiu Android.

També buscava aprendre la teoria general de la programació, com funciona, els components que hi ha en ella, i per això vaig crear l’apartat dels coneixements bàsics sobre la programació, on parlo dels algorismes, bucles, condicions, events, etc.

Un altre objectiu d’aquest treball era començar a introduir-me al món de la programació ja que jo en el meu futur vull exercir com a informàtic i la programació té un paper molt representatiu en aquesta feina.

Els principals objectius que em vaig proposar al iniciar-me amb Scratch i App Inventor era:1. Crear una aplicació2. Crear una aplicació on hi hagués material multimèdia3. Crear un joc4. Crear aplicacions útils.5. Crear aplicacions que estalviïn temps.

I la veritat es que per a mi tots els objectius han sigut complerts.

Un altre objectiu que tenia era entrevistar a algun programador expert, i gràcies a preguntar a autors d’aplicacions de Google Play vaig poder arribar a l’empresa “Dolores Entertainment” una empresa que compta amb sis treballadors i que ofereix serveis de programació a empreses com Mediaset, Televisió de Catalunya...

4

Page 5: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

1.2. Motivació personal

Tot i ser un alumne que no va encaminat cap a uns estudis tecnològics, sempre m’ha interessat i des de fa alguns anys estic realment aprofundint en la informàtica, sempre m’han agradat les noves tecnologies i per això m’agradaria provar el món de la programació. Tant en la comunicació entre les persones del meu entorn, com en la recerca d’informació o de qualsevol incògnita que espresenti, l’accés les noves tecnologies és essencial.

També al fer aquest treball tenia la seguretat de que el meu tutor, al ser informàtic i tenint molts coneixements sobre programació, em podria ajudar en tot els problemes que tingués pel camí.

També al ser de lletres he tingut facilitats en alguns aspectes ja que el llenguatge informàtic comparteix moltes semblances amb el llenguatge normal i s’han de memoritzar ordres i condicions.

Al haver provat programes molt simples amb altres tipus de programacions, com pot ser visual basic, o el mateix Java mitjançant eclipse, em va motivar el programar amb un altre mètode que no fos mitjançant el llenguatge informàtic com és App Inventor ja que només funciona mitjançant ordres i per lo tant, de manera més simplificada.

He desenvolupat algunes idees amb diferents llenguatges informàtics; he fet alguns programes molt simples al Visual Bàsic. He vist de prop el Java i també he arribat a manipular i fer coses moltsimples amb el Eclipse. El motiu per escollir aquest treball de recerca és perquè mai havia intentat programar aplicacions per a dispositius mòbils, i ja que tinc dispositius mòbils amb S.O. Android a casa, vaig decidir intentar-ho.

● Elaboració del treballPenso utilitzar programes simples i mitjanament intuïtius per a desenvolupar les aplicacions, tinc al meu abast “AppInventor” [1][2], que va ser un sistema de Google que ara l’han deixa’t al MIT (Massachusetts Institute of Technology) i un altre programa anomenat “Basic 4 Android” desenvolupat per Erel Uziel.

1.3 Altres informacions

He observat altres treballs de recerca fets per companys d’altres anys [6] i he observat els diferents models d’introducció que tenien i aixo m’ajudat a aplicar algunes coses en el meu treball, reconec que algunes informacions m’han servit per a prendre decisions en el meu treball de recerca. He agafat com a model de la introducció, el model del treball de recerca d’en Marc Mora, ja que és un tema relacionat amb la informàtica (Editar un vídeo fet per ordinador)i vaig veure que seria una bona plantilla per al meu treball de recerca, i, per tant el vaig adaptar a els meus criteris.

5

Page 6: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

2. Eines de desenvolupamentLes eines de desenvolupament seran aquelles les quals jo utilitzaré per a realitzar els programes.

2.1. Introducció

Jo utilitzaré eines de desenvolupament tant d’emuladors de programari com pot ser Scratch, on estan les bases de la programació d’una manera més intuïtiva i també utilitzaré eines de programari per a dispositius mòbils com pot ser App Inventor, ideat per google, o altres més diferents i complexos com poden ser Basic 4 android i Eclipse (més sdk tools). El resultat final, amb aquest programari serà una aplicació android compatible amb els smartphones més moderns.

2.2. Scratch

Scratch es un programa d’iniciació a la programació que funciona a través d’ordres i està representat d’una manera gràfica i simple. Per a saber utilitzar aquest programa he fet el curset inicial que surt a la seu web: EduLogiX [20]

2.2.1 Exemple Menja-cocos

Aquest va ser el primer exemple de joc que vaig fer amb Scratch, la veritat es que no vaig tindre cap tipus de problema, em va semblar senzill, ja que havia estat manipulant el Scratch des de feia temps, el exemple es tractava de fer el típic menja-cocos (Pacman) la peculiaritat d’aquest que vaig crear es que no tenia parets, llavors l’objectiu era molt simple, aconseguir els “Cocos” abans de que t’enxampés un fantasma. El exemple el vaig treure de una seu web [8] i aquesta explicava molt be els passos que s’avien de seguir, que eren el següents:

● Pas 1: Crea el protagonista!● Pas 2: Afegeix el primer fantasma● Pas 3: Fes que el joc s’acabi quan el fantasma atrapa al menja-cocos● Pas 4: Afegeix el primer coco● Pas 5: Afegeix més fantasmes i mes cocos

Finalment, em va quedar aquest resultat:

6

Page 7: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

2.2.2 Exemple Col·lecció de Sons

Aquest exemple el vaig pensar jo, ja que era una aplicació que pensava aplicar a el mon d’Android, i abans de crear-la amb App Inventor, volia practicar-la amb alguna cosa més simple com el “Scratch”. La veritat es que es un Programa molt simple, es una especie de teclat, en el qual sonen les notes de l’escala musical. A l’inici, no volia que fos així, volia que pogués sonar un so que jo li poses, però vaig tenir algunes dificultats a l’hora de intentar carregar un so, ja que nomes em donava la opció de gravar o de escollir una nota musica, amb el que, finalment, vaig crear una especie de teclat.

Va ser molt simple, però com era simplement per a practicar, ja em va anar be.

Aquest va ser el resultat final:

Els passos que vaig seguir van ser els següents:

● Primer de tot vaig crear una serie de “botons” els quals si es pitjaves havien de tindre una acció.

○ Vaig intentar introduir un so des de el meu ordinador, però vaig tindre problemes ja que no veia el mètode pel qual el podia introduir.

○ Llavors vaig veure que amb el mateix programa ja hi havia una configuració de les notes musicals d’un piano i doncs, les vaig introduir.

● Posteriorment, el meu tutor em va ajudar amb els dubtes sobre com introduir sons propis, però vaig voler deixar-ho com estava.

2.2.3 Exemple Planetari

Amb aquest projecte es amb el que he tingut més dificultats, el vaig treure de una web[9]. El problema es que no vaig entendre be alguns passos, he aconseguit que la terra sigui atreta pel sol, però no he aconseguit que aquesta faci voltes al seu voltant, simplement es arrossegada fins al sol. Els passos eren els següents:

7

Page 8: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

● Pas 1: Crea un escenari amb un Sol al centre iuna terra a la dreta (En aquest pas no vaig tindre cap tipus deproblema)

● Pas 2: Fes que la terra sigui atreta per lagravetat del sol (en aquest pas tampoc va haver-hi capproblema seriós)

● Pas 3: Fes que la terra tingui un movimentpropi sense l’atracció del Sol (En aquest pas vaig tindre el problemaprincipal, no aconseguia que es moguésindependentment)

● Pas 4: Combina el moviment inicial de la terra amb la força d’atracció del sol (Aquest pas tampoc vaig poder fer-lo ja que em fallava la base del pas anterior)

Aquest projecte va quedar a mitges ja que van haver-hi algunes coses les quals no vaig saber fer, i en la reunió posterior a la elaboració d’aquest treball vaig demanar ajuda al meu tutor i em va ensenyar les parts per on m’havia equivocat, que bàsicament era de l’organització de les ordres deles variables, i finalment va quedar com el model adequat.

2.2.4 Exemple Rellotge de cuina

Aquest exemple me’l va recomanar el meu tutor ja que m’havia d’anar familiaritzant amb les variables, però vaig tenir un problema, ja que vaig voler accedir a la pagina oficial de Scratch per abuscar algun mètode per a crear un rellotge, però la pagina web no estava disponible, també vaig buscar informació de variables a una adreça adreça[7], però tot i que ho explicava molt be, no va resoldre els meus dubtes. Llavors el que vaig fer és, sense deixar de fer el programa, crear un temporitzador d’un minut, es molt més simple i no conté variables, però es un temporitzador que etdiu els segons que queden des de que pitges el objecte. El disseny també es molt simple, però amb el Scratch tampoc es poden fer miracles. Jo crec que aquesta aplicació es un remei al no poder fer un rellotge de cuina amb variables. L’objecte esta representat amb una espècie de pantalla, però no fa cap transició.

En aquest projecte, primerament, no vaig utilitzar variables jaque desconeixia la utilització d’aquestes, però a la següentreunió amb el tutor, em va ensenyar a aplicar les variables en elcontext del temps, simplement vaig crear una variableanomenada segons i aquesta anava restant els segons. Elssegons es podien modificar a través d’un botó amb el qualpodies graduar els segons que volguessis.

2.2.5 Exemple: La variable número 1

8

Page 9: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Aquest exemple es basava a crear un Programa el qual preguntés sumes de números que anavendel número 1 al número 20. Hi havia un requadre on el usuari del programa havia de introduir la resposta a la operació presentada, si ho feies bé, aconseguies un punt.

El programa era simple, es a dir, a la seu web d’ Edulogix, apareixia des de el primer moment per a que la gent el representés de la mateixa manera, però desprès, hi havia tot un seguit de modificacions les quals havies de intentar produir.

● La primera “trampa” era per a que es veiés la resposta des de un primer moment, en aquest cas s’havia de treure el bloc “hide” per a que no s’amagués la resposta.

● La segona “trampa” tractava de que la puntuació pugés independentment de que la resposta fos correcta, per lo tant, vaig haver de treure el bloc “If <Correct answer> = <Answer> “, ja que així no caldria comprovar si estava bé o no per a fer-ho.

● La tercera tractava de que s’havia d’acabar amb una puntuació molt alta, per lo tant, vaig canviar el “1 punt” amb el que t’obsequien per estar be, per 1000 punts, amb els quals, finalment acabaves amb una puntuació molt alta, si es que encertaves les preguntes.

● En la quarta es tracta de afegir més dificultat a les operacions, per lo tant, jo, apart de sumes, he afegit altres operacions y he augmentat de -10 a 100 les possiblitats de nombres.

2.3. App Inventor

He creat una aplicació molt senzilla, i sense utilitat alguna per a començar a mourem una mica peraquesta aplicació, he mirat tutorials per a millorar-ho [3] i n’he trobat per a fer aplicacions fàcils i simples que programaré després.

2.3.1. Instal·lació

La instal·lació es molt senzilla, simplement s’ha d’entrar en la web oficial de App Inventor[10], i desd’allà et pots baixar un paquet executable amb el qual podràs obrir els arxius del “Blocks Editor”. I amb aquest executable, ja podràs obrir els arxius de les teves aplicacions.

2.3.2 Importació de projectes externs a App Inventor

Per a poder importar els projectes en un format apk a l’App Inventor s’ha de baixar el codi font des de la pàgina i desprès anar a la meva unitat d’App Inventor i des d’allà es pot importar en el botó de més accions.

9

Page 10: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Imatge de la vista d’App Inventor per l’explorador

2.3.3 Primer exemple: Crear una interfície amb un botó

Aquesta aplicació va ser el meu “Hello World” en el mon de Android, era molt simple, estava feta per una imatge de capçalera, la qual tenia el nom de “Worker” i a sota tenia un botó sense cap ruta. Era una simple prova per començar a veure com funcionava aquest “Creador d’aplicacions” i la veritat es que va ser la meva primera experiència amb App Inventor i per lo tant la vaig veure molt útil.

2.3.4 Segon exemple: Col·lecció de Sons

Aquesta va ser la primera aplicació en la vaig utilitzar el “Blocks Editor”. La aplicació també era molt simple, es caracteritzava pel fet de que hi havien quatre imatges, en les que es veien, succesivament els logotips de: Windows 95, Windows 98, Windows 2000 i Windows XP. I a sota de cadascuna de les imatges hi havia un botó el qual, quan el pitjaves reproduïa els sons del sistema operatiu del que era el botó. Els sons el vaig baixar d’internet i la imatge del botó també.

Aquest va ser el resultat final:

10

Page 11: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Aquest requadre es un Codi QR [19] el qual pot ser escanejat amb dispositius mòbils moderns per a poder baixar-te la aplicació i provar-la tu mateix.

11

Page 12: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

2.3.5 Tercer exemple: Piano amb So

Aquesta aplicació va ser el següent nivell de la aplicació de col·lecció de sons, es tractava de crearun piano amb el qual les tecles reproduïssin la nota que aquestes contenen només presionant-les, vaig agafar una imatge d’internet i vaig retallar cada nota i vaig programar que sones un so, que anteriorment havia gravat en un piano de casa meva, i va sortir bé.

Només va haver-hi un petit problema amb la orientació de la pantalla, però desprès de mirar les possibilitats, vaig corregir el problema fàcilment.

L’unica aspecte negatiu sobre aquesta aplicació es la falta de sostinguts, ja que vaig partir la imatge de manera que tot quedés alineat.

Aquesta aplicació comptava amb:● 7 botons que representen les tecles● 7 sons els quals van ser utilitzat per a simular el soroll de la nota.

12

Page 13: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

2.3.6 Quart exemple: Rellotge de cuina

En aquest projecte vaig intentar representar el rellotge de cuina, mitjançant les variables de App Inventor, però el problema es que no vaig trobar el bloc adequat perquè comencés a descomptar el temps des de uns segons determinats.Els passos que vaig seguir van ser els següents:

● Crear un botó● Introduir el component “Clock” de la “Paleta” de App Inventor● Obrir l’editor de blocs

○ Allà vaig donar la acció de que quan pitgés el botó s’encengués el comptador des de un minut, però en aquell moment no ho vaig aconseguir.

Posteriorment, junt amb el meu tutor, vam trobar el error en el codi, el que va passar es que en comptes d'activar-se el temporitzador al pitjar el botó d’inici, es desactivava, i donat això no funcionava. Finalment vam corregir el problema i vaig programar que quan acabés el temps, aparegués una fotografia que indiqués que ja era la hora.

Com vaig veure que variava massa el temps respecte a uns pocs mil·límetres vaig limitar el valor màxim del temporitzador a 20 minuts, i ara ja està molt millor configurat.

13

Page 14: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

2.3.7 Cinquè exemple: Caçador de talps

Aquest exemple me’l va recomanar el meu tutor i es tracta de que hi ha un talp que va canviant la seva posició de la pantalla i l’objectiu era pitjar-hi i amb aquesta acció el dispositiu vibraria i es sumaria un punt a la puntuació del joc. Principalment, aquesta aplicació es basa en les variables, que son les que mouran el talp d’una banda a l’altre i la que variaria la puntuació sumant un punt cada cop que pitjava el talp. La veritat es que no he trobat cap dificultat al crear aquesta aplicació, però al veure que canviava massa lent de posició, he volgut augmentar la velocitat però no he detectat el bloc d’ordre que ho decidia.

Observacions:● He hagut de crear el dibuix del talp perquè no he vist la manera d’accedir als documents de

l’enllaç.● Aquest exemple ha sigut extret d’un document de la universitat Auntònoma de

Barcelona[21].● No he trobat cap mena de dificultat en aquest projecte.● Trobava que era massa fàcil de jugar, i vaig fer una petita manipulació que canviava i

reduïa el temps de canvi de posició del objecte (talp) i amb això vaig augmentar la dificultat

Aquest ha sigut el resultat final:

14

Page 15: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

2.3.8 Sisè exemple: La variable numero 1

Aquest va ser un projecte que vaig traslladar des de Scratch a App Inventor en el que no vaig trobar gaire dificultat, ja que en el exemple de Scratch el codi ja venia pràcticament fet. El que vaighaver de fer es transformar es el tipus de codi de Scratch a App Inventor.

Simplement vaig fer que hi haguessin dues variables, A i B, i que aquestes es fessin operacions entre si i poguessin tindre un valor aleatori de 1 a 20. I desprès el usuari hauria de posar el resultatque cregués bo i la pròpia aplicació decidiria si es correcte o no i en el cas de que es faci be la puntuació pujarà un punt.

Els components d’aquesta aplicació son: ● Un botó de Start que farà que comencin a aparèixer les operacions.● Un text que es convertirà en les operacions al fer clic en el botó Start● Un quadre de text en el que es posarà el resultat que es cregui● El botó de confirmar que indicarà si es correcte o no.● I un text que indica la puntuació

15

Page 16: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

2.3.9 Joc de memòria de sons i colors

Aquesta aplicació tracta de provar la memòria mitjançant uns cercles de diferents colors els quals tenien una animació i havies de enrecordar-te de l’ordre que complien, i si ho feies bé la puntuació pujava un punt.

Vam tenir un problema amb les instruccions del codi, ja que faltaven algunes indicacions i no vaig poder aconseguir-ho fins a la següent reunió, on vam poder resoldre el problema i vam finalitzar l’aplicació.

Els components principals de la aplicació son:● Un botó de reinici● Un botó de inici del joc● Un “Canvas” on hi han quatre cercles de diferents colors● I un text on està la puntuació

16

Page 17: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

3. Eines de OrganitzacióEn aquest apartat explicaré les eines que m’han sigut recomanades per a organitzar-me amb el temps i les hores de classe que m’han sigut proporcionades.

3.1 Introducció

En el meu treball de recerca sempre em van fer molt incís en la organització i la planificació, per això el meu tutor em va recomanar planificar les meves tasques amb diagrames com el de Gantt i la veritat es que son efectius i reflecteixen la inversió de temps que aquestes requereixen.

3.2 Diagrames de Gantt

Els diagrames de Gantt son aquelles gràfiques que representen les tasques d’una manera molt senzilla i pràctica en la que es veu molt fàcilment el temps que s’inverteix per a cada una i l’ordre en el que es fan.

Aquest és un exemple del diagrama

17

Page 18: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

4. Projectes propisEn aquest apartat jo vull tractar els projectes en els quals he pensat i desenvolupat per mi mateix.

4.1 Idees inicials

He tingut moltes idees per a aplicacions, però també hi han algunes que no estan a la meva altura.Algunes de les idees que vaig tenir van ser les següents:

● Una aplicació per a poder dibuixar amb el dit des de el dispositiu mòbil.l● Una aplicació que tracta principalment de estudis de mercat, de oferir als usuaris d’aquesta

aplicació unes enquestes d’empreses les quals han de contestar a canvi d’un a petita remuneració.

● Una aplicació informativa de un centre, ja sigui de centres públics com escoles o altres centres privats com empreses. Simplement per a que tinguessin una aplicació informativa.

4.1.1 Llibreries Android

Volia intentar crear una aplicació en la que pogués accedir a llibreries per a poder obtenir alguns tipus de dades, però no vaig trobar res respecte a App inventor i com no vaig trobar res, vaig decidir buscar en aspectes fora d’App Inventor [13], però al ser un codi complexe de java no crec que pugui aconseguir-ho.

4.1.2 Aplicacions amb TinyDB (Base de dades)

Veient un vídeo tutorial sobre una Agenda [14] vaig voler intentar-ho i vaig aconseguir crear una aplicació amb base de dades.

4.1.3 Aplicacions amb Appinventor extender

Aquesta eina és per a maximitzar les possibilitats de accés a llibreriesi dades del mateix dispositiu, a la pàgina web explica que lesprincipals funcions que aquesta permet son:

● URLFETCH - accedir a Internet directament des del teutelèfon sense haver d'utilitzar TinyWebDb i el seu propiservidor web.

● Webframes - mostren una visió simple del web.● TinySharedDB - dades persistents per a compartir entre

aplicacions. ● Opcions de depuració - Un paràmetre opcional permet que les variables poden veure,

modificar i provats per assegurar un ús adequat. (Debugging)

18

Page 19: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

He vist que es poden combinar fàcilment les APIs i el Appinventor Extender i poden sortir coses molt interessants [22].

Bàsicament el que permet es poder tenir més d’una operació alhora (com per exemple poder gestionar tres APIs diferents alhora, cosa que només amb l’AppInventor no es pot aconseguir)poder compartir informació entre aplicacions o simplement obrir el navegador web (en fase de proves) Aquesta Informació l’he extret de la pàgina oficial de l’AppInventor Extender [16]

Posteriorment hem vist que aquesta aplicació, al ser de l’any 2009, hi han hagut moltes modificacions al App Inventor i han introduït les característiques de TinyDB, TinywebDB i Webviewer. Amb el que podem deduir que App Inventor Extender va ser introduit al mateix App Inventor en forma d’actualització.

4.1.4 Utilització de API’s

Les APIs són uns codis per a aplicar a aplicacions els quals donen informació sobre alguna pàginaweb. Aquests son inserits per el mateix programa de App Inventor i amb els quals podem extreure aplicacions com aquestes:

(No ha sigut creada per mi)

Realment,el que diferencia App Inventor extender de les APIs és que les APIs son un conjunt d'indicacions, en quant a funcions i procediments, ofert per una biblioteca informàtica per ser utilitzat per un altre programa per interactuar amb el programa inicial, i App Inventor extender es simplement un conjunt de eines que van ser sumades a App Inventor.

19

Page 20: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

4.2 Projectes elaborats

En aquest apartat explicaré els exemples elaborats per mi mateix amb tots els seus components i descripcions.

Aplicació de pintar

En aquest exemple, he creat una aplicació en la qual, seleccionant un color d’un llistat i arrossegant el dit per la pantalla, crees una línia del color seleccionat i amb la que combinant altres línies de diferents colors, es poden arribar a crear dibuixos simples. Una altre idea que he tingut és, com que es poden introduir fotografies de fons a la zona de dibuix, podria afegir una imatge on es pogués pintar a sobre. Amb això podríem decorar fotografies, afegir textos...Característiques de la aplicació:

● Hi han 5 colors diferents: Groc, vermell, verd, blau i negre.● Hi ha un botó per a esborrar tota la zona dibuixada.● S’han de configurar les següents coses:

○ Les dimensions de la pantalla en la qual es podrà dibuixar ○ Que quan es pitgi cada botó es canvii al color seleccionat○ Que al arrossegar el dir es crei una línia.○ Que al pitjar amb el dit es crei una circumferència de un radi determinat.○ Que al pitjar el botó “Borrar” elimini totes les línies/punts.

Aquest va ser el resultat final:

20

Page 21: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Fast Calculator:

Aquesta va ser una idea que se’m va acudir quan estava practicant amb App inventor, i la veritat es que vaig pensar que no seria gaire difícil crear una Calculadora mitjançant dos quadres de text amb un número a cadascun els quals el usuari pogués decidir quina operació volia realitzar.Components:

● Dos quadres de text● Quatre botons d’operació● Una guia d’instruccions amb un botó adreçat a ella● Un indicador entre els dos quadres de text que defineix la operació

Aquesta aplicació ha sigut la primera en la que he combinat més d’una pàgina, connectada mitjançant botons. Per fer-la m’he mirat alguns tutorials d’App Inventor [11] però al veure una mica la simplicitat de la aplicació vaig fer-ho jo mateix i vaig obtenir un bon resultat. He dissenyat jo mateix tots els botons que observem mitjançant programes d’edició d’imatge i el nom i el logotip, pel qual podria dir que es totalment meva.

21

Page 22: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

MisteryHouse

Aquest es un joc de text, simple però distret que vaig dissenyar, es tracta de intentar sortir d’una casa, mitjançant opcions que et proporciona el programa i les quals el usuari podrà decidir quina opció vol escollir.

Tècnicament, es tracta simplement de moltes pàgines connectades entre elles per botons, però hi han algunes que es tanquen i per les quals no es pot continuar, i es llavors quan el usuari, depenent de la situació, perd o torna enrere.L’objectiu és fàcil, s’ha de sortir d’una casa en la que apareixes desorientat mitjançant objectes que et trobis a mesura que avança el joc.De moment és un joc curt, però es podria anar ampliant i convertir-lo en un joc distret i interessant.

Components:

● Tres botons a la pantalla d’inici● Dos opcions a cada pàgina (amb les quals es decidirà la ruta que farà l’usuari)● Una pàgina d’instruccions● Una pàgina d’informació extra

22

Page 23: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Ara no puc!

Aquesta és una aplicació que em va semblar molt interessant, ja que es una aplicació en la que tu dius verbalment un missatge que vols enviar a algú amb el que estàs en contacte per mitjà escrit.Pots modificar la excusa en qualsevol moment, però té una predeterminada creada per mi.

Aquesta aplicació l’he extret de els tutorials de App Inventor [12] i es simple però pot arribar a ser molt útil.

Els principals components d’aquesta aplicació son:● Un text introductor a la aplicació● Un quadre de text on es dictarà o s’escriurà l’excusa● Un botó per canviar oralment la excusa

23

Page 24: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Agenda

Aquest va ser un intent de començar a utilitzar les bases de dades amb App Inventor, es tracta d’una agenda telefònica en la qual pots posar el nom d’una persona i el seu telèfon mòbil.Es una aplicació simple però a al vegada pràctica i útil.

Els seus principals components son:● Un text on està situat el títol● Dos quadres de text introduïts per un text● Dos botons per a guardar i visualitzar les dades emmagatzemades

He tingut un petit problema que es que no s’ha guardat les dades be. Sembla que el exemple del tutorial ja estava malament de començament.

24

Page 25: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Task Administrator

Vaig pensar que aquesta podria ser la meva aplicació definitiva, una aplicació útil, fàcil d’utilitzar, que estalviés temps i que fos pràctica. Sempre hi han moments on algú et diu alguna cosa, tu no l’escrius i desprès t’empenedeixes perquè se t’ha oblidat i era alguna cosa important. Veient que aquest cas succeeix molt, vaig voler posar-hi una aplicació com a solució.

També volia, que la meva aplicació fos útil per a gent gran o gent que no te gaire traça amb Smartphones i doncs vaig estar pensant com podia fer perquè sigués fàcil d’utilitzar per a persones no acostumades a les noves tecnologies. Vaig estar pensant quines serien les possibles dificultats que tindrien aquestes persones al utilitzar la meva aplicació i vaig trobar dos problemes:

1. Dificultat d’escriure fluidament (si a una persona li costa escriure amb el teclat del mòbil, eslògic que no podrà utilitzar la aplicació fàcilment).

2. Dificultat de llegir bé en pantalles petites (ja que si s’ha d’agafar les ulleres simplement per llegir una nota tampoc és pràctic).

Vaig estar pensant solucions per a aquests i finalment vaig tindre dues idees per aplicar al projecte:

1. Poder introduir la nota oralment.

2. Que el dispositiu et llegeixi la nota prèviament redactada.

Llavors vaig començar a mirar mètodes i eines d’App Inventor per a poder crear una aplicació ambaquestes característiques i després de cercar, vaig trobar que podia fer-ho mitjançant les eines “SpeechRecognizer” i “TextToSpeech”. I llavors em vaig posar amb l’aplicació.

● Primer de tot el que vaig fer van ser dos Quadres de text on l’usuari introduiria el nom de la nota i el text que la descrivís i vaig aplicar dos botons, un de guardar la tasca, i un altre per accedir a les tasques guardades.

● En segon lloc vaig crear un “ListPicker”(crea una llista) des d’on es puguin seleccionar les notes que siguin necessàries i un altre quadre de text que mostraria el text que guardava aquesta nota.

● Llavors vaig crear la base de dades que emmagatzemaria totes les notes en el dispositiu de manera que posteriorment podessin ser extretes i examinades per l’usuari.

● Posteriorment vaig voler millorar la estètica i vaig posar el títol, vaig posar textos que indiquessin que s’havia de posar en cada quadre de text i vaig posar una imatge de fons depantalla.

25

Page 26: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

● Després vaig voler posar-me amb la interfície oral, vaig introduir el “SpeechRecognizer” i el “TextToSpeech” de manera que simplement amb pitjar un botó, et pogués reconèixer la veu i amb un altre botó pogués llegir-te la nota feta anteriorment.

● I finalment, vaig corregir alguns errors que contenia el codi i vaig finalizar-la.

Sens dubte aquesta ha sigut la aplicació més complexa que he fet, consta moltes eines diferents que juntes creen una aplicació senzilla i pràctica apte per a qualsevol persona, ja que tot i no ser una persona amb dificultats amb el teclat d’android, pot ser molt més còmode dictar la nota, que escriure-la manualment.

Aquest va ser el resultat:

26

Page 27: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

5. Conceptes bàsics de la programacióEncara que els conceptes de la programació son molt extensos, en aquest apartat faré un simple resum de els trets més bàsics i simples.

5.1 Introducció

Es poden utilitzar molts llenguatges per programar un ordinador. El més bàsic és el llenguatge maquina, una col·lecció d'instruccions molt detallada que controla els components interns de la màquina . Aquest és el dialecte natural de la màquina . Molt pocs programes s'escriuen actualmenten llenguatge de màquina per dues raons importants : primer, perquè el llenguatge de màquina és molt incòmode per treballar i segon perquè en la majoria de les màquines es pot programar en diversos tipus de llenguatges que són llenguatges d'alt nivell , les instruccions són més compatibles amb els llenguatges i la manera de pensar humans com els és el llenguatge c que a més és de propòsit general .

A causa que els programes dissenyats en aquest llenguatge es poden executar en qualsevol màquina , gairebé sense modificacions . Per tant l'ús del llenguatge d'alt nivell ofereix tres avantatges importants , senzillesa , uniformitat i portabilitat .

5.1.1 Llenguatge de programació :

Sistema de símbols i regles que permet la construcció de programes amb els que l'ordinador pot operar així com resoldre problemes de manera eficaç .

Aquests contenen un conjunt d'instruccions que ens permeten realitzar operacions d'entrada/sortida , càlcul , manipulació de textos , lògica/comparació i emmagatzematge/recuperació .

Els llenguatges de programació es classifiquen en :

● Llenguatge Màquina : Són aquells les instruccions són directament entenedores per l'ordinador i no necessiten traducció posterior per que la CPU pugui comprendre i executar el programa . Les instruccions en llenguatge màquina s'expressen en termes de la unitat dememòria més petita el bit ( dígit binari 0 o 1 ) .

● Llenguatge de Baix Nivell ( Assemblador ) : En aquest llenguatge les instruccions s'escriuen en codis alfabètics coneguts com mnemotècnics per a les operacions i adreces simbòliques .

27

Page 28: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

● Llenguatge d'alt nivell : Els llenguatges de programació d'alt nivell ( BASIC , pascal , COBOL , Fortran , etc . ) Són aquells en els quals les instruccions o sentències a l'ordinador són escrites amb paraules similars als llenguatges humans ( en general en anglès ) , el que facilita l'escriptura i comprensió del programa .

5.2 Algorismes

La paraula algorisme es deriva de la traducció al llatí de la paraula àrab alkhowarizmi , nom d'un matemàtic i astrònom àrab que va escriure un tractat sobre manipulació de nombres i equacions alsegle IX .

La solució a qualsevol problema informàtic involucra l'execució d'una sèrie d'accions en ordre específic. Un procediment per resoldre un problema en termes de: a ) Les accions a executar i b)L'ordre en el qual aquestes accions s'han d'executar s'anomena algoritme .

Un exemple d'un algorisme per arribar a l'escola:

● Sortir del llit

● Treure’s el pijama

● Dutxar-se

● Vestir-se

● Esmorzar

● Utilitzar el transport (autobús ,cotxe ,bicicleta ,etc )

5.3 Programa

Seqüència d'instruccions mitjançant les quals s'executen diferents accions d'acord amb les dades que s'estiguin processant .

És un algoritme codificat en un llenguatge de programació per ser utilitzat per l'ordinador

Expressió d'un algoritme en un llenguatge precís que pot arribar a entendre una màquina informàtica.

28

Page 29: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

5.4 Bucle

Un bucle o cicle, en programació, és una sentència que es realitza repetides vegades a un tros aïllat de codi, fins que la condició assignada al bucle deixi de complir-se.

Generalment, un bucle és utilitzat per fer una acció repetida sense haver d'escriure diverses vegades el mateix codi, el que estalvia temps, deixa el codi més clar i facilita la seva modificació en el futur.

Els tres bucles més utilitzats en programació són el bucle while, el bucle for i el bucle repetir.

5.5 Condicions

En programació, a l'expressió lògica d'una instrucció alternativa doble, o simple, també se li denomina condició. Les condicions també s'utilitzen en els bucles.

5.6 Events

La programació dirigida per esdeveniments és un paradigma de programació en què tant l'estructura com l'execució dels programes van determinats pels successos que tinguin lloc en el sistema, definits per l'usuari o que ells mateixos provoquin.

(Hauria de ampliar l’informació però no se si seria compatible ja que ni hi han explicacions molt bàsiques)

5.7 Programació en JAVA

El codi del programa Java es compon d'instruccions que s'executaran en el seu sistema informàtic per realitzar una tasca, com per exemple dir organitzar enters donats en ordre ascendent.

El Java és un llenguatge interpretat i, per tant, pot semblar lent en comparació amb altres llenguatges, però ofereix un índex de re-utilització de codi molt elevat, sent possible trobar moltes llibreries lliures de Java. És un llenguatge flexible i potent tot i la facilitat amb la qual es programa i dels resultats que ofereix. Un dels trets que el caracteritza i que el fa una eina molt valorada a l'hora de desenvolupar aplicacions distribuïdes, és el fet que és un llenguatge multi - plataforma. He extret aquesta informació de diferentes fonts [23].

29

Page 30: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

6. Entrevista amb Daniel NavarroHe entrevistat a Daniel Navarro, fundador i gestor de Dolores Entertainment, una empresa dedicada a la programació d’aplicacions per a dispositius d’IOS (Apple), Android i fins i tot Nintendo. Vaig aconseguir contactar amb ells ja que vaig trobar una aplicació feta a Catalunya la qual dues persones havien encarregat a Dolores entertainment.

1. ¿Qué ha estudiado para llegar hasta su actual puesto de trabajo?En mi caso que soy el principal fundador de la empresa y desarrollado jefe, soy Ingeniero Técnico en informática de gestión y tengo un master de videojuegos

2. ¿Donde empezó a trabajar?Empecé trabajando en una consultora, donde estaba en el equipo de la intranet de la Caixa, una vez termine mi master me fui a trabajar a que era una empresa de videojuegos

3. ¿En qué consiste su trabajo en Dolores Entertainment?Soy el desarrollado en Jefe y también realizo las tareas de gestión de la empresa.

4. ¿Con qué herramienta desarrolláis las aplicaciones?Son muchas las herramientas utilizadas, ya que realizamos todo el proceso de creación, desde el diseño, las animaciones, a la programación.

5. ¿Cree que hay mucho mercado en el mundo de el desarrollo de aplicaciones para smartphones?

Hay un gran mercado, es igual que pasó en su día con internet y las webs, ahora mismo nadie concibe un negocio que no tenga presencia online. El problema, es que al igual que paso en su momento con el mundo de internet, se esta viendo inicios de lo que se denominó el boom de las "punto com", es decir, un mercado saturado de proveedores.

6. Yo me he iniciado en el mundo de la programación con App Inventor. ¿Qué herramienta me recomendáis para seguir posteriormente?

Sinceramente no conocía esta herramienta, he tenido que buscar por internet. Nosotros trabajamos en nativo, es decir Eclipse para Android para iOS.

7. ¿Qué opináis de App Inventor?No lo conozco, así que no puedo opinar, pero en la web he podido ver que pone que está pensado para gente que no sabe programar, así que supongo que solo permitirá hacer aplicaciones básicas.

8. ¿De cuantas personas se compone la plantilla de Dolores Entertainment?6 trabajadores

30

Page 31: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

9. ¿Al crear juegos ya existentes como puede ser el Out Run, utilizáis librerías o empezáis desde cero?

El juego como bien dices, ya existe, pero nosotros no hemos contado con el código original, así que todo ha sido desde cero.

10. ¿Han habido conflictos con las diferentes versiones de Android?Siempre hay conflictos, el problema es que hay demasiados dispositivos diferentes con tamaños de pantalla y potencia de terminal muy dispares.

11. ¿Os encontráis los mismos problemas programando para Android que para IOS?Iphones es más fácil de programar, ya que tiene un número de terminales muy limitado y muy semejantes entre ellos

12. ¿Por qué razón la aplicación que habéis creado de Ice Cream Surfer no la habéis colgado en Google Play?

Actualmente Ice Cream Surfer esta siendo desarrollada para Android, WII U. La versión que se lanzó para iOS fue una prueba para ver la opinión de los clientes y ver por donde enfocar el juego.

13. ¿Con qué método guardáis los datos de las aplicaciones permanentemente?Depende mucho del caso, se puede almacenar en la memoria interna, o en una base de datos.

14. ¿Con qué método conseguís guardar la información de vuestras aplicaciones en los dispositivos de los usuarios?

Depende el tipo de información que se quiera almacenar, y si se necesita que los datos estén encriptados o no.

15. ¿Yo he creado una aplicación bàsica sobre un administrador de tareas con el cual se puede dar de alta y de baja tareas las cuales se pueden modificar, cual crees que podria ser mi siguiente paso?

Eso depende de cual sea tu idea de la app. Podrías hacer que la info se almacenara en una BBDD para que pudieras tener acceso a las tareas desde dispositivos diferentes. o poder crear grupos para tareas de una comunidad, etc.

Com a conclusió d’aquesta entrevista, podem veure que el mercat d’aplicacions s’esta incrementant molt en els ultims anys, que les empreses dedicades al sector ténen molt treball i quees un servei que actualment es requereix molt a les empreses.

31

Page 32: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

7. ConclusionsAl escollir aquest Treball de Recerca, vaig pensar que la programació podia ser una tasca molt difícil per a una persona que mai havia tingut ningun tipus de noció sobre la programació informàtica ni android, però gràcies a App Inventor, es poden programar aplicacions sense haver d’aprendre el llenguatge Java

Veient els objectius inicials d’aquest treball, m’adono de que per a mi, he complert el que em vaig proposar. Em vaig proposar aprendre a crear aplicacions i crear-ne de pràctiques i útils i la veritat és que ho he fet. És clar però, no ha sigut fàcil, també he estat molts cops encallat i sense saber quin seria el pas que hauria de fer, per això he necessitat, sovint, l’ajuda del meu tutor qui m’ha ajudat molt i m’ha guiat pel camí adequat.

També hi han hagut coses en les que he tingut moltes dificultats, com per exemple amb les llistes isobretot amb les bases de dades, ja que hi han diferents tipus i de vegades no trobava la manera de que es guardes la informació en el dispositiu, a demés, el programa utilitzat estava en versió beta (de proves) i hi havien alguns components que encara no estaven del tot llestos i hi havien alguns errors.

Aquest treball també m’ha ajudat a canviar d’idea sobre els estudis professionals als que volia anar, m’ha ajudat a decidir-me de que he de fer el que m’agrada i per tant estudiaré una triple titulació que inclou Administració de sistemes en xarxa, desenvolupament d’aplicacions multiplataforma i desenvolupament d’aplicacions web. Sé que tot el que he aprés em serà útil en els estudis que cursaré.

Fer aquest treball m’ha distret, no se m’ha fet pesat en cap moment i seguiré creant aplicacions i millorant el meu nivell i així quan estudiï programació ja tindré unes nocions molt bàsiques de com funciona.

He vist que aquest treball m’ha ajudat a organitzar-me, jo soc una persona molt desordenada i aquest treball m’ha obligat a tindre-ho tot ordenat i a l’abast per poder-ho utilitzar. També m’ha ajudat molt els diagrames de Gantt per a gestionar el meu temps i el de les accions que feia amb el treball. I sobretot el seguiment que he anat fent amb el meu tutor és el que ha permès que hagi pogut aconseguir els objectius del meu treball.

32

Page 33: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

8. Bibliografia[1] Breu Informació i introducció pràctica a AppInventor: http :// edulogix . wordpress . com /

[2] Instruccions per a crear projectes amb AppInventor: http :// www . royalsoced . org . uk /1035_ MobileAppDevelopment . html

[3] Ajuda per instal·lar i iniciar l’entorn AppInventor: http :// appinventor . mit . edu / explore / content / setup - mit - app - inventor . htmlPàgina on ensenya pas per pas els llenguatges informatics: http :// www . codecademy . com /

[4] 28 videos d’un curs de programacio de la Universitat de Stanford (Programing methodogy): http :// www . youtube . com / watch ? v = KkMDCCdjyW 8

[5] Tutorial de desenvolupament de Aplicacions per a Mòbils de la Universitat de Stanford: http :// www . youtube . com / watch ? v = EF 7 q 6 HLukfI

[6] Altres treballs de recerca de companys d’altres anys:http :// maatematica . wordpress . com /2013/02/08/ tr - fractals / (Jorge Thiele Orejas)http :// maatematica . wordpress . com /2013/02/08/ tr - animacio - grafica / (Marc Mora Estrada)

[7] Informació sobre les variables aplicades a Scratch:http :// edulogix . wordpress . com /2013/05/02/ scratch - variable /

[8] Guia per a crear el programa de “Menja-Cocos”:http :// edulogix . wordpress . com /2013/01/23/ scratch - menja - cocos -1/

[9] Guia per a crear el programa de “Planetari”http :// edulogix . wordpress . com /2013/02/19/ scratch - planetari -1/

[10] Seu web de App Inventor:http :// appinventor . mit . edu /

[11] Guia per a fer una calculadora simple.http :// www . youtube . com / watch ? v = qKT 72 rr _ awA

[12] Tutorial Ara no puchttp :// appinventor . mit . edu / explore / content / no - text - while - driving - part -2. html

[13] 10 Llibrerias gratuites d’Androidhttp :// www . limecreativelabs . com / librerias - gratuitas - android /

33

Page 34: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

[14] Tutorial agenda amb base de dadeshttp :// www . youtube . com / watch ? v = HGV 8 HJnT 0 vM(http :// appinvtinywebdb . appspot . com /)

[15] Capítol sobre l’emmagatzament de dades al dispositiu:http :// www . appinventor . org / assets / pdf / ch 22 Databases . pdf

[16] Informació i pàgina oficial d’AppInventor Extenderhttps :// sites . google . com / site / appinventorextender / documentation

[17] Manual per a inventors d’AppInventor.http :// www . appinventor . org / projects

[18] Javahttp :// es . wikipedia . org / wiki / Lenguaje _ de _ programaci % C 3% B 3 n _ Java

[19] Codi QR http :// ca . wikipedia . org / wiki / Codi _ QRLector de QR per android:https :// play . google . com / store / apps / details ? id = la . droid . qr & hl = es

[20] Seu web d’EduLogixhttp :// edulogix . wordpress . com /

[21] Document de l’universitat Autònoma de Barcelonahttp :// www . mat . ub . edu / futurs _ ub / activitats / pdfs / jornades _ taller _ alumne _ final . pdf

[22] Combinació App Inventor Extender amb API’shttps :// sites . google . com / site / appinventorextender / documentation

[23] Informació sobre javahttp :// www . programmingsimplified . com / java - source - codeshttp :// www . tutorialspoint . com / java / index . htm

http :// www . java - examples . com /

34

Page 35: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

9. Annexos

A. Reunions

Reunió 8/02/2013

● Hem parlat:○ Roger Morató:

■ TR Introducció a la programació en Android: programació Java aplicada a Android (es podria fer més d’una aplicació).

○ Exemples de l’any passat:■ TR Curt d ’ animació gràfica■ TR Fractals

● Tasques:○ T0: Omplir la Fitxa de Seguiment Personal○ T1: crear Portada○ T2: crear Índex (Menú / Inserir / Taula de Continguts) ○ T3: crear Bibliografia amb format correcte○ T4: crear Annex de Reunions

○ T5: mirar-se el Diagrama de GANTT○ T6: Mirar-se altres Treballs de Recerca○ T7: Mirar-se la Introducció dels companys de TR○ T8: Escriure 1. Introducció○ T9: mirar-se EduLogiX

● Proper dia de reunió: DJ 28/02/2013 15h

Correu-e 22/02/2013

● Enviat al Sergi: ○ Instruccions per a crear projectes amb AppInventor:

http :// www . royalsoced . org . uk /1035_ MobileAppDevelopment . html

Reunió 28/02/2013

● Revisió de tasques:○ Sergi document en blanc!!! No es reflecteix què ha fet. En general s’ha mirat altres

TR i el Diagrama de GANTT.○ Roger:

■ Fet:

● T5: mirar-se el Diagrama de GANTT

35

Page 36: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

● T8: Escriure 1. Introducció● T9: mirar-se EduLogiX

■ A mitges:● T1: crear Portada (falta autor, data, professor...)● T2: crear Índex (Menú / Inserir / Taula de Continguts; usar estils

“Encapçalament” al fer els títols i subtítols) ● T3: crear Bibliografia amb format correcte (amb numeració, i citar les

entrades des del contingut del document).

● T6: Mirar-se altres Treballs de Recerca (citar i comentar)■ Pendent:

● T0: Omplir la Fitxa de Seguiment Personal● T4: crear Annex de Reunions

● T7: Mirar-se la Introducció dels companys de TR● Noves Tasques:

○ T10: mirar-se i començar a usar ProjectLibre, per a fer un GANT que acabarà al final de la introducció “Planificació del vostre treball”.

○ T11: Iniciar punt 2. Eines de desenvolupament, amb subcapítols per a Scratch, AppInventor...

● Resolt un dubte sobre la instal·lació d’AppInventor.● Recordar enllaç ScratchRef ScratchCatalà● Proper dia de reunió: DJ 7/3/2013 15h

Reunió 7/03/2013

● Sergi Carles: no ha vingut a la reunió!● Idea del Roger: fer una aplicació de col·lecció sons● Revisió de tasques:

○ Fet:■ T0: Omplir la Fitxa de Seguiment Personal■ T1: crear Portada (falta autor, data, professor...)■ T2: crear Índex (Menú / Inserir / Taula de Continguts; usar estils

“Encapçalament” al fer els títols i subtítols) ■ T10: mirar-se i començar a usar ProjectLibre, per a fer un GANT que

acabarà al final de la introducció “Planificació del vostre treball”.■ T4: crear Annex de Reunions■ T11: Iniciar punt 2. Eines de desenvolupament, amb subcapítols per a

Scratch, AppInventor...○ A mitges:

■ T3: crear Bibliografia amb format correcte (amb numeració, i citar les entrades des del contingut del document), falta citar algunes entrades, afegirTR consultats.

■ T6: Mirar-se altres Treballs de Recerca (citar i comentar)○ Pendent:

36

Page 37: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

■ T7: Mirar-se la Introducció dels companys de TR● Noves Tasques:

○ T12: Fer còpia de seguretat de la memòria del TR (Menú Fitxer / Baixa com a...)○ T13: Actualitzar el GANTT amb previsió de totes les tasques esmentades fins ara○ T14: 1r Fer aplicació de Col·lecció Sons amb Scratch○ T15: 2n Fer de Col·lecció Sons amb AppInventor○ T16: Mirar-se exemples amb variables amb Scratch (Edulogix/Sistema Solar)○ T17: Fer Rellotge de Cuina amb Scratch○ T18: Buscar i Mirar-se exemples amb variables amb AppInventor○ T19: Fer Rellotge de Cuina amb AppInventor○ T20: Deixar tots els exemples (per petits que siguin) ja documentat a la memòria del

TR.○ T21: Buscar informació sobre la base teòrica de programació (tipus d’instruccions,

búcles, condicions, events...)○ T22: Deixar Annexs al final, amb numeració alfanumèrica...○ T23: No deixar títols i subtítols seguits, sense un paràgraf descriptiu al mig.○ T24: Proposar idees d’aplicacions complexes com a pràctiques finals d’aquest TR.

● Proper dia de reunió: DJ 21/3/2013 15h

Reunió 18/04/2013

● Sergi Carles: no ha vingut a la reunió!● COMPTE!:

○ no avançat en absolut amb la documentació, però sí a fet algunes proves amb Scratch i AppInventor.

○ s’ha avisat a l’alumne, que gairebé li ha passat 1/3 del temps hàbil del projecte i quecal que hi posi hores per avançar.

● Revisió de tasques:○ Fet:

■ T14: 1r Fer aplicació de Col·lecció Sons amb Scratch■ T15: 2n Fer de Col·lecció Sons amb AppInventor■ T16: Mirar-se exemples amb variables amb Scratch (Edulogix/Sistema

Solar).■ Aplicació piano però no acaba de funcionar per falta d’aliniar els botons amb

la imatge de fons.○ A mitges:

■ T3: crear Bibliografia amb format correcte (amb numeració, i citar les entrades des del contingut del document), FALTA citar algunes entrades, afegir TR consultats.

■ T6: Mirar-se altres Treballs de Recerca (citar i comentar)■ T17: Fer Rellotge de Cuina amb Scratch

○ Pendent:

■ T7: Mirar-se la Introducció dels companys de TR

37

Page 38: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

■ T12: Fer còpia de seguretat de la memòria del TR (Menú Fitxer / Baixa com a...)

■ T13: Actualitzar el GANTT amb previsió de totes les tasques esmentades fins ara.

■ T18: Buscar i Mirar-se exemples amb variables amb AppInventor■ T19: Fer Rellotge de Cuina amb AppInventor■ T20: Deixar tots els exemples (per petits que siguin) ja documentat a la

memòria del TR.■ T21: Buscar informació sobre la base teòrica de programació (tipus

d’instruccions, búcles, condicions, events...)■ T22: Deixar Annexs al final, amb numeració alfanumèrica...■ T23: No deixar títols i subtítols seguits, sense un paràgraf descriptiu al mig.■ T24: Proposar idees d’aplicacions complexes com a pràctiques finals

d’aquest TR.● Noves Tasques:

○ T25: Fer aplicació Caçador de Talps.○ T14b: Documentar: 1r Fer aplicació de Col·lecció Sons amb Scratch○ T15b: Documentar: 2n Fer de Col·lecció Sons amb AppInventor○ T16b: Documentar: Mirar-se exemples amb variables amb Scratch

(Edulogix/Sistema Solar)○ T17b: Documentar: Fer Rellotge de Cuina amb Scratch○ T26: Buscar informació sobre accedir a llibreries d’Android des de AppInventor

(exemple accedir a l’agenda de contactes).● Proper dia de reunió: DJ 9/5/2013 15h-15h30

Reunió 09/05/2013

● Comentaris generals:○ cal centrar-se al fer una tasca i assegurar que s’acaba i queda documentada (tant si

és amb èxit com si hi ha dificultats).○ inserir imatges com a “En línia amb el text” per a que sempre estiguin amb el text

que pertoca (al final de tot ja les desplaçarem).○ hem vist com importar sons en Scratch.○ hem vist la web http :// scratched . media . mit . edu

● Revisió de tasques:○ Fet:

■ T3: crear Bibliografia amb format correcte (amb numeració, i citar les entrades des del contingut del document), FALTA citar algunes entrades, afegir TR consultats.

■ T7: Mirar-se la Introducció dels companys de TR■ T12: Fer còpia de seguretat de la memòria del TR (Menú Fitxer / Baixa com

a...)

38

Page 39: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

■ T24: Proposar idees d’aplicacions complexes com a pràctiques finals d’aquest TR.

● Idea Roger: aplicació que mostra publicitat, i els usuaris que la miren i responen a preguntes per comprovar si se l’han mirat reben una retribució.

● Idea Roger: fer una aplicació amb la que poder dibuixar.● Idea Jordi: joc de targetes de memòria, aparellar les que sigui iguals.

■ T14b: Documentar: 1r Fer aplicació de Col·lecció Sons amb Scratch■ T15b: Documentar: 2n Fer de Col·lecció Sons amb AppInventor■ T17b: Documentar: Fer Rellotge de Cuina amb Scratch

○ A mitges:

■ T6: Mirar-se altres Treballs de Recerca (citar i comentar amb DETALL)

■ T13: Actualitzar el GANTT amb previsió de TOTES les tasques esmentades fins ara.

■ T17: Fer Rellotge de Cuina amb Scratch.● hem vist el problema que tenia (no usar iteracions ni variables)● CAL documentar el problema i la solució.

■ T20: Deixar tots els exemples (per petits que siguin) ja documentat a la memòria del TR. Assegurar que estan tots “els llistats” del programes i que es CONCRETEN els problemes i les solucions.

■ T22: Deixar Annexs al final, amb numeració alfanumèrica...■ T23: No deixar títols i subtítols seguits, sense un paràgraf descriptiu al mig.■ T16b: Documentar: Mirar-se exemples amb variables amb Scratch

(Edulogix/Sistema Solar)● hem vist el problema que tenia (diversos programes junts i no tornar

a la direcció inicial)● CAL documentar el problema i la solució.

■ T26: Buscar informació sobre accedir a llibreries d’Android des de AppInventor (exemple accedir a l’agenda de contactes). FALTA documentar on t’has quedat per a que se’t pugui ajudar.

○ Pendent:■ T18: Buscar i Mirar-se exemples amb variables amb AppInventor■ T19: Fer Rellotge de Cuina amb AppInventor■ T21: Buscar informació sobre la base teòrica de programació (tipus

d’instruccions, búcles, condicions, events...)■ T25: Fer aplicació Caçador de Talps.

● Noves Tasques:○ T27: Fer exemple Scratch: La variable número u○ T28: Fer exemple La variable número u amb AppInventor○ T29: Guardar de forma organitzada tots els codi font dels programes que es van

fent. Es proposa fer-ho a Google Drive.

39

Page 40: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

○ T30: Encetar punt 4 de la memòria, com a “Projectes pròpis” i fer un primer apartat 4.1. Idees inicials on descriure les idees que s’han tingut fins ara i els seus punts forts i punts febles.

○ T31: Fer exemple AppInventor: joc memòria de sons i colors.○ T32: Fer més tutorials de la web d’AppInventor.

● Proper dia de reunió: DJ 30/05/2013 15h

Reunió 20/06/2013

● Comentaris generals:○ Exemple Talp: augment de velocitat.○ Exemple Simon: aclarir codi font perquè hi ha un error a les indicacions.○ Exemple Rellotge cuina: crear-lo junts.○ Exemple La variable número 1:

■ when Sprite clicked = botó■ set score to... = variable i set■ hide variable … = variable i Label ■ pick random = randomInteger■ ask = TextBox

○ Exemple Dibuixa en pantalla: com modificar el gruix d’una línia.○ Concepte de Llista i BD.○ Conceptes bàsics de programació:

■ Tipus d’instruccions● Entrada / Sortida: TextBox / Label (si són tipus textuals)● Flux: Condicional, Repeat, When...

■ Estructures Dades:● Variables● Llistes o taules● BD

○ IDEA: posar codis QR sobre els exemples fets.● Revisió de tasques:

○ Fet:

■ T6: Mirar-se altres Treballs de Recerca (citar i comentar amb detall)■ T13: Actualitzar el GANTT amb previsió de TOTES les tasques esmentades

fins ara.■ T20: Deixar tots els exemples (per petits que siguin) ja documentat a la

memòria del TR. Assegurar que estan tots “els llistats” del programes i que es CONCRETEN els problemes i les solucions.

■ T22: Deixar Annexs al final, amb numeració alfanumèrica...■ T23: No deixar títols i subtítols seguits, sense un paràgraf descriptiu al mig.■ T16b: Documentar: Mirar-se exemples amb variables amb Scratch

(Edulogix/Sistema Solar)■ T17: Fer Rellotge de Cuina amb Scratch.■ T18: Buscar i Mirar-se exemples amb variables amb AppInventor

40

Page 41: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

■ T25: Fer aplicació Caçador de Talps.■ T27: Fer exemple Scratch: La variable número u■ T30: Encetar punt 4 de la memòria, com a “Projectes pròpis” i fer un primer

apartat 4.1. Idees inicials on descriure les idees que s’han tingut fins ara i elsseus punts forts i punts febles.

○ A mitges:■ T19: Fer Rellotge de Cuina amb AppInventor

○ Pendent:■ T28: Fer exemple La variable número u amb AppInventor■ T26: Buscar informació sobre accedir a llibreries d’Android des de

AppInventor (exemple accedir a l’agenda de contactes). FALTA documentar on t’has quedat per a que se’t pugui ajudar.

■ T21: Buscar informació sobre la base teòrica de programació (tipus d’instruccions, búcles, condicions, events...)

■ T29: Guardar de forma organitzada tots els codi font dels programes que es van fent. Es proposa fer-ho a Google Drive. (i codi QR?)

■ T31: Fer exemple AppInventor: joc memòria de sons i colors.■ T32: Fer més tutorials de la web d’AppInventor.

● Noves Tasques:○ T27: Documentar com “importar” projectes (carregar el codi font)○ T28: Contactar Elitza Maneva per activitat variables○ T29: Contactar altra alumna amb TR AppInventor.○ T30: Buscar exemple AppInventor amb component TinyDB○ T31: Buscar exemple AppInventor amb llistes / taules.○ T32: Pensar quina aplicació “gran” es vol fer dins del projecte.

■ Roger proposa: aplicació de recordatori de notes en funció de data i hora.○ T33: Anar classificant el que s’ha après dins de conceptes bàsics de programació.

● Proper dia de reunió: finals de juliol

Reunió 25/09/2013

● Comentaris generals:○

● Revisió de tasques:○ Fet:

■ T28b: Contactar Elitza Maneva per activitat variables■

○ A mitges:■ T21: Buscar informació sobre la base teòrica de programació (tipus

d’instruccions, búcles, condicions, events...)● Bon començament, falta endinsar-se en: tipus d’instruccions, búcles,

condicions, events... ■ T28: Fer exemple La variable número u amb AppInventor

● Falta documentar-ho.

41

Page 42: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

■ T29: Guardar de forma organitzada tots els codi font dels programes que es van fent. Es proposa fer-ho a Google Drive. (i codi QR?)

● Falta posar-les a la memòria, per exemple en un annex.■ T31: Fer exemple AppInventor: joc memòria de sons i colors.

● Falta documentar.■ T32: Fer més tutorials de la web d’AppInventor.

● Falta completar la documentació amb bibliografia, codi i captura de pantalla.

○ Pendent:■ T19: Fer Rellotge de Cuina amb AppInventor

● Problema slider: mirar-se propietats a la panell de la dreta● Falten captures, codi… dels exemples.

■ T26: Buscar informació sobre accedir a llibreries d’Android des de AppInventor (exemple accedir a l’agenda de contactes). FALTA documentar on t’has quedat per a que se’t pugui ajudar.

■ T27: Documentar com “importar” projectes (carregar el codi font)■ T29: Contactar altra alumna amb TR AppInventor.■ T31: Buscar exemple AppInventor amb llistes / taules.■ T30: Buscar exemple AppInventor amb component TinyDB■ T32: Pensar quina aplicació “gran” es vol fer dins del projecte.

● Roger proposa: aplicació de recordatori de notes en funció de data i hora.

■ T33: Anar classificant el que s’ha après dins de conceptes bàsics de programació.

● Noves Tasques:○ no afegim més tasques perquè falten moltes a completar.

● Proper dia de reunió: DV 4/10/2013 a les 10h30.

Reunió 02/10/2013

● Comentaris:○ T32: Pensar quina aplicació “gran” es vol fer dins del projecte.

■ Roger proposa: aplicació de recordatori de notes en funció de data i hora.● Revisió de tasques:

○ Fet:■ T28: Fer exemple La variable número u amb AppInventor■ T29: Guardar de forma organitzada tots els codi font dels programes que es

van fent. Es proposa fer-ho a Google Drive. (i codi QR?)■ T31: Fer exemple AppInventor: joc memòria de sons i colors.■ T32: Fer més tutorials de la web d’AppInventor.■ T19: Fer Rellotge de Cuina amb AppInventor■ T27: Documentar com “importar” projectes (carregar el codi font)■ T30: Buscar exemple AppInventor amb component TinyDB■

42

Page 43: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

■ T26: Buscar informació sobre accedir a llibreries d’Android des de AppInventor (exemple accedir a l’agenda de contactes). FALTA documentar on t’has quedat per a que se’t pugui ajudar.

■ T31: Buscar exemple AppInventor amb llistes / taules.■

○ Pendent:■ T29: Contactar altra alumna amb TR AppInventor.■ T33: Anar classificant el que s’ha après dins de conceptes bàsics de

programació.■ T21: Buscar informació sobre la base teòrica de programació (tipus

d’instruccions, búcles, condicions, events...)● Bon començament, falta endinsar-se en: tipus d’instruccions, búcles,

condicions, events... ○ Noves:

■ T34: Revisió urgent de l’ortografia del document.■ T35: Mirar-se App Inventor Extender (

https :// play . google . com / store / apps / details ?id = com . ImR . AppInventorExtender & hl = ca )

■ T36: Investigar accés a APIs web (http :// explore . appinventor . mit . edu / content / stockquotes )

■ T37: ESCRIURE proposta sobre l’aplicació● Proper dia de reunió: DM 15/10/2013 a les 11h20.

Reunió 29/10/2013

● Comentaris:○ T32: Pensar quina aplicació “gran” es vol fer dins del projecte.

■ Veiem aplicació de recordatori de notes en funció de data i hora (Task Administrator).

● Revisió de tasques:○ Fet:

■ T33: Anar classificant el que s’ha après dins de conceptes bàsics de programació.

○ A mitges:■ T34: Revisió urgent de l’ortografia del document.■ T21: Buscar informació sobre la base teòrica de programació (tipus

d’instruccions, búcles, condicions, events...)● ampliar

○ Pendent:■ T29: Contactar altra alumna amb TR AppInventor.■ T35: Mirar-se App Inventor Extender (

https :// play . google . com / store / apps / details ?id = com . ImR . AppInventorExtender & hl = ca )

● mirar exemples i fer-ne algun!

43

Page 44: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

■ T36: Investigar accés a APIs web (http :// explore . appinventor . mit . edu / content / stockquotes )

● mirar ■ T37: ESCRIURE proposta sobre l’aplicació

● subpunts: Objectius, Funcionalitats, Interfície d’usuari (pantalles)○ Noves:

■ T38: (proposada per en Roger) “Entrevistar Dolores Entertainment”● afegir preguntes (n’hem estat dient unes quantes): més tècniques

(ex. plataforma de dev, o fan tot o usen llibreries, problemàtiques entre versions d’android…), sobre oportunitats laborals, “Que m’aconselleu com a pas següent ara que ja conec l’AppInventor?”

● Proper dia de reunió: DM 5/11/2013 a les 11h20

Reunió 05/11/2013

● Comentaris:○ com seleccionar idioma al component TextToSpeech: ho hem resolt mirant les

propietats del component i la documentació.● Revisió de tasques:

○ Fet:■ T34: Revisió urgent de l’ortografia del document.

○ A mitges:■ T35: Mirar-se App Inventor Extender (

https :// play . google . com / store / apps / details ?id = com . ImR . AppInventorExtender & hl = ca )

● ENTENDRE el codi l’exemple trobat.● col·locar el que s’ha investigat dins els segon capítol de la memòria

del TR.■ T29: Contactar altra alumna amb TR AppInventor.

● ara que ja saps qui és, cal contactar-hi■ T36: Investigar accés a APIs web (

http :// explore . appinventor . mit . edu / content / stockquotes )● comparar amb AppExtend

■ T37: ESCRIURE proposta sobre l’aplicació● subpunts: Objectius, Funcionalitats, Interfície d’usuari (pantalles)● ex:

○ Objectius: poder gestionar tasques○ Funcionalitats:

■ Alta d’una tasca■ Baixa d’una tasca■ Modificar una tasca■ Llistar tasques

■ T38: (proposada per en Roger) “Entrevistar Dolores Entertainment”● afegir preguntes sobre com guarden les dades persistentment

44

Page 45: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

● Fer l’entrevista○ Pendent:

■ T21: Buscar informació sobre la base teòrica de programació (tipus d’instruccions, búcles, condicions, events...)

● ampliar; investigar el llibre del qual em trobat l’exemple de TinyWebDb

○ Noves:■ T39: investigar TinyWebDb per emmagatzemar dades de forma persistent.

● Proper dia de reunió: DM 3/12/2013 a les 11h50

Reunió 3/12/2013

● Revisió de tasques:○ Fet:

■ T36: Investigar accés a APIs web (http :// explore . appinventor . mit . edu / content / stockquotes )

● comparar amb AppExtend○ A mitges:

■ T35: Mirar-se App Inventor Extender (https :// play . google . com / store / apps / details ?id = com . ImR . AppInventorExtender & hl = ca )

● hem vist que part del que oferia ja està inclòs al AppInventor● queda escriure què està inclòs i que ofereix de més.

■ T29: Contactar altra alumna amb TR AppInventor.● ara que ja has contactat, cal que us trobeu.

■ T37: proposta sobre l’aplicació● AMPLIAR!● subpunts: Objectius, Funcionalitats, Interfície d’usuari (pantalles)● ex:

○ Objectius: poder gestionar tasques○ Funcionalitats:

■ Alta d’una tasca■ Baixa d’una tasca■ Modificar una tasca■ Llistar tasques

■ T38: (proposada per en Roger) “Entrevistar Dolores Entertainment”● afegir pregunta: “si fossiu jo, quin pas farieu a continuació?”● Fer l’entrevista

■ T21: Buscar informació sobre la base teòrica de programació (tipus d’instruccions, búcles, condicions, events...)

● ampliar mirant els enllaços de Java proporcionats per el tutor○ Pendent:

■ T39: investigar TinyWebDb per emmagatzemar dades de forma persistent.

45

Page 46: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

○ Noves:■ T40: Incloure un apartat on s’expliqui què és una API, hi hagi exemples i

s’usi correctament aquesta paraula al llarg del document.● Proper dia de reunió: DM 17/12/2013 a les 11h50

Reunió 2/1/2014

● Revisió de tasques:○ Pendent:

■ - titol: Introduccio A la programacio EN Android■ - a la portada posar "Tutor:" abans del meu nom■ - posa data inici i data finalitzacio■ - totes les seccions d la Introduccio son massa curtes. Pensa que el tribunal

es llegeix integrament la introduccio i les conclusions i la resta ho miren saltejadament...

■ - inserint un salt d pagina abans d cada titol d primer nivell per assegurar que comencen en pagina nova

■ - es diu Diagrama de Gantt■ - posa li un numero al titol de la Bibliografia■ - diria que falta afegir alguna reunio a l annex. Per cert aquest correu-e el

pots posar com a reunio a data d avui■ - falten codis de tots els exemples i programes que has fet a l annex final!■ - posa un encapcalament d pagina amb el titol del TR i un peu d pagina amb

el teu nom i el numero d pagina■ - posa una entrada a la Bibliografia sobre EduLogiX (com la resta d

referencies, ja que ara ho tens amb un link)■ - ala seccio 2.3 App Inventor, jo posaria algunes captures d pantalla de l

entorn per a que s entengui el que expliques■ - fer mes petits els codis QR■ - explica que es un QR quan aparegui el primer i posa una referencia

bibliografica.■ - continuoveient mes enllacos/links durant la memoria (ex. al diagrama d

Gantt, App Inventor Extender...) tot haurien de ser referencies a la bibliografia (on si pot haver enllacos)

■ - tota la seccio de Task Administrator es curtissima i es el que el jurat ha de valorar com a implementacio practica del teu TR...

■ - falten algunes referencies al capitol de Conceptes de programacio■ - hauries de posar el nom de la persona entrevistada a l inici■ - al final de l entrevista hauries d escriure un parell d paragrafs d conclusions

despres d fer la■ - IMPORTANTISSIM!!!: falta un capitol 7 abans d la bibliografia titulat

Conclusions, on expliquis que sabies al principi, que has apres, quines han estat les maximes dificultats, i com es podria continuar el teu TR. Aquest capitol segur que se l llegeix el tribunal!!!

46

Page 47: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

B. Annex de codis d’App Inventor

Windows Sounds

Piano

47

Page 48: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Rellotge de cuina

48

Page 49: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

Caçador de talps

49

Page 50: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Introducció a la programació en android - Roger Morató

La variable numero 1

50

Page 51: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Joc de memòria sons i colors

Page 52: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Aplicació de pintar

Page 53: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Fast Calculator

Page 54: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Ara no puc!

Page 55: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Agenda

Page 56: Introducció a la programació en Android · La introducció del meu Treball de Recerca es basarà en: l’objectiu del treball, la motivació personal que m’ha portar a fer-lo

Task administrator