Difference between revisions of "Custom Drawn Interface/Android/es"

From Lazarus wiki
Jump to navigationJump to search
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
{{Custom_Drawn_Interface/Android}}
 +
 
== Arquitectura ==
 
== Arquitectura ==
  
Line 5: Line 7:
 
Nuestros previos y poco durables intentos para escribir un Interface LCL para Android (LCL-Android) utilizaban un método no standar para usar ejecutables nativos mediante la comunicaión con Java a través de pipes. Este método finalmente se abandonó porque estaba considerado como no soportado porby Google. Se considera obsoleto y por tanto la gente debería utilizar en su lugar LCL-CustomDrawn-Android. Este antiguo interface se encuentra documentado en [[Android Interface]].
 
Nuestros previos y poco durables intentos para escribir un Interface LCL para Android (LCL-Android) utilizaban un método no standar para usar ejecutables nativos mediante la comunicaión con Java a través de pipes. Este método finalmente se abandonó porque estaba considerado como no soportado porby Google. Se considera obsoleto y por tanto la gente debería utilizar en su lugar LCL-CustomDrawn-Android. Este antiguo interface se encuentra documentado en [[Android Interface]].
  
== Roadmap ==
+
== Recorrido ==
  
 
Parte 1, hasta Marzo de 2012:
 
Parte 1, hasta Marzo de 2012:
  
# <s>Build the set of [[Lazarus Custom Drawn Controls]]</s>
+
# Construye el conjunto de [[Lazarus Custom Drawn Controls]].
# <s>Initial bindings for the Android APIs</s>
+
# Bindings iniciales con las APIs de Android.
# <s>Create an application to automatically generate the bindings</s>
+
# Se crea una aplicación para generar automáticamente los bindings.
# <s>Start the new widgetset</s>
+
# Comienzo del nuevo conjunto de widgets.
# <s>Implement support for JNI</s>
+
# Implementa soporte para JNI.
# <s>Merge the Lazarus Custom Drawn Controls into the LCL and use them to implement all basic controls</s>
+
# Fusiona los controles de Lazaus Custom dentro de LCL y los utiliza para implementar todos los controles básicos.
# <s>Add text support for Android</s>
+
# Añade soporte de texto para Android.
# <s>Implement basic window client area scrolling</s>
+
# Implementa área de desplazamiento (scrolling) básico en la ventana cliente.
# Add mobile emulator for desktop platforms
+
# Añade emulador móvil para plataformas de escritorio.
# Improve the mobile scrolling
+
# Improve the mobile scrolling.
# <s>Add text support in X11</s>
+
# Añade soporte de texto en X11.
# <s>Add DPI awareness and adaptation in the LCL</s>
+
# Add DPI awareness y adaptación en el  LCL.
# <s>Add non-native text support via pasfreetype</s>
+
# Añade suporte de texto no nativo por medio de pasfreetype.
  
 
Parte 2: April, Mayo, Junio 2012:
 
Parte 2: April, Mayo, Junio 2012:
  
#<s>TButton improve the Android visual</s>
+
# TButton afianza la presentación visual en Android.
#TBitBtn
+
# TBitBtn.
#<s>TRadioButton finish the native look</s>
+
# TRadioButton finaliza el aspecto nativo.
#Calendar dialog -> Problematic as the LCL has no calendar dialog, it just opens a normal form and puts a calendar on it, so we need a TCDCalendar widget
+
# Calendar dialog -> Problemático debido a que LCL no tiene dialogo de calendario (calendar dialog), por lo que simplemente abre un formularo normal y sitúa un calendario en el mismo, se hace necesario un Widget (aplicativo simple) TCDCalendar.
#MaskEdit
+
# MaskEdit.
#<s>Improve TComboBox</s>
+
# Mejoras en TComboBox.
#TMemo
+
# TMemo.
#TListView as a list with columns
+
# TListView como una lista con columnas.
#<s>TMainMenu</s>
+
# TMainMenu.
#Database with sqlite
+
# Database con sqlite.
#Barcode reading
+
# Lectura de códigos de barras (Barcode).
#Windows add-on installer
+
# Instalador incorporado para Windows.

Latest revision as of 19:59, 11 July 2015

English (en) español (es) 日本語 (ja) русский (ru)

Arquitectura

LCL-CustomDrawn-Android utiliza una aplicación Java mínima que se comunica con nuestra librería de Pascal y la envía todos los eventos, aceptando también mandatos. La comunicación se realiza vía JNI tal como es soportada por Google. Los controles no son nativos, en su lugar se dibujan utilizando TRawImage+TLazIntfImage+TLazCanvas mientras que los eventos y pintado se recorta utilizando LazRegions. El dibujado en si mismo es realizado utilizando jnigraphics para dibujar un objeto Bitmap de Java que es dibujado con una actividad mínima de Java en un SurfaceView.

Nuestros previos y poco durables intentos para escribir un Interface LCL para Android (LCL-Android) utilizaban un método no standar para usar ejecutables nativos mediante la comunicaión con Java a través de pipes. Este método finalmente se abandonó porque estaba considerado como no soportado porby Google. Se considera obsoleto y por tanto la gente debería utilizar en su lugar LCL-CustomDrawn-Android. Este antiguo interface se encuentra documentado en Android Interface.

Recorrido

Parte 1, hasta Marzo de 2012:

  1. Construye el conjunto de Lazarus Custom Drawn Controls.
  2. Bindings iniciales con las APIs de Android.
  3. Se crea una aplicación para generar automáticamente los bindings.
  4. Comienzo del nuevo conjunto de widgets.
  5. Implementa soporte para JNI.
  6. Fusiona los controles de Lazaus Custom dentro de LCL y los utiliza para implementar todos los controles básicos.
  7. Añade soporte de texto para Android.
  8. Implementa área de desplazamiento (scrolling) básico en la ventana cliente.
  9. Añade emulador móvil para plataformas de escritorio.
  10. Improve the mobile scrolling.
  11. Añade soporte de texto en X11.
  12. Add DPI awareness y adaptación en el LCL.
  13. Añade suporte de texto no nativo por medio de pasfreetype.

Parte 2: April, Mayo, Junio 2012:

  1. TButton afianza la presentación visual en Android.
  2. TBitBtn.
  3. TRadioButton finaliza el aspecto nativo.
  4. Calendar dialog -> Problemático debido a que LCL no tiene dialogo de calendario (calendar dialog), por lo que simplemente abre un formularo normal y sitúa un calendario en el mismo, se hace necesario un Widget (aplicativo simple) TCDCalendar.
  5. MaskEdit.
  6. Mejoras en TComboBox.
  7. TMemo.
  8. TListView como una lista con columnas.
  9. TMainMenu.
  10. Database con sqlite.
  11. Lectura de códigos de barras (Barcode).
  12. Instalador incorporado para Windows.