Lunes 01 de septiembre de 2014

Dinno Vezzoni

Dinno Vezzoni
- Android

Desactivar buzon de voz en celulares Android


Después de mucho buscar y buscar en la red para ver si podía desactivar el buzón de voz, y no encontrar ninguna solución práctica me puse a ver como funcionaba el sistema operativo del celular. Lo que encontré es que después de un determinado tiempo sin atender cuando te están llamando, se activaba el desvío de llamada (al cual se accede con un numero diferente según la empresa que se este usando) así que probé con alterar ese numero y funcionó!!!
Me llamé desde un celular y desde un fijo. Lo que hace es dar ocupado si no atendés el teléfono después de un tiempo en vez de engancharte con el buzón de voz.

Los pasos son los siguientes:

Ir a 1- Ajustes
2 - Ajustes de llamada
3 - Desvió de llamada
4 - Línea ocupada

5 - una vez dentro borran dos o tres números del numero que aparece y oprimen el botón Actualizar

Ahora, en el sub-menú Desvió de llamada ( 3 ) no solo aparece Línea ocupada ( 4 ) sino que están también Llamada sin respuesta y No se establece la llamada.

Así que entran a cada uno de estos dos y repiten el paso 5.

Esto va para la versión del Android 2.1 o 2.3.x

Ahora para Kit Kat 4.4.4 (4.4.x)


1) Ir al icono de llamada
2) Ir al menú que está representado por --tres puntitos uno arriba del otro--
3) Dentro de ese menu, ir a --Configuración--
4) Desvio de llamadas
5) Desviar si está ocupado
6) Ahí dentro, quitar el último número del teléfono que aparece
7) Y tocar en --Actualizar--
8 ) Repetir pasos 6 y 7 para --Desviar si no contesta-- y para --Desviar si no está disponible--

Cuando nos llamen y no contestemos, despues de sonar 5 veces (para quien se intenta comunicar) pasara del bip de llamada al de ocupado.
Dinno Vezzoni

Dinno Vezzoni
- Android

Notificaciones flotantes de WhatsApp al estilo de Facebook Messenger

Con Facebook Home llegaron las llamadas notificaciones Chat Heads a la aplicación de Facebook Messenger. Se trata de una forma de recibir notificaciones desde cualquier pantalla de nuestro smartphone y que nos permite responder sin necesidad de abrir la aplicación, simplemente haciendo clic sobre la burbuja. A continuación les explico cómo conseguir esta función en WhatsApp o cualquier aplicación de chat.


Para conseguirlo solo necesitamos una aplicación llamada Seebye Chat Heads, que se encuentra disponible en Google Play Store de forma totalmente gratuita. Se trata de un módulo de Framework y, por eso, necesitaremos ser usuarios root. Además, tendremos que concederlo permisos de Accesibilidad, los cuales se activan automáticamente cuando iniciamos la aplicación.

Descargar Seebye Chat Heads

Gracias a esta aplicación conseguiremos que las notificaciones de WhatsApp aparezcan en cualquier pantalla con un pequeño círculo, que a su vez contendrá la fotografía de nuestro contacto. Al hacer clic sobre tal burbuja nos saldrán tres opciones, entre ellas ver el mensaje. Al hacer clic ahí se abrirá una ventana con la conversación y prodemos escribir directamente.


De la misma forma que en Facebook Messenger, podremos situar la burbuja en cualquier lugar de la pantalla, para que no estorbe nuestro visionado, y para eliminarla solo tendremos que encaminarla hacia la "X". En este punto he de decir que no funciona de la misma forma que en Messenger, donde podemos deslizar la burbuja; hay que mantenerla seleccionada hasta que la eliminemos.

Descarga: You are not allowed to view links. Register or Login

Fuente: androidpit

Viernes 29 de agosto de 2014

Dinno Vezzoni

Dinno Vezzoni
- Android

Diez comandos ADB Shell que deberias conocer.


Una de las muchas razones por la que una gran cantidad de usuarios elegimos Android es por la facilidad de uso y las muchas cosas que podemos hacer cuando conectamos nuestro dispositivo al ordenador. Muchas veces, al actualizar el teléfono o tablet a una nueva versión, ponerle una ROM cocinada o conseguir permisos de superusuario (root), necesitamos tener más contacto con el aparato que el que nos da el programa que usemos en ese instante (Odín en los Samsung, por ejemplo). El ADB (Android Debug Bridge) es un programa para ordenador que nos servirá de puente para conectar nuestros androides a la computadora y poder así interaccionar con ellos de una forma más “avanzada” y completa. Vamos a ver cómo se hace y algunos comandos básicos.

Para los usuarios de Linux o Mac, necesitarán instalar el SDK de Android tal y como se explica en el sitio web oficial. No es difícil si se siguen las pautas señaladas.

Para los que usan Windows es tan sencillo como descargar este archivo, abrir el zip y descomprimir en algún lugar la carpeta “android-tools“. Si no tenemos los drivers de nuestro teléfono instalado, deberemos buscarlos e instalarlos. Luego de instalar el archivo ADB.exe, podemos continuar.

Citar
Es importante tener la “Depuración USB” activada en nuestro androide para que todo funcione perfectamente

1. Comando adb device



Este comando es el más importante de todos, ya que es el que nos dirá si nuestro dispositivo Android se comunica bien con el equipo. Después de tener todos los archivos en la misma carpeta (la que sacamos antes del zip), simplemente debemos arrancar la consola de terminal (ADB) y escribir “adb devices” (sin las comillas). Si nos sale un número de serie, es que todo está correcto. Si por el contrario, no sale nada, tendremos que asegurarnos de que lo tenemos todo bien (drivers, depuración USB…).

2. Comando adb push


Con adb push moveremos un archivo directamente de nuestro ordenador a nuestro dispositivo Android.  Este comando viene bien cuando queremos mover archivos a directorios del sistema o cuando no tenemos ganas de hacer un drag & drop y queremos practicar un poco de uso de consola. Para mover un archivo es necesario conocer la ruta del teléfono en la que lo queremos depositar. Si, por ejemplo, queremos mover un archivo de vídeo cualquiera, deberemos colocar éste en la carpeta android-tools que hablábamos antes. Luego, escribiremos en la consola: adb push superfreak.mp4 /sdcard/Movies/; y ya estará en nuestro terminal en la carpeta movies.

3. Comando adb pull


