Construí una demostración rápida que puebla mi listview con datos de la nube. Los nuevos datos se añade a través de la interfaz web Baas. Después de nuevos datos se ha agregado a través de mi backend Baas, tirando de la lista de abajo resultado en nuevos datos que se añade a la lista y la etiqueta de la barra de herramientas con indicación del número de nuevos elementos que se han agregado.
Esta demo consta de los siguientes componentes:
Interfaz de usuario:
- TListView, alineado con el cliente
- poblada de datos utilizando LiveBindings Diseñador
- TToolBar , alineado a la parte superior
- TLabel , emparentado a TToolBar, alineado a los contenidos; TextSettings-> HorzAlign: Centro
- TToolBar , alineado a la parte inferior
- TLabel , emparentado a TToolBar, alineado a los contenidos; TextSettings-> HorzAlign: Centro; TextSettings-> FontColor: Dodgerblue;
Baas:
- TKinveyProvider
- AppKey, AppSecret y MasterSecret se han establecido; también puede utilizar TApp42Provider y TParseProvider
- TBackendQuery para consultar datos existente que vive en la nube y se añadió a través de la interfaz web Baas
- conectado a KinveyProvider; BackendService = Almacenamiento; BackendClassName = Recetas (esto se define dentro de mi cuenta Kinvey))
- TRESTResponseDataSetAdapter
- DataSet = FDMemTable1
- ResponseJSON = BackendQuery1
- Activo = True
- TFDMemTable
Otros:
- TTimer
- Enabled = True
- Intervalo = 1,000
- TActionList
- Haga clic para abrir ActionList Editor
- Añadir una nueva acción
- Crear evento OnUpdate
Object Pascal Código:
Tema 3. unidad; interfaz usos System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, IPPeerClient, REST.OpenSSL, REST.Backend.ServiceTypes, REST.Backend.MetaTypes, System.JSON, REST.Backend.KinveyServices, FMX.ListView.Types, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, System.Rtti, System.Bindings.Outputs, Fmx.Bind.Editors, Data.Bind.EngExt, Fmx.Bind.DBEngExt, Data.Bind.Components, Data.Bind.DBScope, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client, REST.Response.Adapter, FMX.ListView, Data.Bind.ObjectScope, REST.Backend.BindSource, REST.Backend.ServiceComponents, REST.Backend.KinveyProvider, System.Threading, FMX.StdCtrls, System.Actions, FMX.ActnList; tipo TForm3 = class (TForm) KinveyProvider1: TKinveyProvider; BackendQuery1: TBackendQuery; ListView1: TListView; RESTResponseDataSetAdapter1: TRESTResponseDataSetAdapter; FDMemTable1: TFDMemTable; BindSourceDB1: TBindSourceDB; BindingsList1: TBindingsList; LinkFillControlToField1: TLinkFillControlToField; Timer1: TTimer; BottomToolbar: TToolBar; Label1: TLabel; ActionList1: TActionList; Acción1: taction; TopToolbar: TToolBar; Label2: TLabel; Acción 2: taction; procedimiento FormCreate (Sender: TObject); procedimiento ListView1PullRefresh (Sender: TObject); Timer1Timer procedimiento (Sender: TObject); Action1Update procedimiento (Sender: TObject); privado {declaraciones privadas} FCOUNT: Integer; público {declaraciones públicas} fin; var Form3: TForm3; implementación {$ R * .fmx} {$ R * .iPhone4in.fmx IOS} // Ejecutar backend de consultas y poblar Listview con datos sobre la ejecución de aplicaciones procedimiento TForm3.FormCreate (Sender: TObject); comenzar BackendQuery1.Execute; fin; // Acción personalizado para actualizar la etiqueta de la barra de herramientas con Record Count Data procedimiento TForm3.Action1Update (Sender: TObject); comenzar si FCOUNT> 0 entonces Taction (Sender) .Texto: = Format ('Total de artículos:% d; Nuevos productos:% d', [ (BindSourceDB1.DataSet.RecordCount), FCOUNT]) más Taction (Sender) .Texto: = Format ('Número de Recetas:% d', [(BindSourceDB1.DataSet.RecordCount)]); fin; // Habilita temporizador cuando Handler PullRefresh evento se llama procedimiento TForm3.ListView1PullRefresh (Sender: TObject); comenzar Timer1.Enabled: = true; fin; // OnTimer evento para conseguir el Baas Data Collection Record Count y ejecutar el programa de fondo de consulta procedimiento TForm3.Timer1Timer (Sender: TObject); comenzar FCOUNT: = BindSourceDB1.DataSet.RecordCount; BackendQuery1.Execute; FCOUNT: = BindSourceDB1.DataSet.RecordCount - FCOUNT; Timer1.Enabled: = False; fin; fin.
29 registros en la recopilación de datos Recetas. 29 Recetas mostrados en TListView.
30 Registros en Recetas recopilación de datos (1 recién añadido uno). TListView muestra nueva receta; Barra de herramientas de Etiquetas muestra el número total de recetas y el número de recetas que acaba de agregar.
No hay comentarios:
Publicar un comentario