Programación > Programación en Android

Basic4Android Programen en BASIC sus programas Android

(1/3) > >>


El programa es pago, pero se puede conseguir lo saben :P

--- Citar ---Basic4android es un entorno de desarrollo simple pero poderoso que se dirige a los dispositivos Android.
Basic4android idioma es similar al lenguaje Visual Basic con el apoyo adicional de los objetos.
Basic4android aplicaciones compiladas son nativos de las aplicaciones de Android, no hay tiempos de ejecución adicionales o dependencias.
A diferencia de otros IDEs Basic4android está 100% enfocada en el desarrollo de Android.
Basic4android incluye un diseñador de gran alcance de GUI con soporte integrado para múltiples pantallas y orientaciones. No es necesario escribir XML.
Usted puede desarrollar y depurar con el emulador de Android o con un dispositivo real (o USB conectado en la red local).
Basic4android tiene un rico conjunto de bibliotecas que facilitan el desarrollo de aplicaciones avanzadas.
Esto incluye: bases de datos SQL, GPS, puertos serie (Bluetooth), la cámara, el análisis de XML, servicios Web (HTTP),
Servicios (tareas en segundo plano), JSON, Animaciones, red (TCP y UDP), texto a voz (TTS), reconocimiento de voz, WebView, AdMob (anuncios), Gráficas, OpenGL, gráficos y mucho más.
--- Fin de la cita ---

Algo que no esta ahi es que las aplicaciones son 100% android nativo, asi que van a funcionar en cualquier  android post version 2.



Agrego tabla de migracion VB6 to B4A