Todo lo contrario a lo anterior. Si queremos coger un archivo de nuestro androide y llevarlo al ordenador, simplemente deberemos utilizar el comando “adb pull“. Es casi lo mismo que hicimos antes. Si queremos extraer el archivo del teléfono, por ejemplo, el que pasamos en el ejemplo anterior, la cosa sería tal que: adb pull superfreak.mp4 /sdcard/Movies/; y el archivo irá a parar de sdcard/Movies/ a nuestra carpeta tools en el ordenador. Si queremos moverlo a un directorio en particular escribiremos, después del comando adb pull y el directorio de recogida, la ruta en nuestro ordenador a la que deseamos mover el archivo: C:\Users\Aitor\Desktop; para moverlo al escritorio, por ejemplo.

4. Comando adb reboot


Hace simplemente lo que dice. Reinicia el dispositivo mediante la consola. Es una manera sencilla de reiniciar el teléfono si lo necesitamos en algún momento cuando estemos usando ADB. Sólo hay que escribir “adb reboot” y ya está. Reiniciando…

5. Comandos adb reboot-bootloader y reboot recovery


No sólo podemos reiniciar el dispositivo, sino también acceder al bootloader. Esta es una de las herramientas más ventajosas de este modo, a veces las combinaciones de botones se vuelven tediosas y queremos hacer las cosas de una manera más sencilla. Acceder al bootloader nos puede servir para muchas cosas (root, cambiar ROM…). Únicamente deberemos teclear “adb reboot-bootloader” y ya estaremos dentro.

En el caso del “reboot recovery” nos servirá para entrar en modo recovery. Muchas ROMs traen por defecto un cuadro de diálogo que nos posibilita el reiniciar en este modo, pero siempre viene bien tener una manera más de acceder en la recámara.

6. Comando fastboot devices



Cuando estamos en el bootloader, los comandos de ADB ya no funcionan. Esto es porque no estamos aún en Android, el sistema operativo del teléfono no ha arrancado del todo aún. En este caso, usamos el comando fastboot.

Puede que este sea uno de los comandos más potentes de los que hay disponibles. Hay que tener en cuenta que muchos dispositivos no lo tienen habilitado y si así, necesitaremos estar seguros de que ambos equipos se están comunicando (PC y Android). Si queremos saber si disponemos de fastboot, únicamente deberemos escribir “fastboot devices” y debería salirnos un número de serie (al igual que en adb devices).

Si el comando no funciona y estamos en Windows, tocará revisar los drivers y recorrer los foros especializados en busca de ayuda.

7. Comando fastboot oem unlock


El santo grial de los comandos de ADB para Android. Éste hace una cosa y sólo una, desbloquea los Nexus (o HTC mediante su herramienta oficial). Si tenemos un teléfono de un fabricante distinto, tendremos un método distinto en cada caso (Odín para Samsung, por ejemplo). En este último caso, este comando no nos sirve de nada. Se incluye aquí porque, aún sin necesitarlo, es una parte importante del sistema de código abierto de Android.

A Google le da lo mismo lo que hagamos con nuestros dispositivos, y nos provee de esta herramienta para desbloquear el teléfono. Esto es algo que en otras compañías no se ve, y es una de las razones por las que muchos eligen Android.

Usarlo es sencillo. Una vez habiendo usado el fastboot para saber que todo está bien comunicado, sólo debemos escribir “fastboot oem unlock“ y darle a intro. Luego toca mirar el terminal, leer cuidadosamente y elegir las opciones sabiamente.

¡¡Cuidado!!: Utilizando “fastboot oem unlock”, se borrará todo el contenido del dispositivo


8. Comando adb shell


El comando adb shell es uno de los que más confusiones crea. Hay dos maneras de usarlo: uno donde se envía un comando al dispositivo para ejecutar en su propio shell la línea de comandos, y otra donde estaremos verdaderamente dentro del shell de comandos desde el terminal. En la imagen de arriba, el usuario está dentro del shell del dispositivo, viendo los archivos y las carpetas. Llegar ahí es muy fácil, sólo tienes que escribir “adb shell“. Una vez dentro, podemos ser root si lo creemos necesario. A menos que estemos familiarizados con la ejecución de acciones por comandos, no deberemos tocar nada. Es necesario tener mucho cuidado en este nivel. Las cosas pueden volverse difíciles si no se tiene cuidado.

Normalmente se usa para tareas más avanzadas como cambiar los permisos de los archivos o carpetas, o ejecutar una secuencia de comandos. Simplemente hay que escribir “adb shell <comando>“. Un ejemplo sería cambiar los permisos de un archivo, así: “adb shell chmod 666 / data / archivo“. Mucho cuidado al usar este método.

9. Comando adb install



Este es un comando sencillo. Nos servirá para instalar aplicaciones en nuestro androide. Y al igual que los comandos pull y push, deberemos especificar la ruta en la que queremos posicionar el archivo a instalar. Un ejemplo sería mover un apk a la carpeta android-tools y luego poner en la consola “adb install Aplicacion.apk“. También podemos usar un comando para actualizar una aplicación específica. Esto se consigue añadiendo el sufijo “-r“ a la sentencia anterior. Por lo que quedaría: “adb install -r Aplicacion.apk“.

Y tal como instalamos, también podemos desinstalar. Hay un comando que nos sirve para desinstalar aplicaciones, este sería: “adb uninstall Aplicacion.apk“. Si añadimos un sufijo “-k” nos dejará los datos de la aplicación y caché en la memoria.

10. Comando adb logcat


El comando adb logcat es uno de los más útiles para algunos usuarios. Sobre todo si son cocineros o desarrolladores de aplicaciones. Cuando lo escribimos, nos devuelve una ingente cantidad de eventos escritos en diversos registros sobre el funcionamiento del sistema. Proporciona información muy valiosa para el desarrollador, ya que de aquí puede deducir qué fallo tiene su aplicación.

Para ver el registro en la pantalla del ordenador, sólo tienes que escribir “Logcat adb“ y pulsar enter. Puede que todo vaya bastante rápido y es posible que no encontremos lo que andamos buscando. Hay dos maneras de solucionar esto: los filtros y la salida de texto.

