eMOBIQ Documentation
eMOBIQ Platfom
eMOBIQ Client
eMOBIQ Client
  • Getting Started
  • How Pricing Works in eMOBIQ AI
  • Platform Interface Reference
  • Page Rendering Behaviour
  • Ui Components
    • Basic
      • Frame
      • Image
      • Label
      • Panel
      • Streamcamera
      • Streamplayer
      • Video
    • Forms
      • Button
      • Checkbox
      • Combobox
      • Datepicker
      • Edit
      • Memo
      • Radiobutton
      • Timepicker
    • General
      • Barcode
      • Chart
      • Datalist
        • Datalist
        • Using Datalist
      • Map
      • Pdf
      • Qrcode
      • Signature
      • Snippet
    • Payment
      • Paypal
  • Events Reference
  • Actions And Visual Logic
    • Action Reference
      • Cordova
        • App
          • animate
          • bbCodeToCanvas
          • bbCodeToCanvasSync
          • canvasGenerate
          • canvasGenerateFrom
          • canvasHeight
          • canvasResize
          • canvasToDataURL
          • canvasToImage
          • clearAllVar
          • comment
          • componentAttr
          • componentElAttr
          • ComponentElement
          • componentMethod
          • componentValue
          • console
          • convertImageToBase64
          • disablePage
          • displaySnippet
          • enablePage
          • getAppVersion
          • getComponent
          • getLanguage
          • getLanguageList
          • getVar
          • getVarAttr
          • hideElement
          • inactivityTimeout
          • isElementShown
          • istampzRequest
          • languageConvertData
          • methodCall
          • nfcStartRead
          • nfcStopRead
          • nfcWrite
          • openlink
          • pullToRefresh
          • reload
          • remComponentElAttr
          • renderTemplate
          • resolveJSName
          • scroll
          • sendMail
          • setComboOptions
          • setCompoentFocus
          • setComponentAttr
          • setComponentElAttr
          • setComponentLink
          • setComponentValue
          • setLanguage
          • setVar
          • share
          • showElement
          • sortingDisable
          • sortingEnable
        • Array
          • avg
          • count
          • findArrayIndex
          • newArray
          • newObject
          • pop
          • push
          • pushObject
          • removeObject
          • shift
          • sort
          • sum
          • unshift
        • Browser
          • valueFromURL
        • Chart
          • chartPopulateAreaData
          • chartPopulateAreaSplineData
          • chartPopulateBarData
          • chartPopulateDonutData
          • chartPopulateGaugeData
          • chartPopulateLineData
          • chartPopulatePieData
          • chartPopulateScatterPlotData
          • chartPopulateSplineData
          • chartPopulateStepAreaData
          • chartPopulateStepData
        • Comparation
          • equal
          • equalOrGreater
          • equalOrLess
          • greater
          • less
          • notEqual
        • Conversion
          • encodeURI
          • fontHuge
          • fontLarge
          • fontNormal
          • fontSmall
          • generateBarcode
          • generateQRCode
          • join
          • jsonDecode
          • jsonEncode
          • round
          • split
          • toBoolean
          • toFloat
          • toInteger
          • toNull
          • toString
          • xmlDecode
        • Dataset
          • acumaticaCall
          • axCall
          • clearAllData
          • clearData
          • crm365Call
          • crmCall
          • dataFieldToArray
          • dataFromString
          • dataToString
          • deleteBy
          • deleteByMulti
          • deleteData
          • dynamicsGPCall
          • filterData
          • insert
          • insertData
          • loadData
          • loadNext
          • mssqlCall
          • mssqlQuery
          • navCall
          • query
          • rawCall
          • sageCall
          • sapB1Call
          • selectAll
          • selectBy
          • selectByMulti
          • soapCall
          • updateBy
          • updateByMulti
          • updateData
        • Device
          • HNSPublishMessage
          • HNSPushList
          • HNSPushMessageByUserId
          • HNSPushNotification
          • HNSRegisterUser
          • HNSSubscribeTopic
          • keyboardShow
          • addFaceAzure
          • addPersonAzure
          • barcodeScanDisable
          • barcodeScanEnable
          • barcodeScanEvent
          • unregisterBarcodeScanEvent
          • barcodeScanTrigger
          • barcodeScanner
          • captureAudio
          • captureImage
          • captureVideo
          • clearAccelerometer
          • clearExternalAppData
          • clearPosition
          • closeAudio
          • currentAccelerometer
          • dateTimeChooser
          • detectFaceAzure
          • deviceAddTouchSensor
          • deviceBeep
          • deviceHasTouchSensor
          • deviceId
          • deviceManufacturer
          • deviceName
          • deviceOS
          • deviceOSVersion
          • deviceRemoveTouchSensor
          • deviceSerial
          • deviceVerifyTouchSensor
          • deviceVibrate
          • exitApp
          • fileChooser
          • fileGetDetails
          • getExternalAppData
          • getLocation
          • identifyFaceAzure
          • imageChooser
          • keepScreenOn
          • keyboardHide
          • networkInformation
          • networkPrintingCheck
          • networkPrintingPrint
          • networkStatus
          • onBackButton
          • openAudio
          • openExternalApp
          • pauseAudio
          • playAudio
          • removeGroupAzure
          • removePersonAzure
          • screenBrightness
          • sendMailSMTP
          • setSizeDisk
          • socketConnect
          • socketDisconnect
          • socketLeave
          • socketListener
          • socketSend
          • startBeacon
          • startBeaconMonitoring
          • startStream
          • statusBarHide
          • statusBarShow
          • stopAudio
          • stopBeacon
          • stopBeaconMonitoring
          • stopStream
          • textToSpeech
          • verifyFaceFromPhotoAzure
          • watchAccelerometer
          • watchPosition
        • Dialog
          • confirmDialog
          • infoDialog
          • inputDialog
          • modalDialog
        • Facebook
          • facebookLogout
        • File
          • Copy
          • Delete
          • Download
          • Read
          • backupSqlite
          • open
          • restoreSqlite
          • saveBase64ToGallery
          • storagePath
          • write
        • Firebase
          • firebaseStorageDelete
          • firebaseStorageURL
          • firebaseStorageUpload
        • Flow
          • break
          • callback
          • clearInterval
          • conditional
          • continue
          • doWhileLoop
          • forLoop
          • map
          • setInterval
          • setTimeout
          • throw
          • tryCatch
          • whileLoop
        • Global
          • defaultImage
          • generateRandomAlphabet
          • generateRandomAlphanumeric
          • generateRandomNumber
          • getCurrentPage
          • getPreviousPage
          • gotoPage
          • makeId
          • openInternalBrowser
        • Google
          • googleLogin
          • googleLogout
          • mapAddMarker
          • mapClearMarker
          • mapDeleteMarker
          • mapFitBounds
          • mapGetZoom
          • mapRemoveClickListener
          • mapRoute
          • mapSetCenter
          • mapSetClickListener
          • mapSetZoom
          • placeAutoComplete
        • Intent
          • intentMaps
          • intentNavigation
          • intentPhoneCall
          • intentSMS
          • intentSendEmail
        • Logical
          • and
          • not
          • or
          • xor
        • Math
          • Absolute
          • add
          • atan2
          • ceil
          • cos
          • div
          • floor
          • max
          • min
          • mod
          • multi
          • pi
          • plus
          • pow
          • sin
          • sqr
          • sqrt
          • sub
          • tan
        • Object
          • addDate
          • convertTimezoneDate
          • dateDiff
          • dbDate
          • formatDate
          • formatNumber
          • objectAttr
          • objectKeys
          • objectValues
          • setObjectAtt
          • strToDate
          • toArray
          • toObject
        • Pdf
          • pdfGenerate
        • Payment
          • 2c2pPaymentRequest
          • eNetsPaymentRequest
          • generatePaynowQR
          • macAuthenticate
          • mcpEWalletQuickPay
          • mcpEWalletUnifiedOrder
          • mcpGetTransactions
          • mcpGetTranscationDetails
          • mcpTransactRefund
          • mcpTransactSales
          • mcpTransactVoid
          • paypalGenerateButton
        • Printer
          • btPrinterConnect
          • btPrinterDisconnect
          • btPrinterIsConnected
          • btPrinterPortList
          • btPrinterPrint
          • btPrinterRead
          • canvasToCPCL
          • canvasToESCP
          • canvasToESCPOS
          • canvasToEXPCL
          • canvasToZPL
          • formatToCPCL
          • formatToESCPOS
          • qrToESCPOS
          • setPrintStyle
        • Signature
          • signatureRedraw
        • Specialcharacter
          • sc_carriageReturn
          • sc_esc
          • sc_escape
          • sc_horizontalTab
          • sc_lineFeed
          • sc_space
        • String
          • capitalize
          • concat
          • decodeBase64String
          • decrypt
          • encodeBase64String
          • encrypt
          • findIndex
          • increment
          • left
          • length
          • lowerCase
          • mid
          • padString
          • replace
          • right
          • trim
          • upperCase
        • Validation
          • isArray
          • isEmail
          • isNull
          • isNumber
      • React Native
        • App
          • displaySnippet
          • openlink
          • reload
        • Component
          • setOptions
          • setProperty
          • setValue
          • getProperty
          • getValue
        • Connector
          • restCall
          • soapCall
        • Control
          • callback
          • clearInterval
          • conditional
          • delay
          • interval
          • loop
        • Conversion
          • toBoolean
          • toDate
          • toList
          • toNull
          • toNumber
          • toObject
          • toText
        • Dataset
          • insert
          • loadData
          • loadNext
          • read
          • remove
          • update
        • Datetime
          • difference
          • get
          • update
        • Device
          • barcodeCameraScanner
          • captureAudio
          • captureImage
          • captureVideo
          • chooseFile
          • generateBarcode
          • generateQRCode
          • getLocation
        • File
          • copy
          • getDetails
          • getStoragePath
          • read
          • remove
          • saveToGallery
          • write
        • Format
          • dateTime
          • number
          • text
        • Global
          • goToPage
        • List
          • average
          • combine
          • count
          • fill
          • find
          • includes
          • insertFirst
          • insertLast
          • max
          • min
          • removeFirst
          • removeLast
          • sort
          • sum
        • Log
          • write
        • Logic
          • and
          • equal
          • greaterThan
          • greaterThanOrEqual
          • lessThan
          • lessThanOrEqual
          • not
          • notEqual
          • or
        • Mail
          • send
        • Math
          • Absolute
          • add
          • atan2
          • cos
          • divide
          • modulo
          • multiply
          • pi
          • power
          • round
          • sin
          • square
          • squareRoot
          • subtract
          • tan
        • Map
          • getRoute
          • setCenter
          • setZoom
        • Object
          • insert
          • remove
          • getAttribute
          • setAttribute
        • Signature
          • clear
        • Text
          • case
          • combine
          • decrypt
          • encrypt
          • extract
          • findPosition
          • length
          • padding
          • replace
          • specialCharacter
          • trim
        • Validation
          • isEmail
          • isList
          • isNumber
        • Variable
          • get
          • getAttribute
          • set
          • setAttribute
    • Global Functions
    • Logic Block And Parameter Types
      • Logic Block And Parameter Types
      • Visual Interface
    • Logic Flow Sequence And Control
      • Asynchronous Actions And Callbacks
        • Asynchronous Actions
        • Best Practices
      • Callbacks
      • Conditional Logic
      • Loops
        • Comparing Loops
        • For Loop
        • Map
  • Data And Memory
    • Data Type
    • Memory
    • Data Processing Methods
  • Services
    • Services Reference
      • 2C2P Connector
        • 2C2P Connector
      • Accumatica Connector
        • Acumatica Connector
        • Acumatica Table
      • Aws Connector
        • Aws Connector
        • Aws Dynamodb Table
      • Ax Connector
      • Azure Cognitive Connector
      • Crm365 Connector
      • Dynamics Gp Connector
      • Enets Payment Connector
      • Hnspullnotification
      • Hnspushnotification
      • Istampz
      • Local Table
      • Mc Payment Connector
      • Mssql Connector
      • Nav Connector
        • Nav Connector
        • Nav Table
      • Nfc Reader
      • Paypal Connector
      • Raw Rest Connector
      • Sage Connector
      • Sap B1 Connector
      • Soap Connector
      • Sql Connector
        • Sql Connector
        • Sql Table
      • Sqlite
        • Sqlite Connector
        • Sqlite Table
    • Step By Step Guide
    • Services Additional Tips
    • Services Erp
      • Services Erp
  • Wizards
    • Function Wizard
    • Page Wizard
  • Plugins
    • Plugins
    • Service Manager
