Que es B4A (Basic4Android): no es parte de Visual Basic ni de Java, pero se
relaciona con ambos porque usa un lenguaje muy parecido a Visual Basic y genera
aplicaciones que se ejecutan sobre Android usando Java bajo VB de la siguiente
manera.
¿Qué es B4A?
B4A (Basic4Android) es un entorno de desarrollo (IDE) creado por Anywhere
Software para programar aplicaciones Android usando un lenguaje similar a Visual
Basic (entornos de formularios para apps de celulares y entornos Windows con otra
versión)
Permite crear apps Android sin escribir código directamente en Java o Kotlin.
Usa un lenguaje llamado B4X, que se parece mucho a Visual Basic (VB).
Internamente, el código se compila y se conecta con las bibliotecas de Android
escritas en Java. Su código final es java que puedes instalar en el celular. Incluso
puedes conectar con SQL server de Ms.
Para SQL solo hay que tener la librería de conexión, conocer el nombre de la base de
datos, usuario y los puertos para realizar la conexión.
PROGRAMACION B4A: JAVA VISUAL BASIC: TALLER UTP, CURSO DE JAVA,
SQL SERVER
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 1
¿Para qué sirve B4A?
B4A sirve para crear aplicaciones Android de forma mucho más sencilla que usando
Java o Kotlin.
Ideal para quienes vienen del mundo de Visual Basic o quieren una curva de
aprendizaje suave.
Con B4A puedes crear:
Apps móviles completas
Apps empresariales
Apps con interfaces visuales
Apps que usan base de datos
Apps con sensores, cámara, GPS, etc.
Juegos básicos.
AL final hay un ejemplo para conectar a la Base de datos SQL server de Microsoft y
el servidor ( modo resumen) para eso el estudiante debe conocer algo básico de
sentencias SQL y la conexión como también los puertos 1433.
PROGRAMACION B4A: JAVA VISUAL BASIC: TALLER UTP, CURSO DE JAVA,
SQL SERVER
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 2
PASOS PARA DESARROLLAR APLICACIONES EN B4A BASIC EN EL CELUALR
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 3
INSTALAR B4B BRIDGE EN EL CELULAR PARA VER EL IP Y CONECTAR PC
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 4
INSTALAR B4B BRIDGE EN EL CELULAR PARA VER EL IP Y CONECTAR PC
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 5
COMPILANDO EL PROGRAMA Y SELECIONAMOS EL CELULAR SAMSUNG
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 6
DISEÑO DE LA APLICACIÓN, AJUSTAR A LA PANTALLA REAL
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 7
CORRIDA DE LA APLICACIÓN YA COMPILADA, LADO DERECHO
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 8
PROGRAMACION B4A: JAVA VISUAL BASIC: TALLER UTP, CURSO DE JAVA,
SQL SERVER
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 9
PROGRAMACION B4A: JAVA VISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL
SERVER
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 10
PROGRAMACION B4A: JAVA VISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL
SERVER
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 11
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 12
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 13
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 14
PROGRAMACION B4A: JAVA VISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL
SERVER código fuente. Taller utp panama
#Region Project Attributes
#ApplicationLabel: SQLS2014
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
' Prof. Emilio Batista H.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#AdditionalJar: jtds-1.3.1.jar
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#BridgeLogger: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim sql1 As JdbcSQL ' driver de coneccion descomprimir y copiar Librerias AnySoftware
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim ConnStr, DBName, UserName, PasswordTb As EditText ' IP,DB,usuario,Password
Dim SQLText As EditText ' Query donde select * from DbTabla
Dim Button2 As Button ' Boton de consulta query
Dim Pref As PreferenceManager
Private ImageView1 As ImageView
Private ImageView2 As ImageView
End Sub
Sub Activity_Create(FirstTime As Boolean)
Dim ATx As String
Activity.LoadLayout("Main") ' Formulario Main
' cargar la imagen de la de base de datos sqlserver 2014
ImageView1.Bitmap = LoadBitmap(File.DirAssets, "db1gif.gif")
ImageView2.Bitmap = LoadBitmap(File.DirAssets, "nas1gif.gif")
Button2.Enabled = False
If FirstTime = True Then
DisableStrictMode
End If
ATx = Pref.GetString("ConnStr")
If ATx.Length > 0 Then ConnStr.Text = ATx
ATx = Pref.GetString("DBName")
If ATx.Length > 0 Then DBName.Text = ATx
ATx = Pref.GetString("UserName")
If ATx.Length > 0 Then UserName.Text = ATx
ATx = Pref.GetString("PasswordTb")
If ATx.Length > 0 Then PasswordTb.Text = ATx
ATx = Pref.GetString("SQLText")
If ATx.Length > 0 Then SQLText.Text = ATx
End Sub
Sub sql1_Ready (Success As Boolean)
Try
ProgressDialogHide
Log(Success)
If Success = False Then
Log("Conneccion error")
MsgboxAsync("Conneccion error" & CRLF & LastException,"")
Log(LastException)
Return
End If
Button2.Enabled = True
MsgboxAsync("Conneccion Ok ","")
Catch
Log(LastException)
End Try
End Sub
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 15
PROGRAMACION B4A: JAVA VISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL
SERVER
Sub Button1_Click
Try
' aqui se hace la conexion con la base de datos SQLserver 2019
'sql1.InitializeAsync("Connect", "net.sourceforge.jtds.jdbc.Driver", "jdbc:jtds:sqlserver:" & ConnectStr &
";databaseName=" & DBName & ";user=skdata;password=shopkeeper;appname=SKMJL;wsid=" & S &
";loginTimeout=10", "skdata", "shopkeeper") 'sql 2012
sql1.InitializeAsync("sql1", "net.sourceforge.jtds.jdbc.Driver", "jdbc:jtds:sqlserver:" & ConnStr.Text &
";databaseName=" & DBName.Text & ";user=" & UserName.Text & ";password=" & PasswordTb.Text &
";appname=SKMJL;wsid=TEST;loginTimeout=10;socketTimeout=10", "", "") 'sql 2012
ProgressDialogShow("Tratando de conectar Server SQL ")
Catch
Log("connection con error ")
Log(LastException.Message)
Return
End Try
End Sub
Sub Button2_Click
' aqui se ejecuta el query de la consulta select P from tabala V_grupo1IL131 vista;
Dim MS As String, Xcon As Int ' MS= Edit.text = SQLText.text recibe los datos
Dim BB As String ' para espaciar y concatenar con coma;
Try
sql1.ExecQueryAsync("QryTest", SQLText.Text, Null)
ProgressDialogShow("Executing Query")
Wait For QryTest_QueryComplete (Success As Boolean, Crsr As JdbcResultSet)
ProgressDialogHide
BB= " ; " ' para espaciar con coma;
'iis="x(i)= " & i & " yp = " & yps ' concatenar las variables
'ListaC= iis & yp
If Success = True Then
Do While Crsr.NextRow
'MS = MS & CRLF & Crsr.GetString2(2) ' 0=llave, 1=cedula, 2=nombre, 5=ahorro, 6=Navidad, 7=prendario
MS = MS & CRLF & Crsr.GetString2(1) & CRLF & Crsr.GetString2(2) & BB & Crsr.GetString2(3) & BB &
Crsr.GetString2(4) & BB & Crsr.GetString2(5) & BB & Crsr.GetString2(6) & BB & Crsr.GetString2(7)
Xcon=Xcon+1 ' contador de registros
Sleep(0)
Log(Xcon)
'If Xcon=10 Then Exit para salir
Loop
Crsr.Close ' cerramos el cursor
MsgboxAsync("Utp Consula HPII Java listaOk Top " & Xcon & " Valores de variables" & CRLF & MS, "")
Else
MsgboxAsync("Error en el Query ","")
End If
Catch
Log(LastException)
MsgboxAsync(LastException,"")
End Try
End Sub
Sub Activity_Pause (UserClosed As Boolean)
' comentarios comando: Pref.SetString("clave", "valor")
' se utiliza para guardar una cadena de texto (String) en las preferencias del
dispositivo, es decir,
' en un almacenamiento persistente que permanece incluso después de cerrar la
aplicación.
Pref.setString("ConnStr", ConnStr.Text)
Pref.setString("DBName", DBName.Text)
Pref.setString("UserName", UserName.Text)
Pref.setString("PasswordTb", PasswordTb.Text)
Pref.setString("SQLText", SQLText.Text)
End Sub
Sub DisableStrictMode
Dim jo As JavaObject
jo.InitializeStatic("android.os.Build.VERSION")
If jo.GetField("SDK_INT") > 9 Then
Dim policy As JavaObject
policy =
policy.InitializeNewInstance("android.os.StrictMode.ThreadPolicy.Builder", Null)
policy = policy.RunMethodJO("permitAll", Null).RunMethodJO("build", Null)
Dim sm As JavaObject
sm.InitializeStatic("android.os.StrictMode").RunMethod("setThreadPolicy",
Array(policy))
End If
End Sub
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 16
10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 17