El filtro se usa cuando un desarrollador puso una etiqueta en un sitio del programa y quiere ver qué pasa justo ahí. Si es necesario, el creador nos dará la sentencia necesaria a poner en la consola. Por el contrario, la salida de texto es más fácil. Nos dará toda la información del logcat, contenido en un archivo de texto (.txt). Para ejecutarlo, sólo deberemos poner “adb Logcat> archivo.txt” y dejar que todo fluya como el viento entre los campos de maíz. Al terminar, cerraremos con CTRL+C. Encontraremos el archivo de registro completo guardado en el directorio en el que estemos trabajando (posiblemente android-tools). Ese archivo es el que debemos enviar al desarrollador.

Es importante tener en cuenta que el informe puede llevar información confidencial. Deberemos asegurarnos de borrar todo lo que no queramos que el desarrollador sepa sobre nosotros, abriendo el editor de texto (bloc de notas) y borrando lo que creamos oportuno.
Y ya está

Y éso es todo. Ahí están los diez comandos más usados en ADB para Android y que nos ayudarán a entender un poco más este mundillo. Aparte de que seguro nos serán de bastante utilidad ahora o en el futuro. Si queremos aprender más, en internet hay muchísimos manuales sobre esto. Aunque nosotros hemos creído oportuno poner estos por ser los más usados y recurridos. Espero que les haya sido de ayuda.


Fuente:
You are not allowed to view links. Register or Login






Lunes 18 de agosto de 2014

Ubica tu telefono Android perdido y elimina sus datos con las cuentas de Cyanogenmod

A todos los usuarios de teléfonos con Android, siempre les doy recomendaciones para usar Cyanogenmod, una modificación del sistema operativo que incluye mejoras y optimizaciones para mejorar la experiencia de uso en el dispositivo. Entre sus ventajas existe una poco conocida: la posibilidad de ubicar tu teléfono y eliminar todos los datos en caso de pérdida. Algo muy útil en caso de robo, pérdida del teléfono por descuido, entre otros.

Para ello, solo debes entrar la configuración del teléfono y luego en la sección de cuentas, allí veras la opción para crear una cuenta de Cyanogenmod y listo. Luego podrás acceder a sitio de las cuentas de Cyanogenmod y tu dispositivo debe aparecer listado.

Opciones del dispositivo con Cyanogenmod

Opciones del dispositivo con Cyanogenmod

Entre las opciones puedes ver Ubicación, donde la aplicación web se conecta remotamente con el teléfono y a través del servicio de localización te muestra su posición en Google Maps (el teléfono debe tener activada la opción de ubicación precisa, de lo contrario no funciona). De esto modo, en caso de pérdida del dispositivo, sabrás su ubicación exacta y puedes intentar recuperarlo.

Ubicacion con Cyanogenmod

Punto en el mapa donde se encuentra ubicado el teléfono

El otro servicio disponible es el de Borrado remoto, para cuando des por perdido tu teléfono y deseas que el ladrón no tenga acceso a tu información, al eliminarla por completo. También esta opción es útil para borrar toda los datos antes de instalar otra ROM.

Aunque son funcionalidades simples, son añadidos extra que posee esta ROM, ademas a diferencia de servicios similares, es gratuito y respeta la privacidad de los datos, pues según ellos, toman poca información y no es comercializada a terceros.

Espero que haya sido útil esta información y que no tengan que utilizarla algún día.

Jueves 05 de junio de 2014

Victor Orozco (Tuxtor)

Victor Orozco (Tuxtor)
El abismo de tux » Android

Creando un instalador de Windows 7 desde tu telefono Android con Linux

Como bien menciona el largo y absurdo titulo de esta entrada, recientemente recibí la pregunta de como crear un “disco de instalación” de Windows 7 para que funcione con DriveDroid, específicamente como hacerlo desde Linux. Dejo también como referencia un post donde explica la creación del disco desde Windows. Para crear el instalador sera necesario… Read More »

Sábado 10 de mayo de 2014

Triple arranque en tu Nexus 4: Android, Firefox OS y Ubuntu Touch

Buscando como instalar Firefox OS, encontré un tutorial para instalar varios sistemas operativos en el telefóno en un Nexus 4. Al principió me sorprendió porque no sabía la posibilidad de instalar un gestor de arranque en estos dispositivos y permitir al usuario escoger que sistema arrancar, todo esto es posible gracias al programa MultiROM Manager. Este programa permite dentro de Android, instalar un nuevo Recovery (con opciones multiarranque), descargar e instalar ROMS para luego reiniciar en ellas, sin complicaciones para un usuario promedio.

Para instalarlo, simplemente:

  1. Descargalo del Market.
  2. Selecciona MultiROM y el Recovery.
  3. Haz clic/toque en Instalar y espera a que termine de instalar

Para este proceso se requiere acceso root y para usuarios avanzados pueden cambiar el Kernel de Android (en mi caso, no sé por qué Cyanogenmod no instaló su propio kernel) por uno precompilado con varias mejoras incluídas.

Instalar Ubuntu Touch

Para instalar Ubuntu Touch, el proceso es automatizado, pues MultiROM Manager tiene una opción llamada ‘Install Ubuntu Touch’ simplemente selecciona el canal (si quieres una versión de desarrollo o estable), selecciona la versión mas alta y presiona Instalar, espera la descarga automáticamenta de los archivos necesarios y su posterior instalación en el equipo. Cuando solicite reiniciar, debes hacerlo de inmediato (no me funcionó cuando reinicie mas tarde).

Instalar Firefox OS

Para instalar Firefox OS, debes:

  1. Buscar una ROM de Firefox OS para el Nexus 4 o compilar tu propia imagen.
  2. Copiar el archivo .zip en el teléfono.
  3. Reiniciar el modo recovery (con MultiROM Manager puedes hacerlo)
  4. Ir a Advanced -> MultiROM -> Add ROM (para agregar la imagen).
  5. En el tipo de ROM seleccionamos  ‘Android’ (El núcleo de Firefox OS es similar a Android).
  6. Selecciona ‘Don’t share kernel’ y luego en Next (porque se va a usar un núcleo no Android)
  7. Selecciona el archivo ZIP.
Arranque por defecto Seleccion del sistema operativo Nexus 4 con Android 4.4 Nexus 4 con Ubuntu Phone Menu de Ubuntu Phone Menu de Ubuntu Phone Nexus 4 con Firefox OS Firefox 1.4 en el Nexus 4 Firefox dentro de Firefox OS en un Nexus 4

Disculpen la calidad de las fotos pues fueron tomadas con un teléfono sencillo

Multi-arranque