Powered by GitBook
On this page
  • 1. Introduction to Memory
  • 2. Memory Constructs
  • 2.1 Variables
  • 2.2 Memory Tables
  • 2.3 Component Attributes
  • 2.4 Extra Parameter (Value Relay)
  • 3. Memory Scope
  • 4. Data Persistence
  • 5. Abstraction of Memory
  • 6. Best Practices
  • 7. Summary of Memory Constructs
  1. Data And Memory

Memory

This section delves into the fundamental memory-related concepts and mechanisms that form the foundation of the visual development approach of eMOBIQ.

1. Introduction to Memory

In eMOBIQ, memory management is the foundation for efficient data handling within your projects. Through the use of functions, variables, local storage, and specialized constructs, you can seamlessly manage and manipulate data throughout your application.

2. Memory Constructs

2.1 Variables

Variables are dynamic placeholders for data storage. In eMOBIQ, variables are non-persistent and have a global scope, making them accessible across all pages of your project. These values can be modified and accessed as needed using the appropriate actions.

Initialization and configuration:

Use setVar action in the visual logic tree to declare and initialize the variable.

Associated actions for variables:

`setVar`, `getVar`, `clearAllVar`, `getVarAttr`

2.2 Memory Tables

The local table and SQLite table are both memory tables that are available in the services section. You can create and modify memory tables that are accessible globally via associated actions. This provides a structured approach to store data that persists across different sessions. The local table is typically used to cache memory for temporary use, and can be deleted with a cache clear. On the other hand, SQLite table is typically used for more permenant data storage, and can be deleted with dedicated actions.