A4B Java , visual basic ppt operacion Base Datos II 2026.pdf

  • 1.
    Que es B4A(Basic4Android): no es parte de Visual Basic ni de Java, pero se relaciona con ambos porque usa un lenguaje muy parecido a Visual Basic y genera aplicaciones que se ejecutan sobre Android usando Java bajo VB de la siguiente manera. ¿Qué es B4A? B4A (Basic4Android) es un entorno de desarrollo (IDE) creado por Anywhere Software para programar aplicaciones Android usando un lenguaje similar a Visual Basic (entornos de formularios para apps de celulares y entornos Windows con otra versión) Permite crear apps Android sin escribir código directamente en Java o Kotlin. Usa un lenguaje llamado B4X, que se parece mucho a Visual Basic (VB). Internamente, el código se compila y se conecta con las bibliotecas de Android escritas en Java. Su código final es java que puedes instalar en el celular. Incluso puedes conectar con SQL server de Ms. Para SQL solo hay que tener la librería de conexión, conocer el nombre de la base de datos, usuario y los puertos para realizar la conexión. PROGRAMACION B4A: JAVA VISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL SERVER 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 1
  • 2.
    ¿Para qué sirveB4A? B4A sirve para crear aplicaciones Android de forma mucho más sencilla que usando Java o Kotlin. Ideal para quienes vienen del mundo de Visual Basic o quieren una curva de aprendizaje suave. Con B4A puedes crear: Apps móviles completas Apps empresariales Apps con interfaces visuales Apps que usan base de datos Apps con sensores, cámara, GPS, etc. Juegos básicos. AL final hay un ejemplo para conectar a la Base de datos SQL server de Microsoft y el servidor ( modo resumen) para eso el estudiante debe conocer algo básico de sentencias SQL y la conexión como también los puertos 1433. PROGRAMACION B4A: JAVA VISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL SERVER 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 2
  • 3.
    PASOS PARA DESARROLLARAPLICACIONES EN B4A BASIC EN EL CELUALR 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 3
  • 4.
    INSTALAR B4B BRIDGEEN EL CELULAR PARA VER EL IP Y CONECTAR PC 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 4
  • 5.
    INSTALAR B4B BRIDGEEN EL CELULAR PARA VER EL IP Y CONECTAR PC 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 5
  • 6.
    COMPILANDO EL PROGRAMAY SELECIONAMOS EL CELULAR SAMSUNG 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 6
  • 7.
    DISEÑO DE LAAPLICACIÓN, AJUSTAR A LA PANTALLA REAL 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 7
  • 8.
    CORRIDA DE LAAPLICACIÓN YA COMPILADA, LADO DERECHO 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 8
  • 9.
    PROGRAMACION B4A: JAVAVISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL SERVER 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 9
  • 10.
    PROGRAMACION B4A: JAVAVISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL SERVER 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 10
  • 11.
    PROGRAMACION B4A: JAVAVISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL SERVER 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 11
  • 12.
    10/02/2026 Prof. IngEmilio Batista him, Sql, java, b4a 12
  • 13.
    10/02/2026 Prof. IngEmilio Batista him, Sql, java, b4a 13
  • 14.
    10/02/2026 Prof. IngEmilio Batista him, Sql, java, b4a 14
  • 15.
    PROGRAMACION B4A: JAVAVISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL SERVER código fuente. Taller utp panama #Region Project Attributes #ApplicationLabel: SQLS2014 #VersionCode: 1 #VersionName: 'SupportedOrientations possible values: unspecified, landscape or portrait. ' Prof. Emilio Batista H. #SupportedOrientations: unspecified #CanInstallToExternalStorage: False #AdditionalJar: jtds-1.3.1.jar #End Region #Region Activity Attributes #FullScreen: False #IncludeTitle: True #BridgeLogger: True #End Region Sub Process_Globals 'These global variables will be declared once when the application starts. 'These variables can be accessed from all modules. Dim sql1 As JdbcSQL ' driver de coneccion descomprimir y copiar Librerias AnySoftware End Sub Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Dim ConnStr, DBName, UserName, PasswordTb As EditText ' IP,DB,usuario,Password Dim SQLText As EditText ' Query donde select * from DbTabla Dim Button2 As Button ' Boton de consulta query Dim Pref As PreferenceManager Private ImageView1 As ImageView Private ImageView2 As ImageView End Sub Sub Activity_Create(FirstTime As Boolean) Dim ATx As String Activity.LoadLayout("Main") ' Formulario Main ' cargar la imagen de la de base de datos sqlserver 2014 ImageView1.Bitmap = LoadBitmap(File.DirAssets, "db1gif.gif") ImageView2.Bitmap = LoadBitmap(File.DirAssets, "nas1gif.gif") Button2.Enabled = False If FirstTime = True Then DisableStrictMode End If ATx = Pref.GetString("ConnStr") If ATx.Length > 0 Then ConnStr.Text = ATx ATx = Pref.GetString("DBName") If ATx.Length > 0 Then DBName.Text = ATx ATx = Pref.GetString("UserName") If ATx.Length > 0 Then UserName.Text = ATx ATx = Pref.GetString("PasswordTb") If ATx.Length > 0 Then PasswordTb.Text = ATx ATx = Pref.GetString("SQLText") If ATx.Length > 0 Then SQLText.Text = ATx End Sub Sub sql1_Ready (Success As Boolean) Try ProgressDialogHide Log(Success) If Success = False Then Log("Conneccion error") MsgboxAsync("Conneccion error" & CRLF & LastException,"") Log(LastException) Return End If Button2.Enabled = True MsgboxAsync("Conneccion Ok ","") Catch Log(LastException) End Try End Sub 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 15
  • 16.
    PROGRAMACION B4A: JAVAVISUAL BASIC: TALLER UTP, CURSO DE JAVA, SQL SERVER Sub Button1_Click Try ' aqui se hace la conexion con la base de datos SQLserver 2019 'sql1.InitializeAsync("Connect", "net.sourceforge.jtds.jdbc.Driver", "jdbc:jtds:sqlserver:" & ConnectStr & ";databaseName=" & DBName & ";user=skdata;password=shopkeeper;appname=SKMJL;wsid=" & S & ";loginTimeout=10", "skdata", "shopkeeper") 'sql 2012 sql1.InitializeAsync("sql1", "net.sourceforge.jtds.jdbc.Driver", "jdbc:jtds:sqlserver:" & ConnStr.Text & ";databaseName=" & DBName.Text & ";user=" & UserName.Text & ";password=" & PasswordTb.Text & ";appname=SKMJL;wsid=TEST;loginTimeout=10;socketTimeout=10", "", "") 'sql 2012 ProgressDialogShow("Tratando de conectar Server SQL ") Catch Log("connection con error ") Log(LastException.Message) Return End Try End Sub Sub Button2_Click ' aqui se ejecuta el query de la consulta select P from tabala V_grupo1IL131 vista; Dim MS As String, Xcon As Int ' MS= Edit.text = SQLText.text recibe los datos Dim BB As String ' para espaciar y concatenar con coma; Try sql1.ExecQueryAsync("QryTest", SQLText.Text, Null) ProgressDialogShow("Executing Query") Wait For QryTest_QueryComplete (Success As Boolean, Crsr As JdbcResultSet) ProgressDialogHide BB= " ; " ' para espaciar con coma; 'iis="x(i)= " & i & " yp = " & yps ' concatenar las variables 'ListaC= iis & yp If Success = True Then Do While Crsr.NextRow 'MS = MS & CRLF & Crsr.GetString2(2) ' 0=llave, 1=cedula, 2=nombre, 5=ahorro, 6=Navidad, 7=prendario MS = MS & CRLF & Crsr.GetString2(1) & CRLF & Crsr.GetString2(2) & BB & Crsr.GetString2(3) & BB & Crsr.GetString2(4) & BB & Crsr.GetString2(5) & BB & Crsr.GetString2(6) & BB & Crsr.GetString2(7) Xcon=Xcon+1 ' contador de registros Sleep(0) Log(Xcon) 'If Xcon=10 Then Exit para salir Loop Crsr.Close ' cerramos el cursor MsgboxAsync("Utp Consula HPII Java listaOk Top " & Xcon & " Valores de variables" & CRLF & MS, "") Else MsgboxAsync("Error en el Query ","") End If Catch Log(LastException) MsgboxAsync(LastException,"") End Try End Sub Sub Activity_Pause (UserClosed As Boolean) ' comentarios comando: Pref.SetString("clave", "valor") ' se utiliza para guardar una cadena de texto (String) en las preferencias del dispositivo, es decir, ' en un almacenamiento persistente que permanece incluso después de cerrar la aplicación. Pref.setString("ConnStr", ConnStr.Text) Pref.setString("DBName", DBName.Text) Pref.setString("UserName", UserName.Text) Pref.setString("PasswordTb", PasswordTb.Text) Pref.setString("SQLText", SQLText.Text) End Sub Sub DisableStrictMode Dim jo As JavaObject jo.InitializeStatic("android.os.Build.VERSION") If jo.GetField("SDK_INT") > 9 Then Dim policy As JavaObject policy = policy.InitializeNewInstance("android.os.StrictMode.ThreadPolicy.Builder", Null) policy = policy.RunMethodJO("permitAll", Null).RunMethodJO("build", Null) Dim sm As JavaObject sm.InitializeStatic("android.os.StrictMode").RunMethod("setThreadPolicy", Array(policy)) End If End Sub 10/02/2026 Prof. Ing Emilio Batista him, Sql, java, b4a 16
  • 17.
    10/02/2026 Prof. IngEmilio Batista him, Sql, java, b4a 17