Luego, gracias al recovery que utiliza MultiROM, podrás seleccionar cual de los 3 sistemas operativos debe arrancar al momento de encendido. Esto te permite fácilmente cambiar entre un S.O. sin estar escribiendo en la memoria flash y haciendo respaldo de tus datos, permitiendo escoger tu plataforma favorita.

Debido a estos hacks/programas, me gusta comprar teléfonos como el Nexus 4, pues dan mas libertad para realizar este tipo de cosas. Aunque creo que ya Google no los vende, se suele conseguir en algunas tiendas en línea.

¡Happy Hacking!

Fuente original: Addictivetips

Miércoles 07 de mayo de 2014

Victor Orozco (Tuxtor)

Victor Orozco (Tuxtor)
El abismo de tux » Android

DriveDroid, la joya perdida para instalar Linux desde tu telefono Android

Una de las criticas más comunes a Android es que la mayoría de aplicaciones son feas o están a medio hornear, y pues que puedo decir . . . en parte concuerdo con ellas. Sin embargo de tanto en tanto aparecen aplicaciones que te recuerdan porque es bueno tener dispositivos hackeables y una de las… Read More »

Domingo 04 de mayo de 2014

Curso Programming Mobile Applications for Android Handheld Systems

Programming Mobile Applications for Android Handheld Systems

Coursera me acaba de enviar mi certificado por haber culminado con ditinción el curso Programming Mobile Applications for Android Handheld Systems. Este curso es avalado por la universidad de Maryland y dictado por Dr. Adan Porter.

Algo interesante a resaltar sobre este curso de Android es lo bien estructurado que está, además de la calidad de los videos y las asignaciones. Me recordó mucho a algunos proyectos que tuve que realizar en mi universidad, ya que están bien organizados y con cosas específicas para realizar. De hecho la evaluación de los proyectos se realizan de forma automática con unos JUnits. El proyecto final si es evaluado por otros participantes del curso (4 en total).

Para este curso tome la opción del Signature Track, que es la modalidad de pago donde se valida que quien realiza las asignaciones es quien dice ser, usando un software de reconocimiento de patrón de escritura y con verificación de la foto del estudiante (al final del curso los asistentes del instructor verifican estas fotos). Con estas validaciones otorgan un certificado que puede ser verificado en las siguientes URLs:

Si estas interesado en este curso, puedes acceder al contenido del mismo en el enlace proporcionado arriba.

Domingo 20 de abril de 2014

Reproductor de vídeo con python y kivy

De los dos artículos anteriores, el introductorio con manejo de etiquetas; y el de botón y scatter ahora explicaré algo más completo, la reproducción de un vídeo.

Este artículo se basa en inglés sobre un reproductor de vídeo y scatter con kivy.

Ahora se mostrará como asociar un evento (una función) al botón al darle clip.

A continuación el código del reproductor:

#Se importa kivy y se valida que es la versión 1.8.0

import kivy

kivy.require('1.8.0')



#Se importa la clase App

from kivy.app import App

#Se importa Button, Widget y VideoPlayer

from kivy.uix.button import Button

from kivy.uix.widget import Widget

from kivy.uix.videoplayer import VideoPlayer



#Se instancia Widget y Button.

parent= Widget()

button= Button()



#Se crea la clase MyApp que hereda de App

class MyApp(App):

    #Se define el método build.

    def build(self):

         #Se instancia Button con su texto y tamaño del  mismo.

         button = Button(text='Reproductor Video', font_size=14)

         #Se asocia al boton la función on_button_press al argumento on_press

         button.bind(on_press=on_button_press)  

         #Se agrega button a la instancia de parent

         parent.add_widget(button) #agrega el boton

         #Retorna parent 

         return parent



#Se define la función on_button_press

def on_button_press(self):

        #Se crea la instancia de VideoPlayer donde se le pasa como argumento la fuente de vídeo,

        #el estado y la opción allow_stretch True.

        video= VideoPlayer(source='Tribus-SethGodin.webm', state='play',options={'allow_stretch': True})

        #Se agrega el vídeo a la instancia parent

        parent.add_widget(video) #add videoplayer

        #Se retorna parent

        return parent

     

if name == 'main':

    MyApp().run()





El resultado de reproducir el script se muestra en el siguiente vídeo:
Nota: El vídeo del reproductor no tiene problemas con el audio, el problema generador de screencast no he logrado hacer que grabe audio :-/ ...


Si desea conocer más sobre el widget VideoPlayer puede ver el siguiente enlace.

Sábado 19 de abril de 2014

Desarrollo de aplicaciones multiplataforma con python y kivy

Kivy es una librería que permite usar python para crear aplicaciones para el escritorio y dispositivos móviles con soporte multitouch.

Es multiplataforma:
Soporta:

  • Linux (Debian, Ubuntu, Fedora, ArchLinux, etc). 
  • Raspberry Pi
  • IOS de Apple
  • OSX de Apple
  • Windows
  • Android


Para descargarlo pueden visitar la página del proyecto.

En el caso de Debian en la versión estable (wheezy) toca instalarlo vía pip o bajar la fuente del enlace anterior.
pip install kivy (aplica para cualquier versión de Debian o distro basada en Debian).

Para el caso de la versión de pruebas (Jessie) ya viene en los repositorios de Debian:
apt-get install python-kivy python3-kivy python-kivy-examples


Para más información del proyecto pueden visitar su wiki en github.

El ejemplo que se explicará es el de una ventana con una etiqueta que diga "Hola Mundo!", la primera versión contendrá todo el código en un script en python y la siguiente versión se separa el script python de las características de los widgets.

Código del hola mundo versión 1:
#!/usr/bin/env python

#Se importa kivy

import kivy

#Se válida que se esté usando la versión 1.8.0 de kivy

kivy.require('1.8.0')



#Se importa la clase App y el widget Label

from kivy.app import App

from kivy.uix.label import Label



#Se crea la clase HolaApp que hereda de App

class HolaApp(App):

    #Se crea la función build

    def build(self):

        #Se retorna el widget Label con un texto y el tamaño del mismo

        return Label(text='Hola Mundo!!!',

                     font_size=100)







if name == "main":

    #Se instancia la clase y se ejecuta

    HolaApp().run()

El script se llamará hola.py.

A continuación se muestra la figura del resultado de la ejecución del script:



La versión 2 del hola mundo se diferencia del primero por que ahora se manejará dos archivos, hola2.py y hola2.kv, su nombre tiene relación con el nombre de la clase que se crea y es la forma como python y kivy reconoce los archivos que necesita ejecutar.

