Intereting Posts
Формат Float до n знаков после запятой Получить реферер после установки приложения из Android Маркета ADT R22 – Proguard – не может найти ссылочный класс Фрагментировать или не фрагментировать? Не удается найти менеджера AVD или SDK в Eclipse Как вызвать веб-службу .NET с Android? Мне нужно показать PDF, в котором текст pdf будет автоматически соответствовать ширине экрана, а оставшийся текст переместится на следующую строку Android.view.InflateException: двоичная строка XML-файла # 33: ошибка раздувания класса Как отфильтровать результаты поиска контента в андроиде? Ускоритель эмулятора Intel X86 (установщик HAXM) VT / NX не включен Android OkHttp, обновленный токен обновления Как добавить источник + javadoc для android-support-v7? Лучшая практика для хранения частных ключей API в Android Как остановить Proguard от удаления параметров типа? Как я могу сделать свои пользовательские объекты Parcelable?

Динамическая диаграмма Android

Привет, разработчики Android. В настоящее время я работаю над одним графическим графическим приложением, и я рисую диаграмму с помощью блога jjoe64. Но теперь я собираюсь реализовать график реального времени. Например, график автоматически нарисовывается на поверхности каждую секунду или минуту, как только они делали изменения на стороне сервера. Может ли кто-либо реализовать эту задачу. Пожалуйста, помогите мне в этом.

Solutions Collecting From Web of "Динамическая диаграмма Android"

Хорошо, я настоятельно рекомендую использовать AChartEngine. Он бесплатный, легкий и поддерживает множество типов диаграмм, диаграмм и т. Д. Что касается динамического обновления диаграммы, я достиг этого, добавляя значения в отдельный поток. Вот мой пример, это ничего необычного:

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); } } 

Добавьте свои собственные значения в поток. Возможно, вы захотите взглянуть на использование библиотеки AChartEngine. Счастливое кодирование!