|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
   AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

B4A en español - Juan Antonio Villalpando
(BASIC4Android)

-- Tutorial de B4A --

Volver al índice del tutorial

____________________________

76.- Widgets. Servicios.

Un Widgets es un pequeño programa situado en la pantalla de inicio del Android.

_________________
- Designer.

 

Designer - Layout

1.- Creamos un nuevo proyecto llamado Widgets.
Vamos al Designer y ponemos una Label y un Button como indica la figura.

2.- Guardamos el Designer (File / Save) con el nombre layout

3.- Copiamos el código de la ventana de abajo.

Podemos ejecutar el programa. Lo único que hace por ahora es cerrar el propio programa cuando pulsamos el botón.

 

 


_________________
- Código.

Copia y pega este código.
Sub Process_Globals
    ' Juan Antonio Villalpando
    ' juana1991@yahoo.com
    ' kio4.com
    ' 20 de septiembre de 2013
End Sub

Sub Globals

End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("layout")

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub Button1_Click
ExitApplication
End Sub

___________________________
- Creación del Servicio.

- Creamos un nuevo módulo de servicio de esta manera Project / Add New Module / Service Module.
- Le vamos a llamar servicio

- Aquí lo tenemos: servicio

- Estando en servicio vamos al Designer y creamos un nuevo layout.

Designer - Layout

En este nuevo layout, ponemos un Panel y dentro del Panel tres botones: Button1, Button2, Button3 y un Label1 (el color de texto del Label1 en rojo).

En la figura de la derecha se ve el Panel blanco y encima de él los tres botones.

A un botón le nombramos como Inicio, otro Navegador y otro Calculadora.

 

Este layout lo guardamos (File / Save) con el nombre layout_widget

Tenemos dos layout: layout y layout_widget7

Si queremos ir a uno u otro vamos al Designer / File / Open

NOTA: si ponemos el Panel transparente (Alpha=0) no se verá.

- Vamos al código del servicio y pegamos el siguiente código:

Copia y pega este código en servicio.
'Service module
Sub Process_Globals
    Dim rv As RemoteViews
    Dim Timer1 As Timer
    Dim tiempo As Int
End Sub

Sub Service_Create
    tiempo = 0
    rv = ConfigureHomeWidget("layout_widget", "rv", 0, "Este es mi Widget")

    Timer1.Initialize("Timer1", 1000) ' 1000 = 1 segundo
    Timer1.Enabled = True
    Dim Label1 As Label

End Sub

Sub Service_Start (StartingIntent As Intent)
    If rv.HandleWidgetEvents(StartingIntent) Then Return
End Sub

Sub rv_RequestUpdate
' Subrutina de actualización
    rv.SetText("Label1", tiempo)
    rv.UpdateWidget
End Sub

Sub rv_Disabled
    StopService("")
End Sub

Sub Service_Destroy

End Sub
Sub Button1_Click
  StartActivity(Main)
End Sub

Sub Button2_Click
Dim i As Intent
i.Initialize(i.ACTION_MAIN, "")
i.SetComponent("com.android.browser/.BrowserActivity")
StartActivity(i)
End Sub

Sub Button3_Click
Dim i As Intent
i.Initialize(i.ACTION_MAIN, "")
i.SetComponent("com.android.calculator2/.Calculator")
StartActivity(i)
End Sub

Sub Timer1_Tick
tiempo = tiempo + 1
rv_RequestUpdate
End Sub

En la línea...

rv = ConfigureHomeWidget("layout_widget", "rv", 0, "Este es mi Widget")

El 0 significa que el Widget no se actualiza, si quisieramos un Widget que se actualilzara cada cierto tiempo como un reloj, conectar con una web de previsión del tiempo, una posición de GPS, etc... pondríamos en vez del 0, la cantidad de segundos a los que queremos que se actualice.

_________________________________
- Ya lo tenemos. Lo ejecutamos.

Localización del Widget

Pulsamos el botón de casa para ir a la pantalla de inicio.
Tal vez no halla sitio para poner nuestro Widget, así que desplazamos la pantalla hacia la izquierda.


Pulsamos un par de segundos sobre la pantalla y obtendremos esta ventana...

Pulsamos en Widgets

 


Ejecución del Widget

Aquí tenemos nuestro Widget.


Aquí está en funcionamiento...

_________________
- Comentarios.

Se puede interpretar fácilmente lo que hace nuestro Widget. Tiene tres botones, el primero nos llevará a la pantalla de inicio del programa.
El segundo botón nos llevará a un Navegador Web y el tercer botón lanzará la Calculadora.

En fin, creo que jugando un poco con él, podemos interpretar su funcionamiento.
_________________________________________________

- Para borrar el Widget pulsamos un par de segundos sobre él. Saldrá abajo de la pantalla una papelera, lo arrastramos a la papelera.

________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información