A continuación el código de hola2.py:
#!/usr/bin/env python

#Se imposta kivy

import kivy

#Se valida que se use la versión 1.8.0 de kivy

kivy.require('1.8.0')



#Se importa la case App y el widget Label

from kivy.app import App

from kivy.uix.label import Label



#Se crea la Clase Hola2App que hereda de App

class Hola2App(App):

    #Se define la función build que retorna el widget Label

    #Esta vez sin ningún argumento ya que será manejado por el archivo hola2.kv

    def build(self):

        return Label()





if name == "main":

    #Se instancia la clase Hola2App y se ejecuta.

    Hola2App().run()



Código del archivo hola2.kv:
# File name: hola2.kv

#:kivy 1.8.0

:

  text: 'Hola mundo v 2!'

  font_size:100

Este archivo tiene la descripción de la etiqueta, con el parámetro text y font_size, esto facilita tener ordenada y cambiar los parámetros de los widgets sin tener que modificar código.

El resultado de la ejecución del script hola2.py se muestra en la siguiente figura:


En siguientes artículos se seguirá explicando el uso de los widgets y como instalar la librería en Android y crear aplicaciones para Android.


Lunes 03 de marzo de 2014

Curso Creative, Serious and Playful Science of Android Apps

Coursera androidapps101 2014 Computer Science and Programming Badge

Hace poco me llegaron los reconocimientos del curso de Android Creative, Serious and Playful Science of Android Apps dictado por Lawrence Angrave de la Universidad de Illinois en Urbana-Champaign. El curso está diseñado para aprender a desarrollar aplicaciones Android desde cero, por lo que si deseas aprender a desarrollar para esta plataforma este es un buen punto de partida. Los videos son en inglés, pero existen subtítulos en español e inglés, por lo que el idioma no es una barrera.

Los reconocimientos

Los reconocimientos que me otorgaron fueron:

  • Statement of Accomplishment: Esto es como un certificado de cumplimiento del curso con 70% o más. Yo obtuve 94.6%
  • Computer Science and Programming Badge: Esta es una especie de insignia que dan también por haber aprobado con más de 70%.

Estos reconocimientos no son los que dan con el Signature Track, el cual  permite compartir esta calificación con un sistema de validación comprobable, a cambio de $49 que se debe pagar para este beneficio.

Domingo 02 de marzo de 2014

Oliver Rivas

Oliver Rivas
orvtech.com

Conectarse a Twitter y Facebook usando TOR para proteger tu privacidad

The Onion Ring (TOR) protege tu privacidad haciendo que tu conexión navegue a través de una red distribuida por todo el mundo. Evita que alguien malintencionado o un gobierno totalitario se de cuenta que sitios visitas y al mismo tiempo que sitios malintencionados sepan tu ubicación geográfica.

La instalación en dispositivos Android es sencilla y configurar el cliente oficial de Twitter para que navegue por esta red es aun mas facil como lo puedes ver en este video.

Como ven el procedimiento es fácil y una vez instalada ORBOT en cuestión de segundos pueden tener el cliente oficial de Android configurado para que use como proxy HTTP la IP 127.0.0.1 a través del puerto 8118. Cabe destacar que a pesar de que mi tablet tiene acceso a root en ningún momento me pidio autorizacion para usar el modo super usuario asi que esto debería de funcionar en teléfonos o tablets sin acceso a root.

Las aplicaciones que use en este video las pueden descargar desde el Play Store de Google.



Y para Facebook como hago?

En el caso de Facebook recomiendo usar Tinfoil for Facebook y configurar el HTTP Proxy, Puedes descargar la aplicación directo desde el Play Store . Si quieres saber mas de esta aplicación hecha por un Venezolano no dejes de pinchar en Tinfoil Facebook: funcional y respeta tu privacidad.

Aquí les dejo una captura de pantallas que les muestra como configurar Tinfoil for Facebook, usen los mismos datos para el proxy que usaron para configurar twitter (127.0.0.1 a través del puerto 8118).

Configurar TOR en Tinfoil for Facebook


Desde la computadora.

Si también quieres mayor privacidad desde tu computadora puedes usar TOR Browser Bundle que es una suite the software que incluye el cliente de TOR y una versión de Firefox pre-configurada para usar este cliente. Tor Browser Bundle soporta distintas versiones de los sistemas operativos Windows, Linux y Mac OS X.

Martes 25 de febrero de 2014

qBittorrent Client para Android

Descarga la aplicación

Si estás interesado en esta aplicación puedes instalarla desde Google Play o descargando directamente el apk de qBittorrent Client en tu dispositivo. También puedes descargar el código en GitHub ya que está liberado bajo licencia GPL.

Características

  • Vista de dos páneles (fragments) para el listado de torrents y el detalle en la misma ventana
  • Menú desplegable para cambiar entre los listados de torrents: All, Downloading, Completed, Paused, Active and Inactive
  • Pausar o iniciar todos los torrents del listado actual
  • Actualización automática del listado despues de ejecutar una acción en un torrent (pausar, iniciar, or delete)
  • Add URL directly or by clicking the torrent link on your device’s browser
  • Pause, resume, delete or delete individual torrents with its downloaded data
  • Set and save a connexion account

Phone’s view



Tablet’s view





Lunes 09 de diciembre de 2013

Victor Orozco (Tuxtor)

Victor Orozco (Tuxtor)
El abismo de tux » Android

Como instalar Gentoo en un telefono Nexus 5

Recientemente llego a mis manos un teléfono Nexus 5 que cuenta con hardware bastante interesante (y una bocina que convierte a Manowar en zarabanda locochona) por lo que decidí aprovecharlo e instalarle la mejor distribución Linux del universo, Gentoo Linux. Para instalar Gentoo en un teléfono con Android, es necesario apoyarse de un proyecto desarrollado… Read More »

Domingo 04 de agosto de 2013

Mejorar la privacidad en celulares y tabletas con Android

Las famosas filtraciones donde se sabe que revisan en tiempo real todo el tráfico en Internet, donde Microsoft, Apple, Facebook, skype, Google entre otros colaboran para permitir el acceso de datos/información de sus usuarios a la NSA.

¿Qué nos queda a los usuarios por hacer?

