dimecres, 28 de febrer del 2018

App inventor

MIT App Inventor



MIT App Inventor és un entorn de programació visual intuïtiu que permet a tots, fins i tot als nens, crear aplicacions totalment funcionals per a telèfons intel·ligents i tauletes. Aquells  que s'inicien en MIT App Inventor poden tenir una primera aplicació senzilla en funcionament en menys de 30 minuts. I a més, l' eina basada en blocs facilita la creació d'aplicacions complexes d'alt impacte en un temps significativament menor que els entorns tradicionals de programació. El projecte MIT App Inventor busca democratitzar el desenvolupament del programari, alhora que permet a totes les persones, especialment els joves, passar del consum tecnològic a la creació de tecnologia.

El compilador que tradueix el llenguatge visual dels blocs per a l'aplicació en Android utilitza Kawa com a llenguatge de programació, distribuït com a part del sistema operatiu GNU de la Free Software Foundation

Inicialment desenvolupat pel professor Hal Abelson i un equip de Google Educació, mentre que Hal passava un any sabàtic a Google, App Inventor s'executa com un servei web administrat per personal del Centre del MIT per a l'aprenentatge mòbil -una col·laboració del MIT de Ciència computacional i Intel·ligència Artificial de laboratori (CSAIL) i el laboratori de Mitjans del MIT. El App Inventor comptava en 2015 amb una comunitat mundial de gairebé dos milions d'usuaris que representaven a 195 països d'arreu del món. Més de 85 mil usuaris setmanals actius de l'eina s'han construït més de 4,7 milions d'aplicacions d'Android. Una eina de codi obert que pretén realitzar la programació i la creació d'aplicacions accessibles a una àmplia gamma d'audiències.

La interfície gràfica: permet a l'usuari crear aplicacions amb moltes funcionalitats.

L'editor de blocs de la plataforma App Inventor, utilitzava anteriorment la llibreria Open Blocks.

Basat en [httpy Blockly] de JavaScript per crear un llenguatge visual. Aquestes llibreries estan distribuïdes per Massachusetts Institute of Technology sota la seva llicència lliure.

Resultat d'imatges per a APP INVENTOR Resultat d'imatges per a APP INVENTOR

AppInventor.org és un lloc per aprendre i ensenyar a programar aplicacions mòbils amb 
l'App Inventor del MIT. Aquests tutorials són versions refinades dels tutorials que s'han realitzat als llocs de Google i MIT App Inventor des del principi de l'App Inventor: milers d'iniciants els han utilitzat per aprendre a programar i aprendre App Inventor.

Aquest lloc també està dissenyat per al seu ús pels professors. Els materials docents aquí s'han utilitzat com a base per a nombrosos cursos de secundària, secundària i universitaris. El curs-en-a-box, que es basa en els cursos de USF de Wolber, proporciona estructura i material per aconseguir un nou curs en funcionament en qüestió de dies.
A l'abast d'uns quants clics, per tant s'obre una gran porta per a moltes persones que desitgin crear aplicacions sense necessitat de ser programador.



Projectes:

HELLO PURR
 Aquest primer capítol ens permetrà començar a construir aplicacions. Presenta els elements clau de App Inventor, el Dissenyador de components i l'Editor de blocs, i ens guiarà pels passos bàsics de crear la nostra primera aplicació, HelloPurr que darrerament haurem modificat.
HelloPurr és una aplicació senzilla que es pot generar en molt poc temps. Podem crear un botó que tingui una imatge d'un gat (o qualsevol altra imatge) i, a continuació, programem el botó perquè quan es faci clic es reprodueixi un so "meow"(o un altre so).
 -Passos per el.laborar el Hello Purr modificat- ànec
(descarregar prèviament  la fotografia i el so en format mp3)