Initialization and configuration:

Configured in the 'services' section of eMOBIQ.

Associated actions for memory tables:

Local Table

`insert`, `filterData`, `dataFromString`, `dataToString`, `dataFieldToArray`, `selectAll`, `selectBy`, `updateBy`, `updateByMulti`, `componentMethod`

SQLite

`insert`, `filterData`, `dataFromString`, `dataToString`, `dataFieldToArray`, `selectAll`, `selectBy`, `updateBy`, `updateByMulti`, `componentMethod`, `query`, `backupSqlite`, `restoreSqlite`

Comparison between local table and SQLite:

Type
Description
Example Use Case

Local Table

Cached in local storage

Temporary storage for user data

SQLite

More permanent storage

Storing configuration settings

2.3 Component Attributes

Component attributes define configurations for each component. These attributes can be read and modified at runtime using actions, allowing for dynamic adjustments to component behavior based on changing data or conditions.

Associated actions for component attributes:

`componentAttr`, `setComponentAttr`, `componentElAttr`, `setComponentElAttr`, `componentValue`, `setComponentValue`,  `componentElement`, `getComponent`, `setComponentLink`, `setComponentFocus`

2.4 Extra Parameter (Value Relay)

The 'extra' parameter is a unique construct in some actions, designed to facilitate the passing of values from a source action to the callback action. This parameter allows for the transfer of data without relying on variables, ensuring that the callback action have access to specific values needed for their execution.