El sitio de noticias Rusia Today(10 trucos para burlar el espionaje de la NSA en Internet) da unos tips de como mejorar la privacidad, en este caso tocaré el tema sólo de dispositivos móviles (celulares y tabletas) con el Sistema Operativo Android.

A continuación los tips de que hacer:

  1. Cambiar Android por alguna versión de CyanogenMod.
  2. RedPhone: Provee cifrado de llamadas punto a punto.
  3. K-9 mail: Sustituto al cliente de correo por defecto de Android (gmail). Se puede integrar con apg para cifrar/descifrar los correos. 
  4. Orbot: Es un proxy tor que permite navegación anónima en Internet en los dispositivos con Sistema Operativo Android.
  5. APG: Permite administrar llaves pgp/gpg para cifrar o descifrar archivos y correos. Se puede integrar con k-9 mail.
  6. Gibberbot: Permite conectar mensajeria como jabber y google talk de forma segura con OTR, así que desde equipos de escritorio se puede usar pidgin con OTR para una comunicación cifrada de los mensajes punto a punto.
  7. Line: Sustituto a whatsapp que maneja el tráfico cifrado.
  8. TextSecure: Permite envíar SMS/MMS de forma cifrada y cifrar dichos SMS/MMS en el dispositivo en caso de robo del equipo.
  9. CSipSimple: Permite realizar llamadas de VoIP, es una alternativa a skype.
  10. PGP SMS Lite: Permite cifrado asimétrico por medio de llaves pgp/gpg apoyado en una infraestructura de clave pública.
  11. F-Droid: Alternativa libre a la tienda de aplicaciones de Android.
  12. Prey Anti Robos: Es una aplicación anti robos que permite rastrear y ubicar tu celular o tableta android o laptop. 


En un futuro a mediano plazo estaré migrando este blog a wordpress con un dominio propio y comunicación por medio de https en vez de http siguiendo el ejemplo de wikipedia y como lo menciona este  artículo en Internet.





Lunes 20 de mayo de 2013

Evento de Android en el Instituto Universitario de Tecnología “Antonio Jose de Sucre”

Este próximo jueves 23 y viernes 24 de Mayo del 2013 desde las 9:00am, se realizará una serie de conferencias y charlas sobre Android en el Instituto Universitario de Tecnología “Antonio Jose de Sucre”, la asistencia es libre y gratuita. Si les interesa conocer mas sobre este sistema operativo líder de los dispositivos móviles no faltes.

Por mi parte, estaré dando una ponencia de las versiones de Android modificadas (ROMS personalizadas), la programación del evento pueden verla en el afiche oficial.

Se habla Android

Afiche del evento “Se habla Android”

Esperamos su asistencia y avisen sobre el evento a compañeros de la región.

Martes 19 de marzo de 2013

Galaxy Nexus (YakjuXW) se actualiza mediante OTA (Android 4.2.1).

88386Seguramente los que han comprado un Samsung Galaxy Nexus han visto que desde hace tiempo aún no les habían recibido las última actualización de Google y aún están con la 4.1.1, esto es debido a que su equipo es YakjuXW y no el modelo soportado de Google “Yakju“. Esto no quiere decir que uno sea mejor que el otro, ambos son el mismo equipo, mismo hardware y especificaciones, solo que los productos “YakjuXW” reciben soporte directamente desde Samsung, algo que para nosotros resulta realmente descabellado cierto? ya que al tener un Nexus todos deberíamos tener la última versión por igual; mientras que los modelos “Yakju” si reciben vía OTA las exclusivas versiones de Google.

Pero, ¿Por qué mi Nexus es YakjuXW y no Yakju?

Se había hablado al respecto de que los productos “YakjuXW” eran aquellos subsidiados por las operadoras, tales como “Verizon, Movistar, Yoigo”, etc. Y que los libres de origen (unlock factory) eran los de Google, es decir, los “Yakju“, pero esto resulta una lotería, ya casi todos los libres vienen así, al igual que los de algunas operadoras vienen con el soporte de Google. Esto no es para nada malo como comenté arriba, hay una manera muy fácil de convertirlo a Yakju.

Ahora, en el día de hoy, para los que no se han atrevido cambiar de ROM por la de Google, les tengo una buena noticia, ya tenemos android 4.2.1, con las mejoras que ya conocemos.

Esta versión por supuesto corrige varios errores, como la ausencia del mes de Diciembre en el calendario de los contactos, mayor compatibilidad con dispositivos Bluetooth, como gamepads, y mayor optimización. Si no les ha llegado ninguna notificación se puede intentar forzar la actualización borrando los datos del Marco de servicios de Google desde Ajustes > Aplicaciones > Todas y comprobando actualizaciones desde Ajustes > Información del teléfono > Actualizaciones del sistema.

Recuerden, primero debemos saber que tipo de versión de teléfono tenemos, para ello se verifica en Google Maps > Ajustes > Ajuste de > Dispositivo, allí verán si son yakju o yakjuxw.


Lunes 19 de noviembre de 2012

Opciones de desarrollo en android (Ice Cream Sandwich)

A partir de Ice Cream Sandwich apareció una nueva opción en el menú de Ajustes de nuestro teléfono. El apartado, llamado “Opciones de desarrollo“, agrupa todas las opciones relacionadas con la depuración del dispositivo, las entradas al sistema y el control de las aplicaciones. Ahí, podremos activar o desactivar ciertos aspectos del teléfono para que determinadas aplicaciones funcionen a pleno rendimiento o para que puedan acceder a ciertas zonas del sistema. Intentaré desgranar una a una todas las opciones para que no sea difícil entender para qué sirve cada una.

Iniciar herramientas

En esta apartado entramos a las opciones del sistema. No es recomendable tocar nada si no conocemos lo que vamos a cambiar. Aquí tendremos la posibilidad de testear y cambiar ciertos parámetros que no son recomendables para novatos en la materia.

Contraseñas copias ordenador

Aquí podremos hacer una copia de seguridad completa de nuestro teléfono en el ordenador. Según entremos, nos pedirá una contraseña para ejecutar la copia. Esta opción es necesaria para ejecutar ciertos programas, como el que presentamos para el Galaxy Nexus no hace mucho y que no necesitaba de permisos root para hacer los backups.

Pantalla activa

Nos permitirá dejar la pantalla encendida, o mejor dicho, desactivar el apagado automático de la pantalla, cuando el teléfono esté en carga o esté ejerciendo procesos en primer plano.

Comprobación HDCP