--- Código: Visual Basic ---This file is primarily for reference when converting Visual Basic 6 source code to B4A.  VB6                  B4A  ===                  ===controls            Views  (button, edittext, label, etc.)In the VB6 code window, the top left drop-down list contains allthe controls you have placed in the current form and the right listcontains all the events for each control.  The equivalent in B4A canbe found by clicking on Designer - Tools - Generate Members. Onceyou have created Subs in the program coding window, the tab "Modules"on the right side will list each of the Subs.In B4A, you start by typing "Sub [viewName]" followed by a space andfollow the prompts, pressing Enter after each selection until B4Aends with "EventName" highlighted. This is where you would type inthe name of the Sub.editBox = string      editBox.Text = stringIn VB6, you can leave ".Text" off the names of controls when assigningtext to them, but this is not allowed in B4A. Dim/ReDim:---------Dim Array(n)        Dim Array(n+1)While "n" is the last index number in VB6, it indicates the numberof array elements when used in B4A. For example, to Dim an arraywith 0-32 elements in VB6, you would say Dim A(32), while to convertthis to B4A, you need to change it to Dim A(33), yet index #33 isnever used (doing so would cause an out-of-range error).ReDim Preserve      Use a List.ReDim Array()       Dim Array(n+1) -- to clear an array, just Dim it again.[Dim a Int: Dim b as Boolean]If Not b Then...    If Not(b) Then...If b Then...        sameIf b = True Then    sameIf a Then...        If a > 0 Then...                       B4A does not treat any non-zero value as True like VB6.a = a + b           If b = True Then a = a - 1                       Boolean's value cannot be used in a math function in B4A.Global Const x=1    B4A does not have a Global Const function.                       In Sub Globals, you can say   Dim x as Int: x = 1                       but x is not a constant (it's value can be changed). Loops, If-Then, Select Case:---------------------------Do [Until/While]    sameLoop [Until/While]  Loop  [Until/While not allowed.]For - Next          sameFor i... - Next i   The loop variable (i) is not allowed with Next.Exit Do/For         ExitIf - Then - Else    same, except VB's ElseIf is "Else If" in B4A; ditto EndIf   ---              Continue [Skips to Next in For-Next loop]For i = 1 to 6        For i = 1 to 6  If i <> 4 Then        If i = 4 Then Continue    ...code...          ...code...  End If                ...Next                  NextSelect Case [expr]  Select [value] Colors:------L1.BackColor =      L1.Color = Colors.Red    vbRedL1.ForeColor =      L1.TextColor = Colors.Black    vbBlack Calling a sub:-------------SubName x, y        SubName(x, y)Sub SubName()       Sub SubName() As Int/String/etc. -- a Global variable cannot be                       a parameter, so say that "player" is a Global variable, you                       cannot say: PlayCard(player). Instead you have to say:                       i=player: PlayCard(i)Function FName()    Sub FName() As [var.type]   As [var.type]       In B4A, any Sub can be used like a Function by adding a                       variable type such as                          Sub CheckX(x As Int) As Boolean                             ...optional code...                             If x = [desired value] Then Return True                             ...optional code...                          End Sub                       If no Return is given, then zero/False/"" is returned.                       The calling code does not have to reference the returned                       value, so that while "If CheckX(x) = True..." is valid,                       so is just "CheckX(x)"Exit Sub            ReturnExit Function       Return [value] General:-------CIntDoEvents            same, except that Erel says:                    "Calling DoEvents in a loop consumes a lot of resources and                    it doesn't allow the system to process all waiting messages                    properly." This was in response to my pointing out that while                    in a Do Loop with DoEvents in it, WebView could not be loaded                    or if loaded, would not process a hyperlink click. And Agraham                    says: "Looping is bad practice on mobile devices. The CPU will                    be constantly executing code and using battery power as the                    code will never get back to the OS idle loop where the hardware                    power saving measures are invoked."Format()            NumberFormat & NumberFormat2 [see documentation]InputBox($)         InputList(Items as List, Title, CheckedItem as Int) as Intcan list multiple       Shows list of choices with radio buttons. Returns index.choices for which       CheckedItem is the default.the user enters a   InputMultiList(Items as List, Title) As Listnumber to choose.       User can select multiple items via checkboxes.                        Returns list with the indexes of boxes checked.MsgBox "text"       MsgBox("text", "title")i=MsgBox()          MsgBox2(Message, Title, Positive, Cancel, Negative, Icon) as Int                        Displays three buttons with text to display for buttons                           (Positive, Cancel, Negative)                        Icon is displayed near the title and is specified like:                           LoadBitmap(File.DirAssets, "[filename].gif")   ---              ToastMessageShow(text, b) [where b=True for long duration]Following is a Sub from Pfriemler which acts like InputBox:Sub InputBox(Prompt As String, Title As String, Default As String, Hint As String) As String    Dim Id As InputDialog    Id.Hint = Hint    Id.Input = Default    ret = Id.Show(Prompt, Title, "OK", "","Abbrechen", Null)    If ret = -1 Then Return Id.Input Else Return ""End Sub Rnd is < 1          Rnd(min, max) is integer >= min to < maxRnd(-#)             RndSeed(#) - causes Rnd to generate the same random number series                                 for the same # entered.Randomize           Not needed in B4A to randomize Rnd.Round(n)            same, or Round2(n, x) where x=number of decimal places i = Val(string)     If IsNumber(string) Then i = string Else i = 0 --                    An attempt to use i=string "throws an exception" if the string is                    not numbers, even if the string starts with numbers. For example,                    t = "10:45"                    i = Val(t) sets i=10 but causes an error in B4A.                    Instead,                    i = t.SubString2(0, 2) = 10control.SetFocus    view.RequestFocusn / 0 : error       n / 0 = 2147483647 -- B4A does not "throw an exception" for                       division by 0, but it does return 2147483647 no matter                       what the value of "n" is.x = Shell("...")    See "Intent". This is not a complete replacement, but allows                       code such as the following from the B4A forum (by Erel):                    Dim pi As PhoneIntents                    StartActivity (pi.OpenBrowser("file:///sdcard/yourfile.html"))t = Timer           t = DateTime.Now ' Ticks are number of milliseconds since 1-1-70 TabIndex:--------In VB6, TabIndex can be set to control the order in which controls get focuswhen Tab is pressed. According to Erel, in B4A:   "Android handles the sequence according to their position. You can set    EditText.ForceDone = True in all your EditTexts. Then catch the    EditText_EnterPressed event and explicitly set the focus to the next    view (with EditText.RequestFocus)." Setting Label Transparency:--------------------------Properties - Back Style        Designer - Drawable - Alpha Constants:---------""                  Quote = Chr$(34)vbCr                CRLF = Chr$(10)vbCrLf              none String "Members":----------------VB6 uses a character position pointer starting with 1.B4A uses a character Index pointer starting with 0.        VB6                        B4AMid$("abcde", 1, 1) = "a" = letter array index 0 -- "a" = "abcde".CharAt(0)Mid$("abcde", 2, 1) = "b" = letter array index 1Mid$("abcde", 3, 1) = "c" = letter array index 2Mid$("abcde", 4, 1) = "d" = letter array index 3Mid$("abcde", 5, 1) = "e" = letter array index 4     VB6                               B4A     ===                               ===Mid$(text, n, 1)                    text.CharAt(n-1)Mid$(text, n)                       text.SubString(n-1)Mid$(text, n, x) [x=length wanted]  text.SubString2(n-1, n+x-1) [n+x-1=end position]Mid$(text, n, x) = text2            text = text.SubString2(0, n-2) & _                                           text2.SubString2(0, x-1) & _                                           text.SubString(n-1 + z)  where...                                             z = Min(x, text2.length)Left$(text, n)  [n=num.of chars.]   text.SubString2(0, n)Right$(text, n)                     text.SubString(text.Length - n + 1)If a$ = b$...                       If a.CompareTo(b)...If Right$(text, n) = text2...       If text.EndsWith(text2)...If Left$(text, n) = text2...        If text.StartsWith(text2)...If Lcase$(text) = Lcase$(text2)...  If text.EqualsIgnoreCase(text2)...Following are some subs from NeoTechni which take the place of VB6string functions:Sub Left(Text As String, Length As Long)As String   If length>text.Length Then length=text.Length   Return text.SubString2(0, length)End SubSub Right(Text As String, Length As Long) As String   If length>text.Length Then length=text.Length   Return text.SubString(text.Length-length)End SubSub Mid(Text As String, Start As Int, Length As Int) As String   Return text.SubString2(start-1,start+length-1)End SubSub Split(Text As String, Delimiter As String) As String()   Return Regex.Split(delimter,text)End Sub x = Len(text)                       x = text.Lengthtext = Replace(text, str, str2)     text.Replace(str, str2)Lcase(text)                         text.ToLowerCaseUcase(text)                         text.ToUpperCaseTrim(text)                          text.Trim  (no LTrim or RTrim in B4A)Instr(text, string)                 text.IndexOf(string)Instr(int, text, string)            text.IndexOf2(string, int)                                       Returns -1 if not found.                                       Returns char. index, not position.                                       Starts search at "int".InStrRev(text, str, start, case)    text.LastIndexOf(string)  Searches from end of string,      text.LastIndexOf(string, start)    optionally from "start".           Cannot specify case sensitivity.  case = 0 = case-sensitive  case = 0 = case-insensitive                                    A boolean form of IndexOf is -                                    If text.Contains(string) = True Then...If Lcase$(x) = Lcase$(y)...         If x.EqualsIgnoreCase(y)...text = Left$(text, n) & s &         text.Insert(n, s)          Right$(Text, y)Asc(s) [where s = a character]      same Error Trapping:--------------VB6:===Sub SomeSub   On [Local] Error GoTo ErrorTrap      ...some code...   On Error GoTo 0 [optional end to error trapping]   ...optional additional code...   Exit Sub [to avoid executing ErrorTrap code]ErrorTrap:   ...optional code for error correction...   Resume [optional: "Resume Next" or "Resume [line label]".End SubB4A:===Sub SomeSub   Try      ...some code...   Catch [only executes if error above]      Log(LastException) [optional]      ...optional code for error correction...   End Try   ...optional additional code...End SubWIth B4A, if you get an error caught in the middle of a large subroutine, you canNOT make a correction and resume within the code you were executing. Only the codein "Catch" gets executed, plus any code following "End Try".Try-Catch in place of GoTo:--------------------------Try-Catch can be used as a substitute for GoTo [line label] for forward, but notbackward, jumps. It cannot be used to replace GoSub, for which B4A has no equivalent.Start the code with "Try" and replace the [line label] with "Catch".Replace "GoTo [line label]" with code which will create an exception, which causesa jump to "Catch", such as OpenInput("bad path", "bad filename"). "Immediate Window" vs "Logs" Tab--------------------------------Comments, variable values, etc., can be displayed in VB6's ImmediateWindow by entering into the code "Debug.Print ...".In the B4A environment, the Logs tab on the right side of the IDE is away to show the values of variables, etc., while the code is running.Both VB6 and (now) B4A allow single-stepping through the code while itis running and viewing the values of variables. VB6 also allows changingthe value of variables, changing the code, jumping to other lines fromthe current line, etc. Because B4A runs on a PC while the app runs ona separate device, B4A is currently unable to duplicate all of theseVB6 debug features.GRACIAS POR LEER!!!

Ya iba proponer yo hacer un interprete de vb en java :P

 ;D Voy a probar, ojala que pueda correr el programa :o,

Hola 79137913, tal como se pinta se ve bueno, se agradece.
Yo no sabría probarlo porque recién estoy empezando, pero me gustaría si sebas le diera una mirada a ver que opina. Saludos

esta muy bueno, tambien esta MonoDroid para programar en .NET


para hacer aplicaciones sirve, no hay dudas.

las unicas contras que veo:

es que son pagas (obvio son app de terceros) y como esto es android-linux y es todo libre...

no se hasta que punto soportara las funciones de la api de Android que para colmo se van actualizando cada ves mas rapido.

y la documentacion, para Java encontras miles de paginas y te cansas de encontrar ejemplos y libros de 1000 paginas para programar, no se que tan documentado este esto, me imagino que tiene su documentacion, pero no creo que este tan regado en internet.

yo me voy siempre para lo oficial, que este caso es Eclipse +Java, al principio cuesta pero despues te acostumbras.



[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa