Escribí un clase para poder administrar los datos que emplea una aplicación. La clase funciona pero creo que es ineficiente. He leído varios turoriales de SqLite, pero con la mayoría esta en ingles. Aunque entiendo bastante hay frases que me son imposibles y no he podido mejorar la clase para el manejo de la base de datos.
Les agradeciri su ayuda para mejorar la Clase
Este es el código:
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			Les agradeciri su ayuda para mejorar la Clase
Este es el código:
			
				B4X:
			
		
		
		Sub Class_Globals
    Private Sql1 As SQL
End Sub
'Inicializa el objecto. Puede agregar parámetros al metodo si lo necesita.
Public Sub Initialize(DataBase As String)
    
    If (File.Exists(File.DirAssets, DataBase)) Then
        If Not (File.Exists(File.DirDefaultExternal, DataBase))Then
            Try
                File.Copy(File.DirAssets, DataBase, File.DirDefaultExternal, DataBase)
            Catch
                ToastMessageShow(LastException, True)
            End Try
        End If
    End If
    
    If File.Exists(File.DirDefaultExternal, DataBase) Then
        Sql1.Initialize(File.DirDefaultExternal, DataBase, True)
    End If
End Sub
Public Sub GetApiKey () As String
    Dim Id As Int
    Dim Query As String
    
    Id = 1
    
    Query = "SELECT * FROM `Api` WHERE Id = " & Id
    Dim Key As String
    
    Dim Cursor As Cursor
    Try
        If Sql1.IsInitialized Then
            Cursor = Sql1.ExecQuery(Query)
        End If
    Catch
        ToastMessageShow(LastException, True)
    End Try
    If Cursor.IsInitialized Then
        If Cursor.RowCount > 0 Then
            For i = 0 To Cursor.RowCount - 1
                Cursor.Position = i
                Key =  Cursor.GetString("Key")
            Next
        End If
    End If
    
    If Key == Null Then
        Key = ""
    End If
    Return Key
End Sub
Public Sub GetApiSecret () As String
    Dim Id As Int
    Dim Query As String
    
    Id = 1
    
    Query = "SELECT * FROM `Api` WHERE Id = " & Id
    Dim Secret As String
    
    Dim Cursor As Cursor
    Try
        If Sql1.IsInitialized Then
            Cursor = Sql1.ExecQuery(Query)
        End If
    Catch
        ToastMessageShow(LastException, True)
    End Try
    
    If Cursor.IsInitialized Then
        If Cursor.RowCount > 0 Then
            For i = 0 To Cursor.RowCount - 1
                Cursor.Position = i
                Secret =  Cursor.GetString("Secret")
            Next
        End If
    End If
    
    If Secret == Null Then
        Secret = ""
    End If
    Return Secret
End Sub
Public Sub UpdateAsk(Ask As String)
    Dim Query As String
    Query = "UPDATE `Data` SET `Ask`='" & Ask & "' WHERE `_rowid_`='1';"
    
    Try
        Sql1.ExecNonQuery(Query)
    Catch
        ToastMessageShow(LastException, True)
        Log(LastException)
    End Try
End Sub
Public Sub GetAsk () As Double
    Try
        Dim id As Int
        Dim Query As String
    
        id  = 1
        Query = "SELECT * FROM `Data` WHERE Id = " & id
        Dim Ask As String
        
        Dim Cursor As Cursor
        Try
            If Sql1.IsInitialized Then
                Cursor = Sql1.ExecQuery(Query)
            End If
        Catch
            ToastMessageShow(LastException, True)
        End Try
    
        If Cursor.IsInitialized Then
            If Cursor.RowCount > 0 Then
                For i = 0 To Cursor.RowCount - 1
                    Cursor.Position = i
                    Ask =  Cursor.GetString("Ask")
                Next
            End If
        End If
    Catch
        Log(LastException)
    End Try
'    If (Ancla == Null) Then
'        Ancla = "0"
'    End If
    
    Return Ask
End Sub
Public Sub UpdateCoinsAvailables(CoinsAvailables As String)
    Dim Query As String
    Query = "UPDATE `Data` SET `CoinsAvailables`='" & CoinsAvailables & "' WHERE `_rowid_`='1';"
    
    Try
        Sql1.ExecNonQuery(Query)
    Catch
        ToastMessageShow(LastException, True)
        Log(LastException)
    End Try
End Sub
Public Sub GetCoinsAvailables () As Double
    Try
        Dim id As Int
        Dim Query As String
    
        id  = 1
        Query = "SELECT * FROM `Data` WHERE Id = " & id
        Dim CoinsAvailables As String
        
        Dim Cursor As Cursor
        Try
            If Sql1.IsInitialized Then
                Cursor = Sql1.ExecQuery(Query)
            End If
        Catch
            ToastMessageShow(LastException, True)
        End Try
    
        If Cursor.IsInitialized Then
            If Cursor.RowCount > 0 Then
                For i = 0 To Cursor.RowCount - 1
                    Cursor.Position = i
                    CoinsAvailables =  Cursor.GetString("CoinsAvailables")
                Next
            End If
        End If
    Catch
        Log(LastException)
    End Try
