Tabla Dinámica de Android
Hola desarrolladores de Android, Actualmente estoy trabajando en una aplicación de gráfico de base financiera, y dibujo el gráfico con la ayuda de jjoe64 blog. Pero ahora voy a implementar gráfico en tiempo real. Por ejemplo el gráfico se dibuja automáticamente en la superficie cada uno o cada segundo o un mínimo una vez hecho cambios en el lado del servidor. Cualquiera puede implementar este tipo de tarea. Por favor ayúdame sobre esto.
- Perforar un agujero en una superposición de rectángulo con aceleración HW activada en Ver
- Cómo cambiar el tamaño de Bitmaps de la manera óptima en Android?
- Prácticas recomendadas para rectángulos redondeados en OpenGL ES
- Medición de la altura del texto a dibujar en lienzo (Android)
- La pintura con libgdx hace que los objetos parpadeen
- Explicación de Android Xfermode
- Rutas de dibujo y aceleración de hardware
- Imagen circular seleccionable como Google+
- Creación de un parche 9 dibujable en tiempo de ejecución
- ¿Una función sdk nativa para escalar Bitmap?
- Cómo utilizar las cámaras LibGDX con Box2D Debug Renderers
- Rotar imagen de arrastre de zoom en la vista de imagen de android
- Dibujar mapa de bits en el clip actual en el lienzo con borde (Pintura)
Ok, recomiendo encarecidamente utilizar AChartEngine. Es libre, ligero y soporta muchos tipos de gráfico de tarta, gráfico, etc Como a punto de actualizar dinámicamente la tabla i logrado esto mediante la adición de valores en un hilo separado.Aquí está mi ejemplo, no es nada extravagante:
package my.pack; import java.util.Date; import java.util.Random; import org.achartengine.ChartFactory; import org.achartengine.GraphicalView; import org.achartengine.chart.PointStyle; import org.achartengine.model.TimeSeries; import org.achartengine.model.XYMultipleSeriesDataset; import org.achartengine.renderer.XYMultipleSeriesRenderer; import org.achartengine.renderer.XYSeriesRenderer; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; public class ChartsActivity extends Activity { private static Random random = new Random(); private static TimeSeries timeSeries; private static XYMultipleSeriesDataset dataset; private static XYMultipleSeriesRenderer renderer; private static XYSeriesRenderer rendererSeries; private static GraphicalView view; private static Thread mThread; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); dataset = new XYMultipleSeriesDataset(); renderer = new XYMultipleSeriesRenderer(); renderer.setAxesColor(Color.BLUE); renderer.setAxisTitleTextSize(16); renderer.setChartTitle("Time"); renderer.setChartTitleTextSize(15); renderer.setFitLegend(true); renderer.setGridColor(Color.LTGRAY); renderer.setPanEnabled(true, true); renderer.setPointSize(10); renderer.setXTitle("Time"); renderer.setYTitle("Number"); renderer.setMargins( new int []{20, 30, 15, 0}); renderer.setZoomButtonsVisible(true); renderer.setBarSpacing(10); renderer.setShowGrid(true); rendererSeries = new XYSeriesRenderer(); rendererSeries.setColor(Color.RED); renderer.addSeriesRenderer(rendererSeries); rendererSeries.setFillPoints(true); rendererSeries.setPointStyle(PointStyle.CIRCLE); timeSeries = new TimeSeries("Random"); mThread = new Thread(){ public void run(){ while(true){ try { Thread.sleep(2000L); } catch (InterruptedException e) { e.printStackTrace(); } timeSeries.add(new Date(), random.nextInt(10)); view.repaint(); } } }; mThread.start(); } @Override protected void onStart() { super.onStart(); dataset.addSeries(timeSeries); view = ChartFactory.getTimeChartView(this, dataset, renderer, "Test"); view.refreshDrawableState(); view.repaint(); setContentView(view); } }
Agregue sus propios valores al hilo. Puede que desee echar un vistazo a cómo utilizar la biblioteca AChartEngine. Codificación feliz!
- Html de Webview Hacer clic en el botón de detección en la actividad (código java)
- Botón de inicio deshabilitado