Note for use: This is only available for actions with callbacks. Values passed from the source action's 'extra' parameter can be accessed by changing the value type of the callback action input to 'extra' type.

3. Memory Scope

Apart from the 'extra' parameter, memory scope for all memory constructs in eMOBIQ operates in a public manner, granting access to data across the application. By utilizing the appropriate action interfaces, you can retrieve and modify memory constructs (excluding extra parameter) as needed.

4. Data Persistence

Data persistence refers to the ability of a memory constuct to retain data across sessions. In eMOBIQ, only memory tables exhibit data persistence, ensuring reliable information storage between sessions.

Comparison Table for Data Persistence:

Memory Type
Data Persistence

Variables

Non-persistent, data only preserved for the current session. Static data is re-initialized every new session.

Memory Table: Local Table

Persistent local memory used for caching. Data is preserved across sessions and cleared upon cache clear.

Memory Table: SQLite

Persistent and permenant local memory used for storing and managing data. Data is preserved across sessions and cleared using specific actions.

Components

Non-persistent, data only preserved for the current session. Static data is re-initialized every new session.

5. Abstraction of Memory

Abstraction of memory models in eMOBIQ simplifies complex data structures for users. Through actions and related interfaces, you can interact with variables, local storage, and component attributes without needing to delve into underlying implementation details.

6. Best Practices

  • Utilize variables for non-persistent, global data storage.

  • Leverage memory tables (i.e. local table and sqlite) for persistent, structured data needs.

  • Utilize connectors and tables for efficient data exchange with external systems.

  • Maximize the use of the 'extra' parameter to facilitate value passing between functions.

  • Dynamic adjustments to component behavior can be achieved by modifying component attributes.

7. Summary of Memory Constructs

Interface Type
Description
Usage

Variables

Store and manipulate data that is only used for current session

User-specific data storage

Memory Tables

Local and permanent data storage that needs to be carried over to other sessions.

Structured data storage

Components

UI and functional building blocks

User interface customization

PreviousData TypeNextData Processing Methods

Last updated 1 year ago