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

From Lazarus wiki
Jump to navigationJump to search
 
Line 4: Line 4:
  
 
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 ==
 +
 +
Parte 1, hasta Marzo de 2012:
 +
 +
# <s>Build the set of [[Lazarus Custom Drawn Controls]]</s>
 +
# <s>Initial bindings for the Android APIs</s>
 +
# <s>Create an application to automatically generate the bindings</s>
 +
# <s>Start the new widgetset</s>
 +
# <s>Implement support for JNI</s>
 +
# <s>Merge the Lazarus Custom Drawn Controls into the LCL and use them to implement all basic controls</s>
 +
# <s>Add text support for Android</s>
 +
# <s>Implement basic window client area scrolling</s>
 +
# Add mobile emulator for desktop platforms
 +
# Improve the mobile scrolling
 +
# <s>Add text support in X11</s>
 +
# <s>Add DPI awareness and adaptation in the LCL</s>
 +
# <s>Add non-native text support via pasfreetype</s>
 +
 +
Parte 2: April, Mayo, Junio 2012:
 +
 +
#<s>TButton improve the Android visual</s>
 +
#TBitBtn
 +
#<s>TRadioButton finish the native look</s>
 +
#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
 +
#MaskEdit
 +
#<s>Improve TComboBox</s>
 +
#TMemo
 +
#TListView as a list with columns
 +
#<s>TMainMenu</s>
 +
#Database with sqlite
 +
#Barcode reading
 +
#Windows add-on installer

Revision as of 14:01, 5 March 2013

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.

Roadmap

Parte 1, hasta Marzo de 2012:

  1. Build the set of Lazarus Custom Drawn Controls
  2. Initial bindings for the Android APIs
  3. Create an application to automatically generate the bindings
  4. Start the new widgetset
  5. Implement support for JNI
  6. Merge the Lazarus Custom Drawn Controls into the LCL and use them to implement all basic controls
  7. Add text support for Android
  8. Implement basic window client area scrolling
  9. Add mobile emulator for desktop platforms
  10. Improve the mobile scrolling
  11. Add text support in X11
  12. Add DPI awareness and adaptation in the LCL
  13. Add non-native text support via pasfreetype

Parte 2: April, Mayo, Junio 2012:

  1. TButton improve the Android visual
  2. TBitBtn
  3. TRadioButton finish the native look
  4. 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
  5. MaskEdit
  6. Improve TComboBox
  7. TMemo
  8. TListView as a list with columns
  9. TMainMenu
  10. Database with sqlite
  11. Barcode reading
  12. Windows add-on installer