public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { mDbHelper.open(); Cursor v = mDbHelper.getVehicles(); v.moveToPosition(pos); int vNum = v.getInt(v.getColumnIndex(mDbHelper.KEY_ID)); fuelCursor = mDbHelper.fetchAllFuelByV(vNum); if (fuelCursor.getCount() > 2) { // set layout if (mLayout.getChildCount() > 0) { mLayout.removeAllViews(); } mLayout.addView( mChartView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); mCurrentCostSeries.clear(); mCurrentEffSeries.clear(); vehicleChange = true; // clear any existing labels // mRenderer.clearYTextLabels(); collectFuelStats(vNum, fuelCursor); drawChart(); vehicleChange = false; } else { mLayout.removeAllViews(); mDailyCost.setText(""); // no data. barf on user Toast.makeText( AnalyzeFuel.this, getApplicationContext().getResources().getString(R.string.nodata_ned), Toast.LENGTH_LONG) .show(); } mDbHelper.close(); }
private void initView(View view) { // TODO Auto-generated method stub mLightView = (TextView) view.findViewById(R.id.info_light_data); XYSeries series = new XYSeries(""); mDataset.addSeries(series); mCurrentSeries = series; XYSeriesRenderer renderer = new XYSeriesRenderer(); mRenderer.addSeriesRenderer(renderer); renderer.setPointStyle(PointStyle.CIRCLE); renderer.setFillPoints(true); renderer.setDisplayChartValues(true); renderer.setDisplayChartValuesDistance(20); renderer.setChartValuesTextSize(15); mCurrentRenderer = renderer; // set data mCurrentSeries.clear(); LinearLayout parentLayout = (LinearLayout) view.findViewById(R.id.chart_layout); mChartView = ChartFactory.getLineChartView(getActivity(), mDataset, mRenderer); parentLayout.addView( mChartView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); // 平均值 Date day = TimeController.getToday(); day = TimeController.getDayDiffDay(-6, day); for (int i = 1; i <= 7; i++) { mRenderer.addXTextLabel(i, TimeController.getDayString(day)); Integer light = getAverageLight(day); mCurrentSeries.add(i, light); day = TimeController.getTomorrow(day); } mChartView.repaint(); }
private void refreshChart() { // TODO Auto-generated method stub Float lightNum = collection.getLight(); int index = mDataCache.addLightData(lightNum); if (index == 1) { mCurrentSeries.clear(); } mCurrentSeries.add(index, lightNum); mChartView.repaint(); }
@Override public void onClick(View v) { // TODO Auto-generated method stub // call stop myService.stopProcessing(); tempUpdService.resetRunParams(); tempBar.setProgress(50); // for (int i = 0; i < 5; i++) tempValues[i] = -50.00; maxTempValue = 0; liveGraphXYSeries.clear(); }
private void getObservations(Integer patientId, String fieldName) { ClinicAdapter ca = new ClinicAdapter(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ca.open(); Cursor c = ca.fetchPatientObservation(patientId, fieldName); if (c != null && c.getCount() >= 0) { XYSeries series; if (mDataset.getSeriesCount() > 0) { series = mDataset.getSeriesAt(0); series.clear(); } else { series = new XYSeries(fieldName); mDataset.addSeries(series); } int valueIntIndex = c.getColumnIndex(ClinicAdapter.KEY_VALUE_INT); int valueNumericIndex = c.getColumnIndex(ClinicAdapter.KEY_VALUE_NUMERIC); int encounterDateIndex = c.getColumnIndex(ClinicAdapter.KEY_ENCOUNTER_DATE); int dataTypeIndex = c.getColumnIndex(ClinicAdapter.KEY_DATA_TYPE); do { try { Date encounterDate = df.parse(c.getString(encounterDateIndex)); int dataType = c.getInt(dataTypeIndex); double value; if (dataType == Constants.TYPE_INT) { value = c.getInt(valueIntIndex); series.add(encounterDate.getTime(), value); } else if (dataType == Constants.TYPE_DOUBLE) { value = c.getFloat(valueNumericIndex); series.add(encounterDate.getTime(), value); } } catch (ParseException e) { e.printStackTrace(); } } while (c.moveToNext()); } if (c != null) { c.close(); } ca.close(); }
private void initView(View view) { // TODO Auto-generated method stub mLightView = (TextView) view.findViewById(R.id.info_light_data); XYSeries series = new XYSeries(""); mDataset.addSeries(series); mCurrentSeries = series; XYSeriesRenderer renderer = new XYSeriesRenderer(); mRenderer.addSeriesRenderer(renderer); renderer.setPointStyle(PointStyle.CIRCLE); renderer.setFillPoints(true); renderer.setDisplayChartValues(true); renderer.setDisplayChartValuesDistance(20); renderer.setChartValuesTextSize(15); mCurrentRenderer = renderer; // set data mCurrentSeries.clear(); LinearLayout parentLayout = (LinearLayout) view.findViewById(R.id.chart_layout); mChartView = ChartFactory.getLineChartView(getActivity(), mDataset, mRenderer); parentLayout.addView( mChartView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); }
private void initLine(XYSeries series) { Random r = new Random(); xTemp = 0; yTemp = r.nextInt(100); count = series.getItemCount(); if (count > 10) { count = 10; } for (int i = 0; i < count; i++) { x[i] = series.getX(i); y[i] = series.getY(i); } series.clear(); series.add(xTemp, yTemp); for (int i = 0; i < count; i++) { series.add(x[i] + 1, y[i]); } }
private void updateUI() { Weather weather = sensor.getLatestWeatherObject(); if (weather != null) { humidity.setText(weather.getHumidity().toString()); barometric.setText(weather.getBarometricKPA().toString()); temperature.setText(weather.getTemperatureF().toString()); if (weather.getTemperatureF() != 0) { tempArray.add(weather.getTemperatureF()); if (tempArray.size() >= MAX_POINTS) { tempArray.remove(tempArray.size() - MAX_POINTS); } tempSeries.clear(); int j = 0; // zero base our index regardless of position for (Double point : tempArray) { tempSeries.add(j, point); j++; } Double value = weather.getTemperatureF(); if (tempMax - tempMin < 1) { tempMax = value + 1; tempMin = value - 1; tempRenderer.setYAxisMin(tempMin); tempRenderer.setYAxisMax(tempMax); } else { if (value < tempMin) { tempMin = value; tempRenderer.setYAxisMin(tempMin); } if (value > tempMax) { tempMax = value; tempRenderer.setYAxisMax(tempMax); } } tempChartView.repaint(); } if (weather.getHumidity() != 0) { humiArray.add(weather.getHumidity()); if (humiArray.size() >= MAX_POINTS) { humiArray.remove(humiArray.size() - MAX_POINTS); } humiSeries.clear(); int j = 0; // zero base our index regardless of position for (Double point : humiArray) { humiSeries.add(j, point); j++; } Double value = weather.getHumidity(); if (value < humiMin) { humiMin = value; humiRenderer.setYAxisMin(humiMin); } if (value > humiMax) { humiMax = value; humiRenderer.setYAxisMax(humiMax); } if (humiMin == humiMax) { humiMax = value + 1; humiMin = value - 1; humiRenderer.setYAxisMin(humiMin); humiRenderer.setYAxisMax(humiMax); } humiChartView.repaint(); } if (weather.getHumidity() != 0) { presArray.add(weather.getBarometricKPA()); if (presArray.size() >= MAX_POINTS) { presArray.remove(presArray.size() - MAX_POINTS); } presSeries.clear(); int j = 0; // zero base our index regardless of position for (Double point : presArray) { presSeries.add(j, point); j++; } Double value = weather.getBarometricKPA(); if (value < presMin) { presMin = value; presRenderer.setYAxisMin(presMin); } if (value > presMax) { presMax = value; presRenderer.setYAxisMax(presMax); } if (presMin == presMax) { presMax = value + 1; presMin = value - 1; presRenderer.setYAxisMin(presMin); presRenderer.setYAxisMax(presMax); } presChartView.repaint(); } } }
private void initBar(XYSeries series, double[] xValue, double[] yValue) { series.clear(); for (int i = 0; i < yValue.length; i++) { series.add(xValue[i], yValue[i]); } }