HelloPurr tindrà un component Button que mostra la imatge( en aquest cas d'un ànec) que hem descarregat anteriorment.

Cal canviar la propietat de text del botó: suprimim "Text for Button1", deixant la propietat de text del botó en blanc perquè no hi hagi escrit sobre la cara del ànec.

Des de la paleta bàsica, arrosseguem i deixem anar el component Label al Visor (núm. 1), situant-lo sota la imatge. Apareixerà sota la llista de components com Label1.
 A la paleta, fem clic al calaix dels mitjans i arrosseguem un component de so i el  col·loquem al visualitzador
 Busquem la ubicació de l'arxiu de so mp3 que hem descarregat abans. Sota el panell Propietats, veiem llavors que la propietat Font diu cap a cap. Fem  clic a la paraula Cap ... per canviar la font del component Sound1 al nom del axiu mp3 de so.


 Utilitzem llavors l'Editor de blokcs per muntar els blocs que defineixen el comportament dels components


 Al lateral esquerre de l'Editor de blokcs, fem clic al calaix Button1 per obrir-lo. Arrosseguem i deixem anar el botó Button1.

Fem clic al calaix Sound1 i arrosseguem el bloc Sound1.Play i  el connectem a la secció "do" quan cliquem Button1. Els blocs es connecten com a peces de trencaclosques i podem escoltar així un so de clic quan es connecten
Tornem a l'Editor de blocs , obrim el calaix Sound1 i arrosseguem el bloc Sound1.Vibrate i  el col·loquem sota el bloc Sound1.Play.
A la paleta integrada, al calaix de matemàtiques, arrosseguem el bloc de números i el col·loquem al sòcol de Sound1.Vibrate. Després de col·locar el bloc de números, fem clic al número "0". Destaquem el número en negre: escrivim "500.

El nostre apartat de Blocks hauria de ser així:


Pel que fa al nostre apartat  Designer...


PAINT POT

Aquesta app ens permet dibuixar línies de color verd, vermell i blau damunt la imatge del gat ( en el tutorial) i esborrar-les per començar de nou.
-Utilitzem aquests components en l'apartat Designer:

-Tres botons per seleccionar la pintura vermella, blava o verda (desprès podem canviar aquests colors), i un altre botó per netejar el dibuix.
-Un Canvas, ​​la superfície de dibuix. Aquest llenç té un BackgroundImage, que se suposa que la imatge kitty del tutorial HelloPurr; però nosaltres posem la fotografia d'un koala en el modificat.
-També hi ha un component que no veiem: fem servir un arranjament horitzontal per fer que els tres botons de color s'uneixin.


Això fa cinc components en total. Per tal de continuar programant l'app anem a Blocks :
Obrim i arroseguem "when ButtonRed.Click do" i dins "set DrawingCanvas.PaintColor to Red" i fem així amb els dos altres colors, " per asignar a cada botó el seu color.
 Desprès agafem "when BottonWipe.Click do" i dins ""call DrawingCanvas.Clear"  per netejar la pantalla. 
Obrim "when DrawingCanvas.Touched do" i dins "call DrawingCanvas.DrawCircle centerX get x centerY get y radius 5 fill true" per pintar els cercles. 
Finalment creem el "when DrawingCanvas.Dragged do" i a l'interior arroseguem "call DrawingCanvas.DrawLine x1 get prevX y1 get prevY x2 get currentX y2 get currentY".

El nostre apartat de Blocks hauria de ser així:


Pel que fa al nostre apartat  Designer...

PAINT POT II


En el PaintpotII podem dibuixar punts petits o grans punts mitjançant nous botons. A més, si  encara arrosseguem el  dit es produeix una fina línia com al Paintpot1 ;Això és perquè partIm del PaintpotI per fer aquesta nova app.

Al Designer, arrosseguem un component d'HorizontalArrangement  sota el component DrawingCanvas. Anomenem el component "BottomButtons".
Arrosseguem llavors ButtonWipe existent al BottomButtons.
Arrosseguem dos components més de botó de la paleta BottomButtons, posant-los al costat de ButtonWipe. Els anomenem "ButtonBig "i "ButtonSmall" i establim el seu text "Big dots"i "Small dots", respectivament.

A bloks, obrim tres variables per determinar les mides: "initialize global small to 2", "initialize global dotsize to 2" i "initialize global big to 8".
Arroseguem el nou botó "when ButtonBig.Click do" i dins "set global dotsize to get global big"i un altre botó "when ButtonSmall.Click do" i dins "set global dotsize to get global small".
Finalment canviem el radius 5 del "when DrawingCanvas.Touched" per "get global dotsize".


En el meu modificat, he afegit molts més colors i he usat la imatge d'un paó.

El nostre apartat de Blocks hauria de ser així:


Pel que fa al nostre apartat  Designer...



MOLEMASH


Aquesta pràctica mostra com crear MoleMash, un joc inspirat per en el clàssic Whac a Mole-, en el qual criaturas mecàniques breument estaven fora de forats, i  els jugadors aconseguien punts quan colpejaven una. MoleMash va ser creada per provar la funcionalitat de  la funció sprite.

Al Designer, arrosseguem un llenç, deixant-lo amb el nom CANVAS1. Definim la seva amplada a  "fill parent... " així que serà tan àmplia com la pantalla i ajustem l'alçada a 300 píxels.
Arrosseguem un component ImageSprite  del grup de dibuix i animació de la paleta. El posem a qualsevol lloc dins CANVAS1. Fem clic al nom en la part inferior de la llista de components i canviem el seu nom a  "Mole ". Establim la propietat de la imatge  que hem pujat abans.
Arrosseguem un botó, situant-lo sota CANVAS1. Canviem el nom a  "ResetButton " i definim la propietat de Text a  " Reset".
Arroseguem llavors un component de rellotge i  un de so.

A l'apartat de blocks, establim "MoleMove do" i dintre "set Mole.X to random fraction x (MyCanvas.Width - Mole.Width)" i "set Mole.Y to random fraction x (MyCanvas.Height - Mole.Height)", així l'imatge es mourà aleatoriament.
Per una altra banda obrim "UpdateScore do" amb "set ScoreLabel.Text to join "Score" i get globalscore", per mostrar el marcador.
Per iniciar el marcador en la puntuació de 0 obrim "initialize global score to 0"
També arroseguem "when MoleTimer.Timer do" i dins "call MoleMove"
Obrim "when Mole.Touched do" i dins "set global score to get global score + 1, call Noise.Vibrate millisecs 100, call UpdateScore i call MoveMole", per sumar un punt, vibrar i moure la figura quan aquesta és tocada.
Finalment, per poder tornar a iniciar la partida, afegim un "when ResetButton.Click do" i dins "set global score to 0, call UpdateScore".
-En el meu Molemash modificat vaig canviar el Backround al d'uns forats de terra per on es posen el talps i vaig posar l'imatge d'un altre talp. També vaig canviar el so alhora de tocar el talp i vaig augmentar la velocitat a la que aquest es mou a l'apartat de blocks.

El nostre apartat de Blocks hauria de ser així:

                                   Pel que fa al nostre apartat  Designer...



PONG


Pong és un joc simple, consisteix en una paleta (que està controlada per l'usuari) i una pilota. La pilota rebota en la paleta i tres parets. Si la pilota toca la pala, s' eleva la puntuació de l'usuari, i si la pilota surt pel costat de la pala, el joc ha acabat.

Al Designer, obrim la paleta bàsic i primer arrosseguem el component Label1 i canviem el seu nom a  "ScoreLabel " . En el quadre de propietats, treiem el text en la pantalla del component Label1 per reemplaçar amb  " Score"  i redimensionem  la seva amplada de 150 píxels i l'altura a 30 píxels.
De la paleta bàsica, arrosseguem dos botons a la pantalla de sota l'etiqueta. Canviem el nom del primer botó a  "StartButton " i canviem el text  a  " Start". Canviem també el nom del segon botó a  "ResetButton " i el text a " Reset".
Arrosseguem llavors un component d'HorizontalArrangament a la pantalla. Arrosseguem  ScoreLabel a la HorizontalArrangement primer i després els dos botons al costat el component ScoreLabel.
De la paleta basic, obrim  un component Canvas i definim l'amplada a 300 píxels i l'alçada a 390 píxels. Podem canviar el color de fons de Canvas a qualsevol color  o fins i tot posar una imatge de fons.
En la paleta Drawing and Animation, arrosseguem una pilota i un component de imageSpriteal al Canvas de la pantalla. Seleccionem el component ImageSprite  i canviem la seva imatge a la desitjada.
Seleccionem el Ball1 en el quadre de Components i definim l'interval  a 50, radi fins a 20 i la velocitat 5. Podem canviar el color de la bola (PaintColor) a qualsevol color que vulguem.

A l'apartat de blocks, obrim "when Canvas1.Touched do" amb "set ImageSprite1.X to get x"
Obrim també "when StartButton.Click do" amb "call UpdateScore scorevalue 0, set Ball1.Enable to true, set Ball1.Interval to 10, set Ball1.Heading to random integer from 225 to 315, set Ball1.Speed to 5, call Ball1.MoveTo x Screen1.Width/2 y Ball1.Radius, call updateScore scorevalue 0";

Arroseguem "when ImageSprite1.Dragged do" amb "call ImageSprite1.MoveTo x get currentX y ImageSprite1.Y"

 També posem "when Ball1.CollidedWith do" amb "set other to ImageSprite1, call updateScore scorevalue get global score + 1, set Ball1.Heading to (360 - Ball1.Heading);
Obrim "when Ball1.EdgeReached do" i dins "if get edge = -1 then set Ball1.Enabled to false, set ScoreLabel.Text to "Game over!" else call Ball1.Bounce edge get edge"
Gairebé per acabar, arroseguem "initialize global score to 0";després "to updateScore do" i dins "set global score to get scorevalue, set ScoreLabel.Text to join "Score" get global score".

Per acabar arroseguem, "when ResetButton.Click do" amb "call Ball1.MoveTo x Screen1.Width/2 y Ball1.Radius, set ScoreLabel.Text to join "Score" 0".

En el meu Pong modificat, vaig canviar la barra per una raqueta i el color de la pilota. A més, vaig canviar el fons per un patró de sanefes roses.


El nostre apartat de Blocks hauria de ser així:


 Pel que fa al nostre apartat  Designer...


OpenShot OpenShot és un editor de vídeo gratuït i de codi obert que ens permet crear els nostres propis clips de vídeo a partir d'un ...