Aquí podremos activar o desactivar el control de protección de contenido digital. Para más información sobre este tipo de control de archivos multimedia, visiten este enlace.

Proteger TarjetaSD

Si lo activamos, protegeremos la tarjeta SD frente a cualquier aplicación que desee leer o escribir contenido en ella. Para que las aplicaciones puedan entrar, deberemos concederles permiso. Es posible que algunas aplicaciones fallen al activar este modo.

Acceso Administrativo

En este apartado podremos decidir si concedemos (o no) acceso administrativo a las aplicaciones, al ADB o a ambos.

Depuración USB

Ésto permitirá que algunas aplicaciones accedan a todo el sistema, así como para acceder a ciertos aspectos del sistema en modo depuración. Para los no iniciados en la materia, se suele activar para que funcione el Titanium Backup y más aplicaciones de ese tipo.

ADB sobre TCP/IP

Activa la opción anterior y permite conectar el terminal al ADB usando las interfaces Wifi o 3g.

Notificar depuración USB

Nos mostrará una notificación en el área de notificaciones cada vez que la depuración USB este activada. Muy útil si queremos desactivarla por algún motivo.

Ubicaciones y SMS simulados

Nos permitirá, en algunos casos, conectar el dispositivo a un GPS externo (entre otros usos). En el caso de los mensajes, nos servirá para simular el envío y recepción de SMS. Éso no quiere decir “simular que enviamos o recibimos un sms, como ciertas apps de la Play Store”, sino que se usa para labores de depuración de aplicaciones.

Aplicación para depurar

Por si queremos establecer una aplicación para depurar.

Mostrar pulsaciones / Ubicación del puntero

En este apartado, podremos ver si nuestro terminal reconoce exactamente el punto donde ponemos el dedo en la pantalla. Las pulsaciones se mostrarán como un círculo azul y, en la parte superior de la pantalla, nos saldrán las coordenadas del puntero. Una opción muy útil para ver si nuestra pantalla reconoce bien nuestras pulsaciones y conocer las coordenadas en la pantalla de éstas.

Mostrar límites de diseño

Si la activamos, veremos todos los márgenes de los elementos de la pantalla.

Actualizaciones GPU

Actualizará las vistas de las ventanas creadas con GPU cada vez que las abramos o cambiemos la posición de la pantalla. Ésto nos ayudará, en algunos casos, a aliviar la carga del procesador.

Cambios de superficie

Cada vez que el sistema reinicie una parte de la pantalla, ésta se reiniciará. Si activamos la opción (¡CUIDADO!) veremos cómo el teléfono se llena de colores y cambian rápidamente debido a lo citado anteriormente.

Escalas varias

Simplemente la escala a la que queremos ver las distintas opciones que ahí se detallan. En ella podremos alterar las velocidades a las que se muestra una ventana emergente, por ejemplo. Si ponemos la escala de animación de ventana a 10x, notaremos que ésta se abre mucho más lento.

Inhabilitar superposiciones HW

Activa la GPU para que se encargue de la combinación de las distintas pantallas.

Forzar aceleración GPU

Mejora el rendimiento del sistema bastante al dar mayor trabajo a la GPU y liberar la CPU.

Modo estricto

Si una aplicación se queda colgada, o tarda mucho en desarrollar su labor, destellará en la pantalla principal y podremos cerrarla sin problema.

Mostrar uso de la CPU

Mostrará los valores del uso de la CPU que tenga el terminal en cada momento en un lateral de la pantalla.

Habilitar seguimientos

Destruir actividadesPodremos activar el seguimiento de ciertos procesos del sistema, como el View, el Activity Manager o el Sync Manager.
Esta opción permite al sistema destruir los procesos inactivos. Es decir, que matará las aplicaciones en cuanto dejemos de usarlas.
Limitar procesos en segundo plano

En este apartado podremos escoger la cantidad de procesos en segundo plano que queremos permitir al sistema ejecutar. La variación va desde cero hasta cuatro. Aunque existe la posibilidad de dejar un límite estándar, que es el que el sistema considera oportuno en cada momento.

Errores sin respuesta

Si lo activamos nos informará, con una notificación emergente, siempre que una aplicación se quede “colgada“. Es decir, que no responda.

Botón volver

Gracias a esta opción podremos cerrar las aplicaciones haciendo una pulsación larga en el botón volver. Las aplicaciones cerradas de este modo no quedan en segundo plano y se cerrarán por completo, por lo que no aparecerán en el menú de aplicaciones recientes.

Y ya está

Básicamente, éso es todo. Cabe recordar que la mayoría de estas opciones son para quiénes saben lo que están tocando. Por lo que, salvo excepciones puntuales (como comentaba con el Titanium Backup & cía), no es conveniente andar jugando con ellas.

Espero que este repaso haya servido de ayuda y despejado algunas dudas. Es bueno conocer lo que tiene uno entre manos, aunque no lo use salvo en contadas ocasiones.


Julio Cesar Hernandez Garcia

Julio Cesar Hernandez Garcia
El Espacio Que Necesitaba!!!» Android

Creación de Planeta Android

En lo conversado con David, me surgió la idea de crear un planeta relacionado con Android, de nombre seria PlanetaAndroid(aprovechar todo lo creado en planetalinux), la idea es que los interesados creen una categoría en su blog, ya que hacen publicaciones de hack, aplicaciones, recomendaciones y todo lo relacionado con esta plataforma, soy uno de los tantos que me gustaría leer post de blogueros sobre dichas recomendaciones.

Que necesitamos: Gente son su blogs para participar.

Nombre y Apellido:
Blog con Categoría Android:
País:
Correo Electrónico:
Twitter.

Muchos ya conviven en planetalinux y se nos hará fácil ubicarlos, pero no gustaría que mencionaran el querer participar en este nuevo proyecto.

Pueden hacer replicar a este Ticket en Github o el post, con los datos que se piden.

Gracias por su atención

:-)

Martes 13 de noviembre de 2012

Julio Cesar Hernandez Garcia

Julio Cesar Hernandez Garcia
El Espacio Que Necesitaba!!!» Android

Como devolver Huawei U8220(Movilnet) de Android 2.2(Froyo) a Rom de Movilnet 2.1

Saludos, este post lo hago ya que no existe una información clara de como devolverse a la ROM original de Movilnet.

