Story Transcript
Aplicaciones educativas para Android Contenido • 1 Desarrollo de Aplicaciones con Kivy ♦ 1.1 Qué es kivy: ♦ 1.2 Primera aplicación: ♦ 1.3 Botones: ♦ 1.4 Layouts: ♦ 1.5 Launcher interactivo: ♦ 1.6 Lenguaje KV: • 2 Aplicaciones Educativas Libres para Android ♦ 2.1 Matemática: ♦ 2.2 Química: ♦ 2.3 Programación: ♦ 2.4 Otros: • 3 Aplicaciones Educativas Gratis para Android ♦ 3.1 Matemática: ♦ 3.2 Química: ♦ 3.3 Idiomas: ♦ 3.4 Otros:
Desarrollo de Aplicaciones con Kivy Qué es kivy: Es un framework para desarrollar aplicaciones multi plataforma con python. Funciona en OS X, Linux, Windows, iOS y Android.
Primera aplicación: • •
Mostrar un mensaje en kivy
•
En este ejemplo se muestra un mensaje en pantalla mediante un Label de kivy. Para ello se importan las clases App y Label. Luego se crea una clase para la aplicacion (debe heredar de App) y un metodo "build" que retorna un nuevo Label con el texto a mostrar. Finalmente se ejecuta la aplicacion con el método "run" en la clase creada.
Botones: Con la siguiente línea creamos un botón con el texto "Hola mundo". btn1 = Button(text='Hola mundo') A continuación le decimos al botón que llame a la funcion "hacer_algo" (que debe haberse declarado previamente) al hacer click. btn1.bind(on_press=hacer_algo) • •
Botones
•
• •
• •
Botones personalizados
En esta ocación se hace uso del lenguaje KV que posee kivy para establecer la ruta de la imagen, su posicion y tamaño. Además se declara una clase con el comportamiento de un botón y las propiedades de una imagen (hereda de ButtonBehavior e Image). Nótese la relación entre el nombre de la clase en python y en el archivo KV. Cabe destacar que el archivo KV debe poseer como nombre el mismo nombre que tiene la clase de la aplicación en el archivo de python.
Layouts: Los layouts son una forma de organizar los widgets. Existen varios tipos de layouts, a continuación se detallan los principales: GridLayout: Los widgets pertenecientes (hijos) de un gridlayout se organizan en columnas y filas. BoxLayout: Los widgets pertenecientes (hijos) de un boxlayout se organizan de manera vertical u horizontal. BoxLayout(orientation='vertical') o BoxLayout(orientation='horizontal'). FloatLayout: Los widgets pertenecientes (hijos) de un floatlayout se organizan en posiciones relativas al widget que los contiene, respetando el pos_hint (posicion relativa) y size_hint (tamaño relativo).
• •
Layouts
•
•
Agregando widgets a un layout: Para agregar un widget a un layout se utiliza el método add_widget de la siguiente forma: layout = BoxLayout(padding=10) #Creamos un layout button = Button(text='My first button') #Creamos un botón layout.add_widget(button) #Agregamos el botón al layout creado previamente
Luego, con el método remove_widget se lo puede eliminar: layout.remove_widget(button)
Y con el método clear_widgets se eliminan todos los widgets hijos que posee el layout. layout.clear_widgets()
Launcher interactivo: Mediante el launcher interactivo que provee kivy es posible programar desde el intérprete de python viendo en vivo los cambios realizados sobre la aplicación. A continuación se detalla un ejemplo. from kivy.app import App from kivy.interactive import InteractiveLauncher #Importa el launcher interactivo class TestApp(App): def build(self): return Widget() i = InteractiveLauncher(TestApp()) #Crea un launcher interactivo recibiendo la aplicación base como parámetro. i.run() #Se ejecuta.
Posteriormente todo lo que hagamos se verá reflejado en la aplicación que ya se encuentra corriendo. Por ejemplo, agregar un botón. from kivy.uix.button import Button i.root.add_widget(Button(text="Hola mundo!", pos=(100,100)))
Lenguaje KV: Permite crear el árbol de widgets de manera simple y enlazar properties y callbacks. Además es una manera ágil y rápida de aplicar cambios al diseño de la interfaz. Existen dos maneras de cargar un archivo de kv: - Mediante el mismo nombre que la aplicacion omitiendo la palabra "App" y en minúscula las letras, por ejemplo: MyApp -> my.kv - De manera explícita mediante utilizando la siguiente sentencia: Builder.load_file('path/to/file.kv') e importando previamente el módulo correspondiente. Conceptos básicos: Para referenciar una clase de un widget existente se usa la siguiente sintaxis: :
Luego podemos instanciar nuevos widgets hijos: : BoxLayout: ... Button: ... Button: ...
Los módulos correspondientes a las clases utilizadas deben estar importadas desde el archivo ".py".
Aplicaciones Educativas Libres para Android Matemática:
• Ángulo Classic: Es una aplicación simple que permite medir ángulos con la posición del dispositivo usando los acelerómetros del dispositivo, la licencia es GPLv3. Página del proyecto Ángulo Classic
• •
•
• MATHTool: Es una "calculadora" de vectores, geometría, trigonometría, etc, pero es poco intuitiva, marca los campos a llenar con el nombre de las variables, el usuario debe conocer la fórmula para usar la aplicación y sólo está habilitada la sección de vectores, la licencia es GPLv3. Página del Proyecto en Google Play MATHTool
• •
•
•
• GeoGebra: Es una Aplicación muy intuitiva y fácil de usar, nos permite graficar en un plano puntos, gráficos y funciones, mostrándonos información de las figuras. Con licencia GPLv3. Página del proyecto • •
•
•
•
•
GeoGebra
• MaximaOnAndroid: Esta aplicación nos permite hacer funciones de álgebra compleja mostrando resultados, la función escrita y el gráfico, una herramienta difícil de usar, si bien es engorroso tener que programar cada paso, permite realizar gráfico visuales interesantes en 2D y 3D, ejemplo para dibujar una línea: plot2d(x*2+3,[x,0,5]), la licencia es GPLv2. Página del Proyecto MaximaOnAndroid
• •
•
•
Química:
• Elementary: Esta aplicación muestra la tabla periódica, con opción de acceder a la página de wikipedia del elemento y a un vídeo en youtube de un profesional hablando del elemento, en que se utiliza, etc, la licencia es MIT. Página del Proyecto en Google Play Elementary
• •
•
•
Programación:
• Droid Draw: En esta aplicación se programa un robot android que hace un recorrido dibujando en base a lo que se le programa en pseudo-código, no es muy intuitivo, tiene licencia APACHE2. Página del Proyecto en Google Play • •
•
•
•
Droid Draw
•
Otros:
• Drismo: Esta aplicación hace una evaluación del "nivel de manejo" basándose en la medición de los acelerómetros mientras se maneja, tiene licencia GPLv3. Página del Proyecto en Google Play Drismo
• •
•
•
•
• Khan Academy Viewer: Esta es una de plataforma con vídeos de distintos temas, algunos tienen una especie de pizarrón en el que se va explicando lo que se cuenta en el vídeo, lamentablemente esta en inglés, es muy buena, licencia GPLv3. Esta es la Página del proyecto, con material en español https://es.khanacademy.org/. Página del Proyecto en Google Play Khan Academy Viewer
• •
•
•
• ObjViewer: Es un visor de modelos .obj, viene sin ejemplos ni modelos, hay que cargarlos antes y crear la carpeta /sdstore/models, para poner los modelos. Tiene licencia Apache2. Página del Proyecto en F-Droid • •
•
• TalkBack:
ObjViewer
Es una herramienta que agrega lectura hablada de la pantalla y vibración para simplificar el uso del dispositivo para personas con visión reducida. Tiene licencia Apache2.
Aplicaciones Educativas Gratis para Android Matemática:
• Mathematics: Es una aplicación que es similar a una calculadora, muy completa e intuitiva, con muchas opciones para gráficos, estadísticas, sistemas de numeración, unidades de medida y etc. Página del proyecto en Google Play Página del proyecto en Facebook Mathematics
• •
•
•
•
•
• Tablas de Multiplicar: Es una aplicación sencilla que muestra las tablas y complementa con un cuestionario sobre esa tabla, lamentablemente no incluye un examen total, no muestra propagandas durante su uso. Página del proyecto Tablas de Multiplicar
• •
•
•
•
• Trucos de Matemáticas: Es una aplicación intuitiva y funcional para familiarizarse con la resolución de cuentas matemáticas ágilmente, y cuenta con una sección de juegos a modo de entrenamiento para facilitar y afianzar las técnicas aprendidas. También cuenta con una sección de dos jugadores en el mismo dispositivo, lo que lo hace mas entretenido. Lamentablemente cuenta con una pequeña propaganda. Página del proyecto en Google Play •
Trucos de Matemáticas
•
•
•
•
•
Química:
• Tabla Periódica Español: Es una aplicación que muestra información de los elementos de la tabla, como número atómico, masa, densidad a 20°, punto de fusión, punto de ebullición, año de descubrimiento y descubridor. Lamentablemente tiene mucha propaganda. Página del proyecto en Google Play • •
Tabla Periódica Español
•
•
•
Idiomas:
• Wlingua: Es una aplicación muy buena para aprender y practicar vocabulario en distintos idiomas, propone asociar sonidos con tarjetas de significados y al revés, muy entretenida, sin publicidad, cuenta con versiones para portugués, inglés, alemán, español e italiano. Página del proyecto • •
•
Wlingua
•
•
•
• Duolingo: Es una aplicación muy buena con una guía de lecciones ordenada por dificultad, intuitivo y fácil, muy completo, tiene grabaciones y traducciones desde y hacia el idioma a aprender, contemplando la pronunciación, muy recomendable. Página del proyecto en Google Play • •
Duolingo
•
•
•
•
•
Otros:
• Nasa: Es una aplicación que nos muestra imágenes, vídeos e información de las misiones de la nasa, sus centros, programas y novedades. Página del proyecto • •
•
•
Nasa
•
•
• Reglas de Ortografía: Es una aplicación con un widget que tiene las reglas ortográficas y el widget va haciendo preguntas cada determinado tiempo. Página del proyecto Reglas de Ortografía
• •
•
•
•
• Juegos Dinosaurios para niños: Es una aplicación entretenida para los mas chicos, un juego de puzzles con dinosaurios tiene una versión paga, sin publicidad, a pesar de tener publicidad es arriba muy chiquita y no molesta. Página del proyecto en Google Play Página del proyecto en Google+ Juegos Dinosaurios para niños
• •
•
•
•
•
• Trivia Lex: Es una aplicación que presenta una trivia sobre leyes, lamentablemente no tiene mucha explicación de los contenidos mas que la trivia y la respuesta correcta. Página del proyecto en Google Play •
Trivia Lex
•
•
•
•