'    If (Ancla == Null) Then
'        Ancla = "0"
'    End If
    
    Return CoinsAvailables
End Sub
Public Sub UpdateUsdAvailable(UsdAvailable As String)
    Dim Query As String
    Query = "UPDATE `Data` SET `UsdAvailable`='" & UsdAvailable & "' WHERE `_rowid_`='1';"
    
    Try
        Sql1.ExecNonQuery(Query)
    Catch
        ToastMessageShow(LastException, True )
        Log(LastException)
    End Try
End Sub
Public Sub GetUsdAvailable () As Double
    Try
        Dim id As Int
        Dim Query As String
    
        id  = 1
        Query = "SELECT * FROM `Data` WHERE Id = " & id
        Dim UsdAvailable As String
    
        Dim Cursor As Cursor
        Try
            If Sql1.IsInitialized Then
                Cursor = Sql1.ExecQuery(Query)
            End If
        Catch
            ToastMessageShow(LastException, True)
        End Try
    
        If Cursor.IsInitialized Then
            If Cursor.RowCount > 0 Then
                For i = 0 To Cursor.RowCount - 1
                    Cursor.Position = i
                    UsdAvailable =  Cursor.GetString("UsdAvailable")
                Next
            End If
        End If
    Catch
        Log(LastException)
    End Try
    If (UsdAvailable == Null) Then
        UsdAvailable = "0"
    End If
    
    Return UsdAvailable
End Sub
Public Sub UpdateAncla(Ancla As String)
    Dim Query As String
    Query = "UPDATE `Data` SET `Ancla`='" & Ancla & "' WHERE `_rowid_`='1';"
    
    Try
        Sql1.ExecNonQuery(Query)
    Catch
        ToastMessageShow(LastException, True )
        Log(LastException)
    End Try
End Sub
Public Sub GetAncla () As Double
    Try
        Dim id As Int
        Dim Query As String
    
        id  = 1
        Query = "SELECT * FROM `Data` WHERE Id = " & id
        Dim Ancla As String
    
        Dim Cursor As Cursor
        Try
            If Sql1.IsInitialized Then
                Cursor = Sql1.ExecQuery(Query)
            End If
        Catch
            ToastMessageShow(LastException, True)
        End Try
    
        If Cursor.IsInitialized Then
            If Cursor.RowCount > 0 Then
                For i = 0 To Cursor.RowCount - 1
                    Cursor.Position = i
                    Ancla =  Cursor.GetString("Ancla")
                Next
            End If
        End If
    Catch
        Log(LastException)
    End Try
'    If (Ancla == Null) Then
'        Ancla = "0"
'    End If
    
    Return Ancla
End Sub
Public Sub UpdateRequests(Requests As String)
    Dim Query As String
    Query = "UPDATE `Data` SET `Requests`='" & Requests & "' WHERE `_rowid_`='1';"
    
    Try
        Sql1.ExecNonQuery(Query)
    Catch
        ToastMessageShow(LastException, True )
        Log(LastException)
    End Try
End Sub
Public Sub GetRequests () As Long
    Try
        Dim id As Int
        Dim Query As String
    
        id  = 1
        Query = "SELECT * FROM `Data` WHERE Id = " & id
        Dim Requests As String
    
        Dim Cursor As Cursor
        Try
            If Sql1.IsInitialized Then
                Cursor = Sql1.ExecQuery(Query)
            End If
        Catch
            ToastMessageShow(LastException, True)
        End Try
    
        If Cursor.IsInitialized Then
            If Cursor.RowCount > 0 Then
                For i = 0 To Cursor.RowCount - 1
                    Cursor.Position = i
                    Requests =  Cursor.GetString("Requests")
                Next
            End If
        End If
    Catch
        Log(LastException)
    End Try
    If (Requests == Null) Then
        Requests = "0"
    End If
    
    Return Requests
End Sub
Public Sub UpdateBtcAvailable(BtcAvailable As String)
    Dim Query As String
    Query = "UPDATE `Data` SET `BtcAvailable`='" & BtcAvailable & "' WHERE `_rowid_`='1';"
    
    Try
        Sql1.ExecNonQuery(Query)
    Catch
        ToastMessageShow(LastException, True )
        Log(LastException)
    End Try
End Sub
Public Sub GetBtcAvailable () As Double
    Try
        Dim id As Int
        Dim Query As String
    
        id  = 1
        Query = "SELECT * FROM `Data` WHERE Id = " & id
        Dim BtcAvailable As String
    
        Dim Cursor As Cursor
        Try
            If Sql1.IsInitialized Then
                Cursor = Sql1.ExecQuery(Query)
            End If
        Catch
            ToastMessageShow(LastException, True)
        End Try
    
        If Cursor.IsInitialized Then
            If Cursor.RowCount > 0 Then
                For i = 0 To Cursor.RowCount - 1
                    Cursor.Position = i
                    BtcAvailable =  Cursor.GetString("BtcAvailable")
                Next
            End If
        End If
    Catch
        Log(LastException)
    End Try
'    If (Ancla == Null) Then
'        Ancla = "0"
'    End If
    
    Return BtcAvailable
End Sub