Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Email:ros_yta13@hotmail.com
Pgina |2
MEJORAMIENTO DEL
RENDIMIENTO DEL PERSONAL
ATRAVES DEL EMPLEO DE UN
PROGRAMA QUE MEJORA LA
CONCENTRACION
Pgina |3
Dedicatoria
Agradecimiento
meta
a prueba.
incondicionalmente.
Pgina |5
Resumen
Summary :
This work proposes the improvement of staff performance through an application that
ndice
1. INTRODUCCIN............................7
2. ANTECEDENTES.............................8
3. PLANTEAMIENTO DEL PROBLEMA..............................22
4. OBJETIVOS.23
4.1. OBJETIVO GENERAL..............................23
4.2. OBJETIVO ESPECIFICO.23
5. JUSTIFICACIN.23
6. HIPTESIS...24
7. OPERACIONALIZACION DE VARIABLES DE LA HIPTESIS24
8. MATRIZ DE CONSISTENCIA....25
9. MARCO TERICO...27
9.1. QUE ES VISUAL JAVA28
9.1.1. CMO FUNCIONA EL VISUAL JAVA32
9.2. RULETA DE NEWTON 64
9.3. HIPNOSIS MEDIANTE COLORES .66
1. INTRODUCCIN
con la funcin y el valor de los recursos humanos. Al ya no contarse con la orientacin puramente
funcional del pasado, los ejecutivos de alto rango esperan que los recursos humanos les sirva en
una funcin empresarial que est ligada al xito de su gestin. Los ejecutivos de recursos humanos
de RRHH como una funcin empresarial estratgica, dado que la globalizacin del mercado ha
creado una intensa competencia continua y una tremenda presin sobre el costo y la calidad. Es
decir, una fuerza laboral bien capacitada y motivada, es la clave del xito. Lo que se requiere para
Despus de ver la situacin de bastantes empleados tomamos la decisin de realizar una aplicacin
para que de esta manera todos los usuarios que tiene un bajo rendimiento laboral por causa de sus
2. ANTECEDENTES
Pgina |9
Era de la informacin
Es el perodo que comenz en el inicio de la dcada de 1990. Es la poca en que estamos viviendo
actualmente. Sus caractersticas principales son los cambios, que se tornaron rpidos,
intensa y compleja ante las organizaciones. El voltil mercado de capitales pas a migrar de un
transitorias.
Humanos
Las tres eras a lo largo del siglo XX, la industrializacin clsica y neoclsica y la era de la
informacin, conducirn a diferentes abordajes sobre cmo lidiar con las personas dentro de las
organizaciones. En esas tres diferentes eras, el rea de RH pas por tres etapas muy distintas:
P g i n a | 10
relaciones industriales, recursos humanos y gestin de personas. Cada abordaje est ajustado a los
los departamentos de personal eran rganos destinados a hacer cumplir las exigencias legales el
empleo: como admisin a travs del contrato individual, registro en la cartera de trabajo, clculo
de las horas trabajadas para pago de los salarios, aplicacin de medidas disciplinarias por el no
relaciones industriales asumen el mismo papel agregando otras taras como las relaciones de la
organizacin con los sindicatos y la coordinacin interna con los dems departamentos para
cpula sobre cmo proceder. Las personas son consideradas apndice de las mquinas y meras
b) Recursos Humanos
burocrticas, los llamados ARH desarrollan funciones operacionales y tcticas, como rganos
evaluacin, remuneracin, higiene y seguridad del trabajo y de relaciones del trabajo y sindicales,
c) Gestin de Personas
En la era de la informacin, surgen los equipos de gestin de personas, que sustituyen los
departamentos de recursos humanos. Las tareas operacionales y burocrticas son transferidas para
terceros a travs de la tercerizacin, en cuanto las actividades tcticas son delegados a los gerentes
de lnea en toda organizacin, los cuales pasan a ser los gestores de personas. Los equipos de RH
proporcionan consultora interna, para que el rea pueda asumir actividades de orientacin global
pasivos que son administrados y controlados rgidamente, pasan a construir agentes activos e
inteligentes que ayudan a administrar los dems recursos organizacionales. La vuelta es fenomenal.
Las personas pasan a ser consideradas como socios de la organizacin y que toman decisiones
respecto de sus actividades, cumplen metas y alcanzan resultados previamente negociados y que
En la era de la informacin, encontrar a las personas indicadas dej de ser un problema y pas a
ser la solucin para las organizaciones. Ms que eso, dejo de ser un desafo y pas a ser la ventaja
Las tres etapas de la evolucin de los RRHH antes descritas nos indica que la funcin se est
ajustando rpidamente a los nuevos tiempos. Cmo? De una manera amplia e irreversible. Ella
est dejando de ser RRHH para transformarse en Gestin de Personas. De un rea cerrada,
en su perspectiva y contenido.
ACTUALMENTE CAMBIAR A:
ELEMENTOS
Experto en finanzas
Experiencia financiera
limitada
Los ejecutivos de relaciones industriales escriben tanto las medidas internas como las externas para
evaluar el desempeo de relaciones industriales. Hay diferentes mtodos identificados por ellos y
el grado al que intentan usarlos. Las mediciones clave que se usan por las compaas competitivas
La satisfaccin del cliente es por mucho la medida externa de efectividad que se usa ms
dicen dnde ha estado una organizacin; las medidas no financieras le dicen hacia dnde se dirige.
Se desarrollaron cinco preguntas de diagnstico que se pueden usar como una herramienta de
Cmo servimos como agentes de cambio de tal manera que se ayude a nuestros
Cul es nuestra contribucin a la sociedad empresarial con los gerentes de alto rango,
empleados?
Existe una gran variedad de medidas de desempeo entre ellos se pueden mencionar a las
Calidad de resultado.
Crecimiento de mercado
ultima dcada.
DE PARA
Paleta de newton
La ruleta de Newton es un mecanismo circular giratorio, conformado por colores del espectro
lumnico que se usa para demostrar la investigacin realizada por Isaac Newton en el ao 1666 que
detalla cmo se descompone un rayo de luz en violeta, azul, celeste, verde, amarillo, naranja y rojo
al momento de pasar por prisma que es un cuerpo cuyos lmites lo establecen un par de polgonos
Con esta investigacin se dio un cambio en la forma que se crea que los rayos de luz estaban
compuestos ya que en el XVII se utilizaba la idea de Descartes de que la luz estaba compuesta por
pequeos corpsculos, este ltimo haba intentado descomponer la luz, pero solo obtuvo los colores
rojo azul.
Newton utilizo un prisma de vidrio que era un elemento muy econmico. En una habitacin en
total oscuridad y dejo pasar un rayo de luz por un agujero en la ventana. Coloco el prisma delante
del rayo de luz, de esta forma lo atravesaba y reflejaba la luz descompuesta en la pared opuesta a
Para comprobar que era la luz que se descompona en colores y no as el prisma sea el que de las
tonalidades a esta. Utilizando una pantalla con un agujero para aislar el color y luego utilizando un
segundo prisma hacia reflejar en otra pared comprobando que solo cambiaba el ngulo y no el
color.
P g i n a | 18
Bsqueda de un sistema para que los usuarios despejen sus problemas. Son frecuentes los casos de
falta de concentracin durante el estudio. Entre otros motivos, esto puede ser lao problemas de los
estudiantes que no permiten el periodo laboral. Entre otros motivos esto puede ser un problema
para el trabajador que no permiten eldesarrollo laboral satisfactoriamente. Sin embargo, todo
usuarios debera saber que la falta de concentracinen su trabajo vuelve ms complicado realizaelo
eficientemente y con ello se alargan las sesiones de este o no se tiene la remuneracin deseada.
La concentracin y la atencin son fundamentales. Dentro de este complejo proceso, estos ltimos
conforman un peldao inicial sobre el cual va a hacerse posible el realizar la tarea con eficiencia y
competencia. Sin estas capacidades, un trabajador nunca podr tener una forma provechosa de
trabajo ya que invertira varias horas para realizar el trabajo nuevamente y que resulta ser ineficaz
ya que solo se llega a hacerlo de forma mecnica , lo cual lleva a cometer errores.
Estos problemas, que afectan considerablemente el rendimiento laboral, muchas veces se deben a
factores externos, tales como un inadecuado lugar de estudio o una inadecuada alimentacin. En
estos casos, el problema se puede revertir mejorando nuestros hbitos o tambin a travs de algunos
3. OBJETIVOS
P g i n a | 19
4. JUSTIFICACIN
Vimos la necesidad de investigar debido a que un gran porcentaje de personas sufre de estrs
durante sus actividades cotidianas. Por ello se realiz mediante un leguaje de programacin esta
aplicacin que va a ayudar a que el usuario puedan relajarse en cualquier momento del da.
P g i n a | 20
1. HIPTESIS
Mediante el uso de la aplicacin RAGD el personal lograra disipar sus problemas por un lapso
y realizar de una manera eficaz un mejor al entrar a un pequeo estado de hipnosis lograra
olvidar a los pocos minutos, ya que su atencin est centrada en la pantalla de la aplicacin, lo
que permite olvidar el estrs y los problemas para tener una mejor desarrollo laboral.
As el personal tendr un mejor rendimiento en el mbito laboral, esto significa que el personal
en la empresa empezara el da con una perspectiva de vida positiva, as tendr una versin sana,
1. OPERACIONALIZACION DE VARIABLES DE
LA HIPTESIS
1. MARCO TERICO
P g i n a | 23
Naci en 1991 Gracias a James Gosling como un proyecto de investigacin para crear un lenguaje de
programacin llamado "oak" ("roble" en espaol), en su poca estaba destinado a solventar un problema de
Estos expertos queran integrar CPU`s a estos dispositivos de consumo para que pudiesen compartir las mismas
mejoras, pero fue un intento fracasado, cambiaron su objetivo a la plataforma de Internet que estaba madurando
en esa poca y usaron el lenguaje para mejorar contenido multimedia mediante implementacin de (applets) y
En 1994 surge internet, Sun ve una nueva posibilidad para el Green Project y crea un lenguaje para construir
lanzado en la SunWorld Expo 95 con la versin JDK 1.0 alpha. Netscape apuesta a la idea e inicia la
Desde 1998 hasta hoy la tecnologa evolucion mucho, teniendo uno de los mayores repositorios de
proyectos libres del mundo, java.net. En 1999 surgi la plataforma para desarrollo y distribucin corporativa
bautizada Java 2 Enterprise Edition (J2EE) y la plataforma Java 2 Mobile Edition (J2ME) para dispositivos
Actualmente Java es una de los lenguajes ms usados y sirve para cualquier tipo de aplicacin, entre ellas:
web, desktop, servidores, mainframes, juegos, aplicaciones mviles, chips de identificacin, etc.
P g i n a | 24
Al hablar de Java, nos referimos a un lenguaje de programacin y a una plataforma. Esta plataforma informtica
tiene como propsito ofrecer a los diseadores de aplicaciones el escribir su programa solo una vez para que el
mismo pueda ser ejecutado en cualquier dispositivo, eliminando la necesidad de reprogramarlo para que pueda
ejecutarse en otro.
Java es bien nombrado en el mundo de la tecnologa desde hace ya mucho tiempo, tiene grandes influencias
desde programas muy pequeos (scripts), aplicaciones complejas (desktops), aplicaciones corporativas, sitios
web, aplicaciones mviles, dispositivos embebidos, lnea blanca o electrodomsticos y la ms reciente en Blu-
Esto identifica a Java no solo como un solo lenguaje de programacin sino toda una tecnologa cuyo lmite es
la imaginacin del programador. Java como lenguaje es uno de los primeros lenguajes estructurados como
orientado a objetos o dicho en siglas POO (viene de Object Oriented Programming en ingles "OOP").
Desde su creacin Gosling decidi que Java fuera robusto, estable y orientado a objetos, con lo cual estableci
Explicaremos mejor que significan cada uno de los principios que persigue java o cualquiera de las
implementaciones que hay en el mercado (es correcto, hay mas adems de la oficial).
Java es sensible a maysculas y minsculas. Por convencin los nombres de las clases
/* comentario */
// comentario
llamado bytecode. Este bytecode es interpretado por las Mquinas Virtuales Java.
(JVMs) para la mayora de los sistemas operativos. La mquina virtual es la responsable por crear un
ambiente multiplataforma, o sea, si alguien construye un sistema operativo nuevo, basta crear una mquina
virtual java que traduzca los bytecodes para cdigo nativo y listo! Todas las aplicaciones java estarn
Entre otras funciones, la mquina virtual java tambin es responsable por cargar de forma segura todas las
clases del programa, verificar si los bytecodes adhieren a la especificacin JVM y si no violan la integridad y
De un cdigo Java, que est en un archivo .java, el compilador java genera el bytecode: un archivo class.
Despus de eso una mquina virtual java ejecuta el bytecode y corre el programa.
P g i n a | 27
Como existe un programa traduciendo un cdigo cada ejecucin del sistema, podra-decirse que Java siempre
ser ms lento que los lenguajes que generan cdigo nativo del sistema operativo como Delphi, VB o C++.
Esto era hasta 1996 cuando Sun cre el compilador Just-in-Time (JIT) que analiza y borra cdigos
Es la tecnologa Java para computadora personales, notebooks y arquitecturas con poder de procesamiento y
memoria considerables. Varias APIs acompaan esta versin y otras tantas pueden ser bajadas opcionalmente
de la web de Sun . Es con ellas que la mayora de las aplicaciones son construidas y ejecutadas.
La J2SE posee dos divisiones: Java Development Kit (JDK) o Standard Development Kit
(SDK): un kit para desarrollo en Java y debe ser instalado slo por los desarrolladores, por poseer
Java Runtime Edition JRE: una versin ms liviana de JDK pues est preparada para el ambiente
de ejecucin, o sea, esta versin ejecutar los sistemas construidos con SDK..
P g i n a | 28
Java 2 Mobile Edition (J2ME): Es la tecnologa Java para dispositivos mviles con limitaciones
de memoria o procesamiento. Posee APIs bien simples y livianas para economizar espacio,
memoria y procesamiento.
Son utilizadas para sistemas a ejecutar en dispositivos mviles, palm tops, pocket pcs, smartphones, javacards
- Connected Limited Device Configuration (CLDC): Para mviles y smartphones, que son ms limitados
- Connected Device Configuration (CDC): Para Palmtops y Pocket pcs y algunos dispositivos ms poderosos.
Java 2 Enterprise Edition (J2EE): Es la tecnologa Java para aplicaciones corporativas que
pueden estar en internet o no. Posee un gran nmero de APIs donde la seguridad es la principal
preocupacin.
QU ES EL LENGUAJE JAVA
Al hablar de Java, nos referimos a un lenguaje de programacin y a una plataforma. Esta plataforma informtica
tiene como propsito ofrecer a los diseadores de aplicaciones el escribir su programa solo una vez para que el
mismo pueda ser ejecutado en cualquier dispositivo, eliminando la necesidad de reprogramarlo para que pueda
ejecutarse en otro.
Java es bien nombrado en el mundo de la tecnologa desde hace ya mucho tiempo, tiene grandes influencias
desde programas muy pequeos (scripts), aplicaciones complejas (desktops), aplicaciones corporativas, sitios
web, aplicaciones mviles, dispositivos embebidos, lnea blanca o electrodomsticos y la ms reciente en Blu-
ray, como vern est presente en todos lados.
Esto identifica a Java no solo como un solo lenguaje de programacin sino toda una tecnologa cuyo lmite es
la imaginacin del programador. Java como lenguaje es uno de los primeros lenguajes estructurados como
orientado a objetos o dicho en siglas POO (viene de Object Oriented Programming en ingles "OOP").
P g i n a | 29
Uno de los principios de un lenguaje moderno no es hacer cdigos simples, sino implementar objetos. Un objeto
es un fragmento de cdigo que puede interactuar con otro fragmento de cdigo para resolver un problema, no
tiene una estructura orientada a procedimientos.
Un lenguaje orientado a procedimientos es aquel que el tal cual se escribe el cdigo as mismo el compilador lo
leer lnea a lnea. Un lenguaje orientado a objetos estructura todo lo que necesita sin importar el orden en que
se escribe ya que cuando un objeto necesita de otro, este toma su informacin la ejecuta y regresa la respuesta
Por ejemplo, un programa para calcular salario tiene un objeto llamado salario el cual est esperando del objeto
empleado el costo por hora y horas trabajadas, cuando empleado llama al objeto salario este se ejecuta, realiza
el clculo programado y retorna el salario al objeto empleado.
En otro blog describir ms detallado las caractersticas y estndares de interpretacin y aplicacin usados en
cualquier lenguaje orientado a objetos.
LENGUAJE DISTRIBUDO
Java dio paso a la introduccin de tecnologas de redes distribuidas como lo son la Invocacin de Mtodos
Remotos "RMI" (Remote Methond Invocation por sus siglas en ingles), CORBA (Common Request Broker
Architecture) y URL (Universal Resource Locator).
El dinamismo de java permite crear pequeas partes de cdigo que pueden ser fcilmente invocadas desde
cualquier computadora en internet y ser ejecutadas en esa computadora.
P g i n a | 30
LENGUAJE SIMPLE
Java es simple porque le fueron retirados elementos de programacin complejos e inseguros como lo son los
punteros a direcciones de memoria, una prctica mal utilizada en otros lenguajes. En su lugar permite hacer
referencias a objetos y tiene una funcin llamada reciclaje de memoria, la cual destruye los objetos que ya fueron
usados y ya no se hacen ms referencias.
LENGUAJE MULTIHILO
Multihilo es la forma de describir el proceso de ejecutar varias tareas diferentes al mismo tiempo, por ejemplo:
Consultar una base de datos, reproducir en pantalla una interfaz de usuario, imprimir un reporte. Esto hace un
mejor uso de los recursos del sistema.
El lenguaje java es seguro porque el entorno donde se ejecuta aplica medidas de seguridad para proteger el
cdigo de posibles ataques:
Impide que los programas distribuidos como applets, hagan lectura y escritura de discos duros de un equipo.
Implementa "Firmas Digitales" as la persona o equipo que est recibiendo el cdigo puede verificar su
legitimidad.
Desde los inicios de la computacin las plataformas existentes tuvieron grandes variaciones, hoy da tenemos
pocas pero las ms grandes son Windows, Linux, Unix, Mac y tambin tenemos arquitecturas de computacin
32 bits y 64 bits. Debido a estas diferencias cada sistema operativo se comporta distinto, tiene
distintas necesidades y recursos y normalmente se tendra que crear un cdigo especfico para cada plataforma
y arquitectura.
Sin embargo Java elimina este problema ya que un paquete de java tiene todos los recursos que necesita el
sistema operativo para ejecutar el cdigo java sin importar la plataforma que sea, de este modo el programador
solo se preocupa por crear su cdigo ya que sea ledo y ejecutado en cualquier CPU.
La forma en que Java lo hace es mediante un intrprete llamado Mquina Virtual Java o JVM (Java Virtual
Machine en ingles). Java tiene disponible una JVM para cada plataforma en que desee ejecutar cdigo Java, sin
embargo el cdigo java necesita adems del JVM unas bibliotecas que contengan clases y objetos especficos
para la plataforma donde se va a ejecutar, esta combinacin de JVM y bibliotecas es lo que se conoce como el
Entorno de Ejecucin de Java JRE, actualmente estamos en la versin 6.
Vendiendo del mercado al que se desea dirigir y del objetivo del software que va a crear hay un kit de desarrollo,
entornos de emulacin para dispositivos de consumo ( como celulares por ejemplo), estas implementaciones
de Java la encontramos en tres diferentes productos:
Java JSE: Tambin llamada Java Standard Edicin. Permite desarrollar applets y aplicaciones que se ejecutaran
en navegadores web o en computadoras de trabajo comunes, " aplicaciones sencillas como un block de notas".
Java JEE: Tambin llamada Java Enterprise Edition. Est orientado a aplicaciones empresariales distribuidas,
ambientes cliente-servidor " aplicaciones completas como un correo electrnico".
Java JME: Tambin llamada Java Micro Edition. Est orientado a aplicaciones con recursos limitados como
dispositivos mviles, es usada para crear aplicaciones pequeas o juegos.
P g i n a | 32
Conocemos a Android como uno de los sistemas operativos que lideran el mercado de la tecnologa
de comunicacin, enfocado en materia de telefona celular. Sin mucho que decir sobre esto, es claro
entonces que la demanda por usuario a las virtudes que ofrece el sistema, hablando ms
especficamente de la adquisicin de aplicaciones para mejorar o Personalizar nuestro equipo
Android, son cada da ms exigentes por parte del usuario, y a su vez el alto grado de competencia
que existen entre las mismas exige a sus desarrolladores la tarea de innovar o mejorar an ms la
composicin de cada una. Por ello, y asociado al tema de la complejidad que puede existir en la
programacin de una aplicacin, el mismo sistema Android ofrece un kit de herramientas
apropiado e indicado para el desarrollo de dichas aplicaciones. Tal kit o herramientas componen lo
que se conoce como Android Studio. Este es el IDE oficial de Android para el desarrollo de
aplicaciones. Basado en IntelliJ IDEA; un entorno o ambiente de desarrollo para programas, que
posee potentes herramientas de edicin de cdigo. Se puede decir que en
cuanto a su anlisis de cdigo el mismo destaca los errores de forma inmediata, para as dar una
solucin ms rpida de estos. Como herramientas integradas para el desarrollo o construccin de
programas en Android, contiene una interfaz de usuario que es construida o diseada previamente,
con variados modelos de pantalla, donde en ella los elementos existentes pueden ser desplazados.
Adicionalmente se abarca depuradores para emuladores y la posibilidad de trabajo con Logcat.
IntelliJ IDEA soporta variados leguajes que se basan en JVM; Java (por ello la J de IntelliJ),
Clojure, Groovy, Kotin y Scala. Ms un soporte para Maven y Gradle. Con esta tecnologa,
asociada a Android Studio, las posibilidades son cmodas Para la creacin y construccin de
aplicaciones para este sistema.
archivo APK, como tambin plantillas de cdigo que ayudan a la creacin de aplicaciones. Un
completo editor de diseo con soporte para la edicin de arrastrar y soltar el
tema elementos. Facilidad de uso y compatibilidad de versiones, Cdigo encoge con ProGuard y
consumo de recursos cada vez menor con Gradle. Por ltimo, soporte integrado para Google Cloud
Platform, lo que hace ms fcil de integrar Google mensajera en la nube y la App Engine.
En cuanto al desarrollo del flujo de trabajo, Android Studio posee un conjunto de herramientas
encargadas, Adicionando a eso el posible acceso desde la lnea de comandos las herramientas
SDK. Lo importante de todo esto es que, Android Studio ofrece comodidad para los
desarrolladores, ya que desde l es posible invocar, durante el desarrollo de aplicaciones, las
herramientas necesarias como una forma ms gil de trabajo.
Entre las fases de desarrollo que abarcan la realizacin de aplicaciones en Android Studio
encontramos cuatro etapas. La primera es la configuracin de entorno; durante esta fase se instala
y configura el entorno de desarrollo. Adems se realiza la conexin a los elementos en donde se
pueden realizar la instalacin de las app, y se crean dispositivos virtuales Android (AVDS).
La segunda fase abarca la Configuracin del Proyecto y Desarrollo; durante esta se realiza la
configuracin del proyecto y el desarrollo del mismo. Hablamos de la creacin de mdulos que
contengan recursos para la aplicacin y archivos de cdigo fuente. La tercera fase comprende las
pruebas, depuracin y construccin de la aplicacin; A esta altura se construye el proyecto en un
paquete (s) depurable .apk que se puede instalar y ejecutar en el emulador o en un dispositivo con
Android. Se utiliza un sistema de construccin basado en Gradle. Con este se proporciona
flexibilidad, variantes de construccin a la medida y la resolucin de dependencias. En el caso de
usar otro IDE se puede desarrollar el proyecto usando Gradle, y a su vez, instalarlo en un dispositivo
que use ADB. Posteriormente se hace la depuracin de la aplicacin a travs de los mensajes de
supervisin de dispositivos, ms un dispositivo de registro de Android (Logcat) junto con la idea
de IntelliJ. Adems, Se puede usar un depurador JDWP compatible, adicionando las herramientas
P g i n a | 34
Soporte para programar aplicaciones para Android Wear (sistema operativo para
XUtiliza ProGuard para optimizar y reducir el cdigo del proyecto al exportar a APK (muy
empaquetado.
compilar la aplicacin.
Integracin con Google Cloud Platform, para el acceso a los diferentes servicios que
XEditor de diseo que muestra una vista previa de los cambios realizados directamente en
el archivo xml.
Se espera que se desarrollen nuevas funciones con cada versin de Android Studio. Las siguientes
de uso.
Un editor de diseo enriquecido que permite a los usuarios arrastrar y soltar componentes
de la interfaz de usuario
P g i n a | 36
Soporte integrado para Google Cloud Platform, que permite la integracin con Google
Entre las fases de desarrollo que abarcan la realizacin de aplicaciones en Android Studio
encontramos cuatro etapas. La primera es la configuracin de entorno; durante esta fase se instala
pueden realizar la instalacin de las app, y se crean dispositivos virtuales Android (AVDS).
La segunda fase abarca la Configuracin del Proyecto y Desarrollo; durante esta se realiza la
configuracin del proyecto y el desarrollo del mismo. Hablamos de la creacin de mdulos que
contengan recursos para la aplicacin y archivos de cdigo fuente. La tercera fase comprende las
pruebas, depuracin y construccin de la aplicacin; A esta altura se construye el proyecto en un
paquete (s) depurable .apk que se puede instalar y ejecutar en el emulador o en un dispositivo con
Android. Se utiliza un sistema de construccin basado en Gradle. Con este se proporciona
flexibilidad, variantes de construccin a la medida y la resolucin de dependencias. En el caso de
usar otro IDE se puede desarrollar el proyecto usando Gradle, y a su vez, instalarlo en un dispositivo
que use ADB. Posteriormente se hace la depuracin de la aplicacin a travs de los mensajes de
supervisin de dispositivos, ms un dispositivo de registro de Android (Logcat) junto con la idea
de IntelliJ. Adems, Se puede usar un depurador JDWP compatible, adicionando las herramientas
P g i n a | 37
Soporte para programar aplicaciones para Android Wear (sistema operativo para
XUtiliza ProGuard para optimizar y reducir el cdigo del proyecto al exportar a APK (muy
empaquetado.
compilar la aplicacin.
Integracin con Google Cloud Platform, para el acceso a los diferentes servicios que
XEditor de diseo que muestra una vista previa de los cambios realizados directamente en
el archivo xml.
Se espera que se desarrollen nuevas funciones con cada versin de Android Studio. Las siguientes
de uso.
Un editor de diseo enriquecido que permite a los usuarios arrastrar y soltar componentes
de la interfaz de usuario
P g i n a | 39
Soporte integrado para Google Cloud Platform, que permite la integracin con Google
Android no utiliza los estndares establecidos de Java, i.e. Java SE y ME, lo cual es un problema
para el desarrollo. Esto impide la compatibilidad entre aplicaciones Java escritas para otras
totalidad las bibliotecas de clases de Java y APIs ( Application Programming Interface ) que
acompaan a Java SE o ME. Sin embargo, hay diversas herramientas en el mercado de empresas
como Myriad Group y UpOnTek que dan un servicio de conversin entre J2ME y Android.
Ya conocida una parte de la composicin de Android Studio y como se ejecuta el trabajo dentro de
l, vale decir que hace unas semanas tuvimos la nueva versin de este, disponible en su edicin
2.1.0 en fechas del mes de abril. Debemos saber que las actualizaciones peridicas hechas a
Android Studio suceden sin la necesidad de actualizar el proyecto, en este aspecto no debe existir
Entre los principales cambios hallados en esta nueva versin, se aprecian el apoyo para el desarrollo
en la nueva versin del sistema operativo, Android N, en su Vista previa. La plataforma Android
N aade soporte para Java 8, que posee caractersticas de lenguaje que requieren un nuevo
compilador experimental llamado Jack. La ltima versin de Jack solo es trabajable en la versin
desea trabajar con Java 8. Vale destacar que aunque Android Studio 2.1 ahora es estable, el
compilador Jack es an experimental, por lo tanto, se debe activar con la propiedad jackOptions en
su archivo build.gradle.
Entre otras novedades en la nueva versin, se hicieron correcciones a errores menores adems de
algunas mejoras; el Depurador de Java-aware C++ est activado por defecto cuando se utiliza un
para mejoras en la realizacin de las app, es bueno actualizar el plugin de Android para Gradle a la
versin 2.1.0.
P g i n a | 41
estadsticas de uso.
2 GB de RAM (4 GB recomendados)
Monitor de 1280x800
Para activar la aceleracin del emulador (HAXM) en sistemas Windows, se requiere un procesador
Intel con soporte para VT-x, EM64T y funcionalidad Execute Disable Bit
La tecnologa Java se usa para desarrollar aplicaciones para un amplio alcance de entornos, desde
dispositivos del consumidor hasta sistemas empresariales heterogneos. En esta seccin, obtenga
una vista de alto nivel de la plataforma Java y sus componentes. Vea Recursos para aprender ms
API DE JAVA
de Java online oficial, tambin llamada el Javadoc (vea Recursos). De forma predeterminada,
usted ve tres marcos en el Javadoc. El marco superior izquierdo muestra todos los paquetes en la
API y debajo estn las clases en cada paquete. El marco principal (a la derecha) muestra detalles
selecciona el paquete java.util en el marco superior izquierdo y luego selecciona la clase ArrayList
que aparece debajo de l, en el marco derecho, ver detalles acerca del ArrayList, que incluyen una
Como cualquier lenguaje de programacin, el lenguaje Java tiene su propia estructura, reglas de
el concepto de programacin orientada a objetos (OOP), que las funciones del lenguaje soportan.
El lenguaje Java es un derivado del lenguaje C, por lo que sus reglas de sintaxis se parecen mucho
a C: por ejemplo, los bloques de cdigos se modularizan en mtodos y se delimitan con llaves ({ y
de nombres del lenguaje Java. Dentro de los paquetes se encuentran las clases y dentro de las clases
se encuentran mtodos, variables, constantes, entre otros. En este tutorial, aprender acerca de las
EL COMPILADOR JAVA
Cuando usted programa para la plataforma Java, escribe el cdigo de origen en archivos .java y
luego los compila. El compilador verifica su cdigo con las reglas de sintaxis del lenguaje, luego
escribe los cdigos byte en archivos .class. Los cdigos byte son instrucciones estndar destinadas
abstraccin, el compilador Java difiere de los otros compiladores de lenguaje, que escriben
LA JVM
Al momento de la ejecucin, la JVM lee e interpreta archivos .class y ejecuta las instrucciones del
programa en la plataforma de hardware nativo para la que se escribi la JVM. La JVM interpreta
los cdigos byte del mismo modo en que una CPU interpretara las instrucciones del lenguaje del
conjunto. La diferencia es que la JVM es un software escrito especficamente para una plataforma
particular. La JVM es el corazn del principio "escrito una vez, ejecutado en cualquier lugar" del
cual una implementacin apropiada de la JVM est disponible. Las JVM estn disponibles para
plataformas principales como Linux y Windows y se han implementado subconjuntos del lenguaje
EL RECOLECTOR DE BASURA
En lugar de forzarlo a mantenerse a la par con la asignacin de memoria (o usar una biblioteca de
terceros para hacer esto), la plataforma Java proporciona una gestin de memoria lista para usar.
Cuando su aplicacin Java crea una instancia de objeto al momento de ejecucin, la JVM asigna
automticamente espacio de memoria para ese objeto desde el almacenamiento dinmico, que es
El recolector de basura Java se ejecuta en segundo plano y realiza un seguimiento de cules son
los objetos que la aplicacin ya no necesita y recupera la memoria que ellos ocupan. Este abordaje
al manejo de la memoria se llama gestin de la memoria implcita porque no le exige que escriba
cualquier cdigo de manejo de la memoria. La recogida de basura es una de las funciones esenciales
otras herramientas, una librera de clase completa de programas de utilidad preconstruidos que
lo ayudan a cumplir cualquier tarea comn al desarrollo de aplicaciones. El mejor modo para tener
una idea del mbito de los paquetes y bibliotecas JDK es verificar la documentacin API JDK (vea
Recursos).
bibliotecas de cdigos de la JVM y los componentes que son necesarios para programas en
ejecucin escritos en el lenguaje Java. Est disponible para mltiples plataformas. Puede
redistribuir libremente el JRE con sus aplicaciones, de acuerdo a los trminos de la licencia del
P g i n a | 46
JRE, para darles a los usuarios de la aplicacin una plataforma en la cual ejecutar su software. El
Si usted ya ha instalado el JDK e IDE Eclipse, tal vez quiera saltar a la seccin Getting started with
Su entorno de desarrollo
El JDK incluye un conjunto de herramientas de lnea de comandos para compilar y ejecutar su
cdigo Java, que incluye una copia completa del JRE. Aunque usted ciertamente puede usar estas
Eclipse es un IDE de cdigo abierto popular para el desarrollo Java. Maneja las tareas bsicas, tales
centrase en escribir y probar cdigos. Adems, puede usar Eclipse para organizar archivos de
proyectos en cualquier cantidad de repositorios de origen. Necesita tener instalado un JDK para
QU ES UN OBJETO?
Los lenguajes de programacin estructurada como C y COBOL siguen un paradigma de
estructurada est altamente orientado a datos, lo cual significa que usted tiene estructuras de datos
por una parte y luego instrucciones del programa que actan sobre esos datos. Los lenguajes
orientados a objetos, como el lenguaje Java, combinan datos e instrucciones del programa en
objetos.
Un objeto es una entidad independiente que contiene atributos y comportamientos y nada ms. En
lugar de tener una estructura de datos con campos (atributos) y pasar esa estructura a toda la lgica
del programa que acta sobre ella (comportamiento), en un lenguaje orientado a objetos, se
combinan los datos y la lgica del programa. Esta combinacin puede ocurrir en niveles
objetos de aplicacin general como un servicio de FundsTransfer en una gran aplicacin bancaria.
a objetos le permite reutilizar los atributos y comportamientos comunes del objeto padre y le agrega
P g i n a | 48
a sus objetos hijos atributos y comportamientos que difieren. (Usted aprender ms sobre herencia
en el lenguaje Java). Adems, en una aplicacin orientada a objetos, el cdigo del programa
coordina las actividades entre objetos para realizar tareas dentro del contexto del dominio de
conoce solo lo relacionado a sus datos y cualquier otro objeto que necesite para cumplir sus
actividades.
Bsicamente, un objeto es una entidad diferenciada que tiene solo las dependencias necesarias de
EL OBJETO PERSON
P g i n a | 49
Comenzar con un ejemplo que est basado en escenario comn de desarrollo de aplicacin: se
Volviendo a la definicin de un objeto, usted sabe que un objeto tiene dos elementos primarios:
Atributos
Nombre
Edad
Altura
Peso
Color de ojos
Gnero
Comportamiento
Una persona real puede hacer todo tipo de actividades pero los comportamientos de los objetos
de negocio, por ejemplo, puede querer preguntarle a su objeto Person: "Qu edad tiene?" Como
Una lgica ms compleja podra estar oculta dentro del objeto Person pero por ahora suponga que
esa
Cul es su nombre?
Qu edad tiene?
Cul es su altura?
Cunto pesa?
Cul es su gnero?
Estado y cadena
En el caso de Person, su estado se define por sus atributos, tales como nombre, edad, altura y peso.
Si usted quisiera presentar una lista de varios de esos atributos, podra hacerlo utilizando una clase
Juntos, los conceptos de estado y cadena le permiten decirle a Person: cunteme quin es usted
PRINCIPIOS DE OOP
Si usted viene de un ambiente de programacin estructurada, la proposicin de valores de OOP
puede que no sea clara todava. Despus de todo, los atributos de una persona y cualquier lgica
para recuperar (y convertir) sus valores pueden escribirse en C o COBOL. Esta seccin clarifica
los beneficios del paradigma OOP al explicar sus principios distintivos: encapsulamiento, herencia
y polimorfismo.
ENCAPSULAMIENTO
Recuerde que un objeto es, sobre todo, diferenciado o independiente. Este es el principio de
encapsulamiento en funcionamiento. Ocultacin es otro trmino que a veces se usa para expresar
Sin tener en cuenta la terminologa, lo que es importante es que el objeto mantiene un lmite entre
su estado y comportamiento y el mundo exterior. Como los objetos del mundo real, los objetos
En la plataforma Java, puede usar especificadores de acceso (los que presentar ms adelante en el
tutorial) para variar la naturaleza de las relaciones de los objetos desde lo pblico a lo privado. El
acceso pblico tiene una gran apertura, mientras que el acceso privado significa que los atributos
encapsulamiento. En la plataforma Java, usted puede variar la fortaleza de ese lmite sobre una
HERENCIA
En la programacin estructurada, es comn copiar una estructura, darle un nombre nuevo y agregar
o modificar los atributos que hacen que la nueva identidad (por ejemplo, un registro de Cuenta) sea
diferente de su fuente original. Con el tiempo, este abordaje genera una gran cantidad de cdigos
OOP presenta el concepto de herencia, por el cual los objetos especializados, sin ningn cdigo
adicional, pueden "copiar" los atributos y el comportamiento de los objetos de origen en los que
simplemente modifquelos temporalmente. Solo modifique lo que necesite modificar para crear
HERENCIA EN FUNCIONAMIENTO
Suponga que est escribiendo una aplicacin de recursos humanos y quiere usar el objeto Person
como base para un objeto nuevo llamado Employee. Al ser el hijo de Person, el Employee tendra
todos los atributos de un objeto Person, junto con los adicionales, tales como:
Fecha de contratacin
Salario
La herencia hace que sea fcil crear la nueva clase de Employee del objeto sin necesidad de copiar
POLIMORFISMO
Bsicamente, significa que los objetos que pertenecen a la misma ramificacin de una jerarqua,
cuando se enva el mismo mensaje (es decir, cuando se le indica que realice lo mismo), pueden
ejemplo de Person. Recuerda indicarle a Person que formatee sus atributos en una String? El
polimorfismo hace que sea posible para Person representar sus atributos en una variedad de formas,
El polimorfismo es uno de los conceptos ms complejos con los que se encontrar en OOP en la
plataforma Java y no dentro del mbito de un tutorial introductorio. Vea Recursos si quiere
El lenguaje Java le permite crear objetos de primera clase pero no todo en el lenguaje es un objeto.
Hay dos cualidades que diferencian el lenguaje Java de los lenguajes puramente orientados a
objetos como Smalltalk. Primero, el lenguaje Java es una mezcla de objetos y tipos primitivos.
El lenguaje Java s le da las herramientas necesarias para seguir principios OOP slidos y producir
un cdigo slido orientado a objetos. Debido a que Java no est puramente orientado a objetos,
debe ejercitar alguna disciplina sobre cmo usted escribe un cdigo. El lenguaje no lo obliga a
hacer lo correcto, por lo tanto debe hacerlo usted mismo. (Esta ltima seccin del tutorial, Writing
Sera imposible introducir toda la sintaxis del lenguaje Java en un solo tutorial. Lo que resta de la
Parte 1 se centra en los conceptos bsicos del lenguaje, por lo que le da suficiente conocimiento y
prctica para escribir programas simples. OOP se trata por completo de los objetos, por lo cual esta
seccin comienza con dos temas relacionados especficamente con la forma en que el lenguaje Java
PALABRAS RESERVADAS
Como cualquier lenguaje de programacin, el lenguaje Java designa ciertas palabras que el
compilador reconoce como especiales y, como tales, usted no tiene permitido usarlas para nombrar
afirmar paquete
booleano privado
interrupcin protegido
byte
caso pblico
capturar retorno
caract. corto
clase esttico
const. strictfp
continuar sper
predeterminado conmutador
hacer sincronizado
doble
else esto
enumer. arrojar
extiende arroja
final transitorio
finalmente intentar
flotante invlido
para voltil
ir a mientras
si
implementa
importar
instancia de
int
interfaz
largo
nativo
nuevo
P g i n a | 57
Observe que true, false y null tcnicamente no son palabras reservadas. Aunque son literales,
las incluyo en esta lista porque no puede usarlas para nombrar construcciones Java.
Una ventaja de la programacin con un IDE es que puede usar coloreado de sintaxis para
Recuerde que un objeto es una entidad diferenciada que contiene atributos y comportamiento.
Eso significa que tiene un lmite ntido y un estado y puede realizar actividades cuando se lo
piden correctamente. Cada lenguaje de orientacin a objetos tiene reglas sobre cmo definir un
objeto.
XSu nueva forma de construir los paquetes .apk, mediante el uso de Gradle,
Permite compilar desde lnea de comandos, para aquellas situaciones en las que no est
proporciona numerosas ventajas como puede ser la creacin de una versin de pago y
inicialmente.
A veces puede ser muy complicado programar interfaces de usuario, ya que pequeos
El disco giratorio coloreado de Isaac Newton (1642-1727) demostr que la luz blanca est
formada por los colores del arco iris. Newton observ que, al hacer atravesar un haz luminoso
por una lente, siempre existen variaciones de color alrededor de la imagen transmitida, esta
coloracin, generada por los diferentes focos luminosos a los que se ve expuesta la lente, se la
denomina dispersin de la luz. Asimismo, comprob que, si haca pasar un haz luminoso por
un prisma, la luz blanca se descompona en una serie de colores brillantes (arco iris) que
denomin espectro solar. De esta experiencia dedujo que, si la luz blanca se poda descomponer
en los colores del arco iris, combinando stos se podra volver al color blanco.
El disco giratorio de color fue una de las diversas experiencias de las que se sirvi para
demostrar su teora. Se trata de un disco dividido en sectores pintados con los colores del
espectro visible. Al hacerlo girar a gran velocidad se puede observar como estos colores
desaparecen, tomando una tonalidad blanca, ms brillante cuanto mejor se haya hecho la
proporcin de colores.
P g i n a | 60
EXPLICACIN:
Newton descubri que la luz blanca lleva adentro todos los colores que podemos ver, menos el
negro. Por qu el negro no? Porque es la ausencia de color; cuando no hay nada de luz, que
Entonces nosotros vemos el color de cada cosa porque le llega a ese objeto luz blanca, y el
objeto guarda todos los colores menos el suyo. Una manzana reflejar el rojo y se guardar los
dems, una hoja blanca refleja toda la luz que le llega y un pedazo de carbn absorbe toda la
luz.
Pero para que nosotros sepamos de qu color es un cuerpo, su luz tiene que llegar a nuestros
ojos, que mandan la informacin al cerebro. Algo curioso de los ojos es que siempre guardan
lo que ven por una dcima de segundo, que, aunque es un tiempo muy corto puede ayudarnos
en muchas cosas.
Por ejemplo, si esto no pasara no podramos ver bien las pelculas ya que estas son una serie
de fotos inmviles, que se ven en movimiento gracias a que el ojo empalma varias imgenes
Bueno, lo mismo pasa con los colores si pasan muy rpido frente a los ojos; se empalman. Y
cuando se empalman todos los colores primarios nuestro cerebro slo distingue el blanco. Hay
que recordar que para que se empalmen el disco se tiene que mover rpido, de modo que todos
los colores pasen por el mismo lugar en menos de una dcima de segundo.
P g i n a | 61
calma y bienestar. Instrucciones para imaginar o pensar acerca de experiencias agradables son
de lo ms agradable. Lo que se quiere lograr con el proyecto es que la persona que se someta a
la hipnosis por medio de la Ruleta de Newton, que al mirar fijamente como cambian los colores
La hipnosis produce un estado atencin muy focalizado, que minimiza otros pensamientos y
Las instrucciones que da el hipnotizador para que la persona que se somete a hipnosis alcance
La sugestin consiste en frases que describen cambios en las percepciones y que no requieren
Cualquier persona puede ser hipnotizada. De hecho, el 80% podran experimentar este
fenmeno con relativa facilidad. Del 20% restante, la mitad son mucho ms sugestionables que
Podemos decir que una persona o estudiante puede superar sus problemas mediante la ruleta
de newton puesto que al someterse a la ruleta las personas van a sufrir una hipnosis ya que
posterior mente vemos que nuestros problemas van fusionndose y de esta manera van
convirtindose en la nada (que representa el color blanco) y posterior mente vemos un mensaje
de superacin, entonces los estudiantes podemos superar nuestros problemas antes de ingresar
a clase.
P g i n a | 63
1. MARCO PRACTICO
P g i n a | 64
1. CONCLUSIONES
Finalizada la investigacin, podemos concluir que este programa es un mtodo efectivo para
el personal. Mediante una prueba realizada a un miembro del grupo se pudo determinar que si
Mediante nuestro programa de la ruleta de newton el personal podr olvidar sus problemas de
El programa fue sometido a prueba por uno de los integrantes grupo para verificar la solucin
2. RECOMENDACIONES
De acuerdo a los resultados obtenidos ,este modelo puede ser aplicado en todo tipo de
personas mediante su optimizacin para plataformas mviles como ser Android que es a la
cual est destinada este programa por sus beneficios evidentes, facilidad de uso los cuales
pueden ser decisivos al momento de elegir un modelo de programa para ser utilizado en
ANEXOS
P g i n a | 66
Anexo A
P g i n a | 67
Anexo B
P g i n a | 68
ANEXO C
Login Activity
mEmail = email;
mPassword = password;
}
@Override
protected Boolean doInBackground(Void... params) {
// TODO: attempt authentication against a network
service.
try {
// Simulate network access.
Thread.sleep(2000);
} catch (InterruptedException e) {
return false;
}
@Override
protected void onPostExecute(final Boolean success) {
mAuthTask = null;
showProgress(false);
if (success) {
finish();
} else {
mPasswordView.setError(getString(R.string.error_incorrect_password
));
mPasswordView.requestFocus();
}
}
@Override
protected void onCancelled() {
mAuthTask = null;
showProgress(false);
}
}
}
P g i n a | 69
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.paint.sinamistudio.ruletadenewton.LoginActivity">
<LinearLayout
android:id="@+id/email_login_form"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<AutoCompleteTextView
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="usuario"
android:inputType="textEmailAddress"
android:maxLines="1"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_password"
android:imeActionId="@+id/login"
android:imeActionLabel="@string/action_sign_in_short"
android:imeOptions="actionUnspecified"
android:inputType="textPassword"
android:maxLines="1"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/email_sign_in_button"
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
P g i n a | 70
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/action_sign_in"
android:textStyle="bold" />
<Button
android:id="@+id/register_button"
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="register"
android:textStyle="bold" />
</LinearLayout>
</ScrollView>
<ProgressBar
android:id="@+id/login_progress"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:visibility="gone" />
</LinearLayout>
Main Activity
package com.paint.sinamistudio.ruletadenewton;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRouletteView = (RouletteView) findViewById(R.id.rouletteView);
setToolbar();
context = MainActivity.this;
}
P g i n a | 71
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_message:
Intent i = new Intent(this, SectorsConfig.class);
startActivity(i);
return true;
case R.id.menu_start:
mRouletteView.girar(10);
reset();
mRouletteView.updateSectors();
return true;
case R.id.menu_developed:
creditos();
return true;
case R.id.menu_tutorial:
Intent i2 = new Intent(this, TutorialActivity.class);
startActivity(i2);
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onStart() {
super.onStart();
mRouletteView.updateSectors();
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mRouletteView.updateSectors();
}
mDbHelper.open();
RouletteInitialization initializer = new
RouletteInitialization(MainActivity.this);
Resources res = getResources();
String[] answers = res.getStringArray(R.array.predefined);
initializer.initRoulette(answers);
}
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="8dp">
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:elevation="8dp"/>
</android.support.design.widget.AppBarLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_marginTop="50sp"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:text="@string/title"
android:layout_gravity="center"
android:gravity="center"
android:layout_height="40sp"
android:textStyle="bold" />
<com.paint.sinamistudio.ruletadenewton.RouletteView
android:id="@+id/rouletteView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center" />
P g i n a | 73
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
Register Activity
package com.paint.sinamistudio.ruletadenewton;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
initDataBase();
nombre = (EditText)findViewById(R.id.edit_nombre);
apellido = (EditText)findViewById(R.id.edit_apellido);
usuario = (EditText)findViewById(R.id.edit_usuario);
password = (EditText)findViewById(R.id.edit_contrasea);
password2 = (EditText)findViewById(R.id.edit_contrasea2);
registrar = (Button)findViewById(R.id.btn_registrar);
registrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(password.getText().toString().equals(password2.getText().toString())) {
addUsuario();
Toast.makeText(RegisterActivity.this, "Registro
Completo", Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(RegisterActivity.this, "Contraseas
incorrecta", Toast.LENGTH_SHORT).show();
}
}
});
}
<EditText
android:id="@+id/edit_nombre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nombre :"/>
<EditText
android:id="@+id/edit_apellido"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Apellidos :"/>
<EditText
android:id="@+id/edit_usuario"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Usuario :"
/>
<EditText
android:id="@+id/edit_contrasea"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="Password :"/>
<EditText
android:id="@+id/edit_contrasea2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="Repita Password :"/>
<Button
android:id="@+id/btn_registrar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Registrar"/>
</LinearLayout>
P g i n a | 75
Roulett Initialization
package com.paint.sinamistudio.ruletadenewton;
import android.content.Context;
import android.database.Cursor;
import java.util.Random;
tutorial xml
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="8dp">
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:elevation="8dp"/>
</android.support.design.widget.AppBarLayout>
<Button
android:id="@+id/paso1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/app_bar"
android:layout_centerHorizontal="true"
android:layout_marginTop="106dp"
android:text="Paso N1" />
<Button
android:id="@+id/paso2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/paso1"
android:layout_alignStart="@+id/paso1"
android:layout_below="@+id/paso1"
android:layout_marginTop="74dp"
android:text="Paso N2" />
<Button
android:id="@+id/paso3"
android:layout_width="wrap_content"
P g i n a | 77
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/paso2"
android:layout_alignRight="@+id/paso2"
android:layout_below="@+id/paso2"
android:layout_marginTop="59dp"
android:text="Paso N3" />
</RelativeLayout>
Roulrtte View
package com.paint.sinamistudio.ruletadenewton;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.media.MediaPlayer;
import android.os.SystemClock;
import android.support.v7.app.AlertDialog;
import android.util.AttributeSet;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Random;
0xFFC231FB, 0xFF1132C7,
0xFF0432FC, 0xFF53D0D4, 0xFF49D774, 0xFFADF70D, 0xFFF7F73C,
0xFFF5EA10, 0xFFF5D310
};
private int[] mColorsC = { 0xFFF79A18, 0xFFF71120, 0xFF8729AB,
0xFFC231FB, 0xFF1132C7,
0xFF0432FC, 0xFF53D0D4, 0xFF49D774, 0xFFADF70D, 0xFFF7F73C,
0xFFF5EA10, 0xFFF5D310
};
private int[] mColorsB = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
};
@Override
public void surfaceCreated(SurfaceHolder holder) {
mCenterX = this.getWidth() / 2;
mCenterY = this.getHeight() / 2;
mRadius = Math.min(mCenterX, mCenterY);
int rectRad = mRadius - FRAME;
mRectF.set(mCenterX - rectRad, mCenterY - rectRad, mCenterX +
rectRad,
mCenterY + rectRad);
mStroke = 2;
P g i n a | 79
mPaint.setStrokeWidth(mStroke);
mPaint.setAntiAlias(true);
updatePoints(0);
}
/**ACTUALIZA LOS SECTORES DE LA PALETA*/
public void updateSectors() {
mSectorsCursor = mDbHelper.fetchAllSectors();
mSectors = mSectorsCursor.getCount();
if (mSectors < 2) {
RouletteInitialization initializer = new RouletteInitialization(
mContext);
Resources res = getResources();
String[] answers = res.getStringArray(R.array.predefined);
initializer.initRoulette(answers);
mSectorsCursor = mDbHelper.fetchAllSectors();
mSectors = mSectorsCursor.getCount();
}
mSweepAngle = 360 / mSectors;
updateColors();
updateAnswers();
updatePoints(0);
}
/**ACTUALIZA LAS PREGUNTAS */
private void updateAnswers() {
mSectorsCursor = mDbHelper.fetchAllSectors();
mAnswers = new String[mSectors];
for (int i = 0; i < mSectors; i++) {
mSectorsCursor.moveToPosition(i);
mAnswers[i] = mSectorsCursor.getString(mSectorsCursor
.getColumnIndexOrThrow(SectorsDbAdapter.KEY_BODY));
}
}
/**************************************************************************
*******/
public void girar(int diferencia) {
mAngleDiff = diferencia;
spin(-1*(int)Math.signum(mAngleDiff)*Math.min(Math.abs(mAngleDiff) *
25,360*20));
}
public void spin(int force) {
boolean show_answer = true;
int clockwise = (force > 0) ? 1 : -1;
force = Math.abs(force);
if (force < MIN_FORCE) {
show_answer = false;
}
while (force > 0) {
int gradosPorFrame = (int) clockwise * force / mFPS;
force = force + 20;
updatePoints(gradosPorFrame);
repaint();
if(force >= 11000) {
mColors = mColorsB;
updateColors();
}
if(force >= 12000) {
break;
}
SystemClock.sleep(1000 / 240);
P g i n a | 80
}
showSectorSentence(show_answer);
}
/**************************************************************************
*******/
/**************** HILO QUE PINTA CADA FRAME DE SEGUNDO LA PALETA EN SU
NUEVA POSICION *************/
public void repaint() {
Canvas c = null;
try {
c = mSurfaceHolder.lockCanvas(null);
synchronized (mSurfaceHolder) {
doDraw(c);
}
} finally {
if (c != null) {
mSurfaceHolder.unlockCanvasAndPost(c);
}
}
}
protected void doDraw(Canvas canvas) {
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
for (int i = 0; i < mSectors; i++) {
// Draw sector
mPaint.setColor(mSectorColors[i]);
Coordinate myPoint = mPoints.get(i);
mPath.reset();
mPath.moveTo(mCenterX, mCenterY);
mPath.lineTo(myPoint.x, myPoint.y);
mPath.addArc(mRectF, i * mSweepAngle + mAngleOffset, mSweepAngle);
mPath.lineTo(mCenterX, mCenterY);
mPath.close();
canvas.drawPath(mPath, mPaint);
}
// Draw lines
mPaint.setColor(Color.BLACK);
for (int i = 0; i < mSectors; i++) {
Coordinate myPoint = mPoints.get(i);
canvas.drawLine(mCenterX, mCenterY, myPoint.x, myPoint.y, mPaint);
}
mPaint.setColor(Color.WHITE);
mPaint.setStrokeWidth(mStroke * 2);
canvas.drawLine(mCenterX + mRadius - FRAME * 2, mCenterY, mCenterX
+ mRadius + FRAME, mCenterY, mPaint);
mPaint.setStrokeWidth(mStroke);
}
private void showSectorSentence(boolean sentence) {
String text;
mSuperacion = getResources().getStringArray(R.array.Superacion);
if (sentence) {
Random R = new Random();
text = mSuperacion[R.nextInt(mSuperacion.length)];
} else {
Resources res = getResources();
text = res.getString(R.string.stronger);
}
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setTitle("Superate")
.setMessage(text)
.setPositiveButton("OK",
P g i n a | 81
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
MainActivity.reiniciar();
}
});
builder.create().show();
}
public int getCurrentSector() {
return mSectors - 1 - (int) (mAngleOffset / mSweepAngle);
}
private void updatePoints(int angle) {
int currentSector = getCurrentSector();
mAngleOffset = mAngleOffset + angle;
while (mAngleOffset < 0) {
mAngleOffset = mAngleOffset + 360;
}
while (mAngleOffset > 360) {
mAngleOffset = mAngleOffset - 360;
}
mPoints.clear();
float newpointX, newpointY;
for (int i = 0; i < mSectors; i++) {
newpointX = (float) Math.cos(Math.toRadians(i * mSweepAngle
+ mAngleOffset))
* mRadius + mCenterX;
newpointY = (float) Math.sin(Math.toRadians(i * mSweepAngle
+ mAngleOffset))
* mRadius + mCenterY;
mPoints.add(new Coordinate(newpointX, newpointY));
}
if (getCurrentSector() != currentSector) {
mediaPlayer.start();
}
}
private class Coordinate {
public float x;
public float y;
Sector Edit
package com.paint.sinamistudio.ruletadenewton;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
P g i n a | 83
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_sector);
setToolbar();
buttonOk.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Perform action on clicks
saveState();
setResult(RESULT_OK);
finish();
}
});
if (mPosition < 2){
buttonDelete.setEnabled(false);
}
else
{
buttonDelete.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Perform action on clicks
mDbHelper.deleteSector(mRowId);
setResult(RESULT_OK);
finish();
}
});
}
}
@Override
protected void onPause() {
super.onPause();
saveState();
}
P g i n a | 84
@Override
protected void onResume() {
super.onResume();
populateText();
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
saveState();
outState.putSerializable(SectorsDbAdapter.KEY_ROWID, mRowId);
}
sector.getColumnIndexOrThrow(SectorsDbAdapter.KEY_BODY)));
}
}
Sectors Config
package com.paint.sinamistudio.ruletadenewton;
import android.app.ListActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sectors_config);
setTitle(null);
@Override
protected void onListItemClick(ListView l, View v, int position, long
id) {
super.onListItemClick(l, v, position, id);
Intent i = new Intent(this, SectorEdit.class);
i.putExtra(SectorsDbAdapter.KEY_ROWID, id);
i.putExtra(LIST_POSITION, position);
startActivityForResult(i, ACTIVITY_EDIT);
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
fillData();
}
mSectorsCursor = mDbHelper.fetchAllSectors();
startManagingCursor(mSectorsCursor);
final Button buttonAdd = (Button) findViewById(R.id.button_add);
if (mSectorsCursor.getCount() < 12) {
buttonAdd.setEnabled(true);
} else {
buttonAdd.setEnabled(false);
}
// Create an array to specify the fields we want to display in the
list
String[] from = new String[] { SectorsDbAdapter.KEY_BODY };
Sectors Db Adapter
package com.paint.sinamistudio.ruletadenewton;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
/**
* Database creation sql statement
*/
private static final String DATABASE_CREATE =
"create table sectors (_id integer primary key autoincrement, "
+ "body text not null);";
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + "
to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS sectors");
onCreate(db);
}
}
/**
* Constructor - takes the context to allow the database to be
* opened/created
*
* @param ctx the Context within which to work
*/
public SectorsDbAdapter(Context ctx) {
this.mCtx = ctx;
}
/**
* Open the sectors database. If it cannot be opened, try to create a
new
* instance of the database. If it cannot be created, throw an
exception to
* signal the failure
*
* @return this (self reference, allowing this to be chained in an
* initialization call)
* @throws SQLException if the database could be neither opened or
created
*/
public SectorsDbAdapter open() throws SQLException {
mDbHelper = new DatabaseHelper(mCtx);
mDb = mDbHelper.getWritableDatabase();
return this;
}
/**
* Create a new sector using the body provided. If the sector is
* successfully created return the new rowId for that sector, otherwise
return
P g i n a | 88
* a -1 to indicate failure.
*
* @param body the body of the sector
* @return rowId or -1 if failed
*/
public long createSector(String body) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_BODY, body);
/**
* Delete the sector with the given rowId
*
* @param rowId id of sector to delete
* @return true if deleted, false otherwise
*/
public boolean deleteSector(long rowId) {
/**
* Return a Cursor over the list of all sectors in the database
*
* @return Cursor over all sector
*/
public Cursor fetchAllSectors() {
/**
* Return a Cursor positioned at the sector that matches the given
rowId
*
* @param rowId id of sector to retrieve
* @return Cursor positioned to matching sector, if found
* @throws SQLException if sector could not be found/retrieved
*/
public Cursor fetchSector(long rowId) throws SQLException {
Cursor mCursor =
}
P g i n a | 89
/**
* Update the sector using the details provided. The sector to be
updated is
* specified using the rowId, and it is altered to use the body
* values passed in
*
* @param rowId id of sector to update
* @param body value to set sector body to
* @return true if the sector was successfully updated, false otherwise
*/
public boolean updateSector(long rowId, String body) {
ContentValues args = new ContentValues();
args.put(KEY_BODY, body);
Tutorial activity
package com.paint.sinamistudio.ruletadenewton;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tutorial);
paso_uno = (Button)findViewById(R.id.paso1);
paso_dos = (Button)findViewById(R.id.paso2);
paso_tres = (Button)findViewById(R.id.paso3);
mp1 = MediaPlayer.create(this, R.raw.grabacion_uno);
mp2 = MediaPlayer.create(this, R.raw.grabacion_dos);
mp3 = MediaPlayer.create(this, R.raw.grabacion_tres);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
paso_uno.setOnClickListener(this);
paso_dos.setOnClickListener(this);
paso_tres.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
P g i n a | 90
case R.id.paso1:
mp1.start();
break;
case R.id.paso2:
mp2.start();
break;
case R.id.paso3:
mp3.start();
break;
}
}
}
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="8dp">
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:elevation="8dp"/>
</android.support.design.widget.AppBarLayout>
<EditText android:id="@+id/sector_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal">
<Button android:text="@string/done"
android:id="@+id/button_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
P g i n a | 91
<Button android:text="@string/delete"
android:id="@+id/button_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>
</LinearLayout>
>
<item android:title="MENU"
app:showAsAction="ifRoom"
>
<menu>
<item
android:id="@+id/menu_start"
android:title="Girar"
android:orderInCategory="100"/>
<item
android:id="@+id/menu_message"
android:title="Mensajes"
android:orderInCategory="300"/>
<item
android:id="@+id/menu_tutorial"
android:title="Tutorial"
android:orderInCategory="400"/>
<item
android:id="@+id/menu_developed"
android:title="Desarrolladora"
android:orderInCategory="500"/>
</menu>
</item>
</menu>
Values:
Colors xml
Dimens xml
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
Strings xml
<resources>
<string name="app_name">RAGD</string>
<string name="title">Gira la Ruleta de Newton</string>
<string name="stronger">Venga, grala un poco ms fuerte</string>
P g i n a | 93
<string name="add">Aadir</string>
<string name="done">Hecho</string>
<string name="reset">Reset</string>
<string name="delete">Eliminar</string>
<string name="menu_config">Configurar</string>
<string name="config">Configuracin</string>
<string-array name="predefined">
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
</string-array>
<string-array name="Superacion">
<item>Porque todo lo bueno empieza con miedo</item>
<item>Quien quiere hacer algo encuentra un medio, quien no quiere
hacer
nada encuentra una excusa</item>
<item>Nacimos para ser felices no para ser perfecto</item>
<item>Hoy vas a conquistar el cielo sin mirar lo alto que queda del
suelo</item>
<item>Sonre! hoy es un da excelente, para estar orgulloso de
quien eres</item>
<item>Hoy mralo de otra manera ES TU DA</item>
<item>Hoy me he puesto una sonrisa que combina con todo</item>
<item>Una persona positiva convierte sus problemas en retos nunca
en obstculos</item>
<item>Nunca dejes de intentar por miedo a equivocarte</item>
<item>Si el plan no funciona cambia el plan pero no cambies la
meta</item>
<item>Se positivo!</item>
<item>No te rindas nunca los campeones no se rinden</item>
<item>Lo que se rinden nunca ganada nada</item>
<item>Levntate y sigue...</item>
<item>Sonre como si tu da fuera el ultimo.
La vida empieza cada 5 minutos , disfrtala.
Encontraras el significado de la vida si tu lo creas.
Cuando una puerta se cierra , otra se abre.</item>
<item>Tu meta es el mejor sueo que tendrs</item>
<item>Rendirse no te lleva a nada...</item>
<item>A la cima no se llega superando a los demas, sino a ti
mismo</item>
<item>Desecha tristezas y melancolias, la vida es una sola</item>
<item>Nadie que dio lo mejor de si mismo lo ha lamentado</item>
<item>El mayor placer de la vida es hacer lo que la gente te dice
que no eres capaz de hacer</item>
<item>Tu mente es libre ten el coraje de seguirla</item>
<item>Cuando nada es seguro todo es posible</item>
<item>Enamorat de tu vida...</item>
<item>Toda persona tiene capacidad para cambiarse a si mismo
...</item>
<item>Si se quiere se puede ....</item>
<item>Seamos realistas y hagamos lo imposible...</item>
</string-array>
P g i n a | 94
Styles xml
<resources>
</resources>
Manifests
<!-- To auto-complete the email text field in the login form with the
user's emails -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
P g i n a | 95
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name=".SectorsConfig"
android:label="Editar Mensajes"
android:theme="@style/AppTheme" />
<activity
android:name=".SectorEdit"
android:label="Editar"
android:theme="@style/AppTheme" />
<activity
android:name=".TutorialActivity"
android:label="Tutorial" />
<activity
android:name=".MainActivity"
/>
<activity android:name=".RegisterActivity"></activity>
</application>
</manifest>
package com.paint.sinamistudio.ruletadenewton;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
/**
* Instrumentation test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing
documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() throws Exception {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("com.paint.sinamistudio.ruletadenewton",
appContext.getPackageName());
P g i n a | 96
}
}
package com.paint.sinamistudio.ruletadenewton;
import org.junit.Test;
/**
* Example local unit test, which will execute on the development machine
(host).
*
* @see <a href="http://d.android.com/tools/testing">Testing
documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() throws Exception {
assertEquals(4, 2 + 2);
}
}
GRADLE SCRIPTS
Build Gradle
// Top-level build file where you can add configuration options common to
all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
allprojects {
repositories {
jcenter()
}
}
delete rootProject.buildDir
}
Model
android {
compileSdkVersion 25
buildToolsVersion "25.0.1"
defaultConfig {
applicationId "com.paint.sinamistudio.ruletadenewton"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-
core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:design:25.0.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
testCompile 'junit:junit:4.12'
}
Gradle properties
Settings gradle
include ':app'
P g i n a | 99
Local properties
MENU / MAIN_MENU.XML
<item
android:id="@+id/menu_start"
android:title="Girar"
android:orderInCategory="100"/>
<item
android:id="@+id/menu_message"
android:title="Mensajes"
android:orderInCategory="300"/>
<item
android:id="@+id/menu_developed"
android:title="Desarrolladora"
android:orderInCategory="300"/>
</menu>
VALUES/ STRINGS.XML
<resources>
<string name="app_name">RAGD</string>
<string name="title">Gira la Ruleta de Newton</string>
<string name="stronger">Venga, grala un poco ms fuerte</string>
<string name="add">Aadir</string>
<string name="done">Hecho</string>
<string name="reset">Reset</string>
<string name="delete">Eliminar</string>
<string name="menu_config">Configurar</string>
<string name="config">Configuracin</string>
<string-array name="predefined">
<item>Problema</item>
<item>Problema</item>
P g i n a | 100
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
<item>Problema</item>
</string-array>
<string-array name="Superacion">
<item>Porque todo lo bueno empieza con miedo</item>
<item>Quien quiere hacer algo encuentra un medio, quien no quiere
hacer
nada encuentra una excusa</item>
<item>Nacimos para ser felices no para ser perfecto</item>
<item>Hoy vas a conquistar el cielo sin mirar lo alto que queda del
suelo</item>
<item>Sonre! hoy es un da excelente, para estar orgulloso de
quien eres</item>
<item>Hoy mralo de otra manera ES TU DA</item>
<item>Hoy me he puesto una sonrisa que combina con todo</item>
<item>Una persona positiva convierte sus problemas en retos nunca
en obstculos</item>
<item>Nunca dejes de intentar por miedo a equivocarte</item>
<item>Si el plan no funciona cambia el plan pero no cambies la
meta</item>
<item>Se positivo!</item>
<item>No te rindas nunca los campeones no se rinden</item>
<item>Lo que se rinden nunca ganada nada</item>
<item>Levntate y sigue...</item>
<item>Sonre como si tu da fuera el ultimo.
La vida empieza cada 5 minutos , disfrtala.
Encontraras el significado de la vida si tu lo creas.
Cuando una puerta se cierra , otra se abre.</item>
<item>Tu meta es el mejor sueo que tendrs</item>
<item>Rendirse no te lleva a nada...</item>
<item>A la cima no se llega superando a los demas, sino a ti
mismo</item>
<item>Desecha tristezas y melancolias, la vida es una sola</item>
<item>Nadie que dio lo mejor de si mismo lo ha lamentado</item>
<item>El mayor placer de la vida es hacer lo que la gente te dice
que no eres capaz de hacer</item>
<item>Tu mente es libre ten el coraje de seguirla</item>
<item>Cuando nada es seguro todo es posible</item>
<item>Enamorat de tu vida...</item>
<item>Toda persona tiene capacidad para cambiarse a si mismo
...</item>
<item>Si se quiere se puede ....</item>
<item>Seamos realistas y hagamos lo imposible...</item>
</string-array>
</resources>
P g i n a | 101
Anexo D
Figura 2. Registrarse
Figura 4. Menu
Figura 5. Tutoriales
P g i n a | 105
Figura 7. Girar
Figura 9. Creditos
Anexo E
P g i n a | 111
Audios
Tutorial
Pas 1
Bienvenido a RAGD
Espero que usted est listo para olvidar sus problemas
Para iniciar Ud deber
Ingresar sus problemas en cada casilla con una sola palabra significativa
Pas 2
Girar la ruleta
Presione girar; concentra tu mirada en la funcin de los colores y ve cmo se funcionan los
colores convirtindose en la nada
Pas 3
Reljate !!!
Bueno ya llegamos al punto final, entonces Ud est en una situacin de relajacin absoluta ,
Ud est apto para continuar su vida con xito y ser una persona totalmente exitosa, Ud lo puede
todo , no se rinda, hoy es su da!!!
Anexo
P g i n a | 112
rbol de Problemas
Anexo
P g i n a | 113
rbol de obj
Aumento de Felicidad, tranquilidad Disminucin del ritmo de
productividad laboral e aceptacin trabajo, mayor tranquilidad
Disminucin de la presin
Aumento del al momento de realizar
rendimiento laboral un trabajo
Incrementar un
Aumento de Mejorar el entorno Reducir la jornada ambiente de trabajo
motivacin social laboral ms relajado