lunes, 25 de enero de 2016

Combinar projectes App Inventor

Si treballeu a classe amb App Inventor per crear Apps i heu decidit fer un projecte a classe on només hi hagi un producte. És a dir, tota la classe contribueixi a fer una única App, i cada alumne individual o grup s'encarregui de desenvolupar una part de l'App, potser us heu trobat amb el problema de combinar les diferents parts del projecte en una única App.

He trobat dues solucions a aquest problema. Una és utilitzant una solució que proporciona App Inventor i que serveix per combinar dos projectes.

http://appinventor.mit.edu/explore/resources/ai2-project-merger.html

I l'altre és fent-ho a mà. Explicaré com fer-ho a mà (és a dir, tocant els fitxers de l'App Inventor) ;)

Suposaré que tenim dos projectes diferents que volem combinar (és a dir, tenir un projecte amb les imatges, pantalles i blocs dels dos projectes junts).

Els dos projectes tenen diferentes pantalles.Tenen que quedar definits els noms de totes les pantalles a l'hora de fer els botons per anar de pantalla a pantalla. 
Tots els projectes App Inventor, la pantalla principal es diu Screen1, i per tant, haurem de canviar el nom de la pantalla del segon projecte perquè la combinació pugui funcionar. Només la pantalla principal es pot dir: Screen1.

Primer pas:
Necessitem les dues aplicacions que volem combinar. Les descarreguem com a fitxers .aia, que no deixa de ser un fitxer .zip, però canviant el nom.
Els obrim, i veurem que tenen la mateixa estructura.



Segon pas:
Creem una carpeta temporal anomenada "merge", i extraiem els arxius del primer projecte en aquesta carpeta.
Se'ns crearan tres carpetes: assets, src i youngandroidproject.

Tercer pas: Copiem les imatges:
Anem al segon fitxer .aia i l'obrim, anem a la seva carpeta assets, i els copiem dins la carpeta merge/assets.

Quart pas: Copiar el disseny i els blocs:
En tota l'aplicació només hi pot haver una pantalla amb el nom "Screen1", per tant hem de canviar el nom de la pantalla Screen1 del segon projecte. També, per suposat no hi pot haver cap altre pantalla amb el mateix nom entre els dos projectes.

Anem al segon fitxer .aia i l'obrim, anem a la carpeta src/appinventor/ai_elvostrenomusuari/nomdelsegonprojecte/
i veureu que té dos tipus de fitxers, .bky (els blocs) i .scm (el disseny de les pantalles).
Canviem els noms del fitxers Screen1.bky i Screen1.scm a un nom que no existeixi amb els noms del segon projecte, per exemple Pantalla2.bky i Pantalla2.scm.




Llavors, copiem tots els fitxers d'aquesta carpeta a la carpeta merge (dins de src/appinventor/ai_elvostrenomusuari/nomdelprimerprojecte).
Ens quedaran tots els fitxers dels blocs i del disseny dels dos projectes junts. En l'imatge teniu els fitxers dels dos projectes amb els noms canviats. Fixeu-vos que no hi ha noms repetits (efectivament) i només hi ha un .scm i un .bky que es diguin Screen1.


Cinquè pas: Crear l'arxiu comprimit:
Anem a la carpeta merge, seleccionem les tres carpetes que té dins (assets, set i youngandroidproject), i creem un arxiu comprimit .zip
Quan l'hagi creat, li canvieu l'extensió a .aia

Sisè pas: Importar el projecte a app inventor:
Ara podeu importar el projecte a .aia que acabeu de crear a app inventor. Veureu que teniu totes les pantalles dels dos projectes juntes.

martes, 15 de julio de 2014

Open Hardware - Clone Wars

Fa ja un any i pico que vaig començar l'aventura de construir-me la meva pròpia impressora 3D. Buscant per internet vaig trobar Clone Wars, una fantàstica comunitat on podia realitzar aquest repte.

Cal remarcar que tot el software i les especificacions del hardware que s'utilitzen per construir la impressora són lliures. És a dir, està lliure de patents i restriccions comercials. Es pot utilitzar/modificar lliurement.

El primer problema que em vaig trobar va ser escollir la impressora a construir, ja que hi havien molts models a triar. Vaig decidir construir el model que estigués més documentat, i em vaig decidir per la Prusa Iteració 2. Vaig començar a comprar les peces i muntar-les!

Primeres proves amb els motors

El procés de muntatge/calibració de la impressora no és trivial. Vaig utilitzar uns videotutorials que t'expliquen pas a pas que has de fer per minimitzar el risc de patir problemes i contratemps. Al final del llarg procés de muntatge, vaig imprimir algunes peces com la del següent video.


Impressió d'una peça per aguantar l'electrònica a la mateixa impressora

No tinc formació en electrònica ni mecànica, però qualsevol persona amb ilusió, ganes i no gaires diners es pot construir la seva impressora. He tingut bastants problemes pel camí, però la comunitat m'ha ajudat en tots els problemes que he tingut. A veure si algu s'apunta a construir-se la seva pròpia impressora 3d. Jo n'he convençut a dos!!