Yo actualice mi teléfono a la versión 2.2 con el gran manual que hizo Carlos Guerrero Android 2.2 y con el de Zizou que si esta arriba Zizou Android, resulta que tengo problemas con la Wifi Mac de este teléfono y no haya como resolverlo, entonces me da por ir a atrás a devolverla a la versión original a ver si puedo corregir el problema. se pasa de la siguiente manera, antes de eso hago una aclaratoria importante sobre lo que van hacer
A pesar de que estos proyectos te ayudan a sacar mayor provecho a tu Android, NO ME HAGO RESPONSABLE por equipos bloqueados, tarjetas SD muertas, ni por la guerra termonuclear ni por la crisis económica actual. Por favor investiga acerca de las características incluidas en estas ROM antes de flashearlas. USTED esta eligiendo hacer estas modificaciones y si me señalas a mi por dañar tu equipo, me reiré.

Paso para Realizar el cambio

1- Luego de eso hacemos lo siguiente obtenemos la ROM original de Movilnet, Descargar Rom Movilnet, luego que descargamos la ROM.

2- Conectamos nuestro celular a la computadora y descomprimamos el archivo dentro de la SD, si usan linux lo harían así.
Movemos el archivo a nuestra raíz de la SD y luego descomprimimos
unzip ROM_U8220_V100R001C32B820_Venezuela_Movilnet.zip
Luego de eso, nos generara una carpeta llamada U8220 V100R001C32B820b(Venezuela Movilnet), dentro de esa carpeta encontramos una carpeta dload, la cual la colocamos en la raíz principal, este sera el archivo que no hará devolver a la ROM original de Movilnet.

3- Desconectamos el celular de la conexión USB a nuestro computador y Luego que apagamos el celular.

4- Ejecutamos el modo BootLoader, lo arrancamos de la siguiente manera, mantenemos apretado el botón de subir volumen + tecla roja(finalizar llamada) + botón de encendido(Encendido).

5-Empezaran a ver que arranca y dice Unpacking, el cual inicia 2 fases para devolver a la versión anterior de Android, es recomendable tener buena carga de batería para ese procedimiento, luego que el completa los pasos 2/2, sacamos la batería del celular, cuando salga la palabra restarting.

6-Para que se coloque en practica lo que hicimos anteriormente, ejecutamos de la siguiente manera el encendido de nuestro teléfono, mantenemos apretado el botón de subir volumen + tecla roja(finalizar llamada) + botón de encendido(Encendido), es decir repetimos el paso 4. en ese mismo momento nos saldrán unas palabras Preparing to Update…

7- Luego encendemos nuestra teléfono de la manera normal y corriente, y volveremos a tener nuestro teléfono con Android 2.1 versión de original de Movilnet. Empezamos a configurarlo nuevamente.

Espero que sea útil para los que tenían dudas de como volver a una versión anterior

Miércoles 09 de noviembre de 2011

Oliver Rivas

Oliver Rivas
orvtech.com

Tinfoil Facebook: funcional, respeta tu privacidad y es gratis!

Para aquellos que se preocupan por su privacidad, Tinfoil Facebook crea un contenedor virtual o sandbox mantener la sesión de *.facebook.com abierta sin necesidad de usar el browser de Android. La implementación de este sandbox evita que Facebook tenga records de las paginas que visitas, protegiendo así tu privacidad.

Creo que todos los que nos enteramos de que el cliente nativo y

System Message: WARNING/2 (/srv/pelican.orvtech.com/www/htdocs/content/tinfoil-facebook-funcional-privacidad.rst, line 16)

Line block ends without a blank line.

oficial de esta popular red social cuelga toda la información de nuestro contactos incluso los que no pertenecen a Facebook en sus servidores, agradecemos esta aplicación. Aquí les dejo unas capturas de pantalla. | [gallery link="file"]

Para los escépticos, el autor ha publicado su código fuente en: https://github.com/velazcod/Tinfoil-Facebook. Puedes instalar esta aplicación directo desde el Google Play Store también conocido como Android Market haciendo click aquí.

UPDATE Nov 11, 2011: La aplicación fue excluida del market por

System Message: WARNING/2 (/srv/pelican.orvtech.com/www/htdocs/content/tinfoil-facebook-funcional-privacidad.rst, line 31)

Line block ends without a blank line.

problemas de copyrights (creo que seria por el Logo). Mientras la vuelven a incluir en el Google Play Store también conocido o Android Market, pueden descargarla pinchando aquí. | Si quieren mas información sobre Tinfoil for Facebook pueden seguir su pagina en Google+ aquí https://plus.google.com/u/0/105813640651548251704/posts. |

Martes 18 de octubre de 2011

Oliver Rivas

Oliver Rivas
orvtech.com

Envenenamiento de tablas ARP desde el Android

Alguna vez haz querido sacar a alguien de la red WFI donde estas? bien sea simplemente por jugar o el típico 'si no es para mi, tampoco para ti!' como cuando alguien consume todo el ancho de banda descargando necedades. Ahora no tienes que usar la laptop/computadora para esto.

La aplicación wifikill permite desconectar a quien desees de la red WIFI usando envenenamiento de tablas ARP

La aplicación WiFiKill para usuarios con root en su dispositivo Android busca en tu red por dispositivos conectados y luego te da las opciones de desconectar a alguien en particular o de desconectarlos a todos. Aquí les dejo unas capturas de pantalla desde mi HTC Evo 4G:

Wifikill nos permite elegir a quien afectar con este ataque al ARP tables

Wifikill nos permite elegir a quien afectar con este ataque a las tablas ARP.

Solo el iPhone sin acceso a internet, sigue conectado pero no logra comunicarse

Solo el iPhone sin acceso a internet, sigue conectado pero no logra comunicarse.

Dejando a todos sin acceso a internet, siguen conectados pero no logran comunicarse

Dejando a todos sin acceso a internet, siguen conectados pero no logran comunicarse.



Probé esta aplicación por sugerencia de Daniel Velazco en un Ale's House y funciono sin problemas... desde entonces me he divertido un par de veces en un café cercano a mi casa.

La aplicación podía ser descargada del Google Play Store también conocido como Android Market pero por lo que veo justo ahora que estoy a punto de publicar este articulo, esta ha sido excluida. El autor de la aplicación la tiene disponible para que la descarguen en formato APK desde su foro.

Recuerden que en algunos países es ilegal obstruir la libre comunicación y que el uso de WikiKill y su responsabilidad recae solo en ustedes (yo me lavo las manos).