Android Open Source - interdroid-swan Sensor Viewer Activity






From Project

Back to project page interdroid-swan.

License

The source code is released under:

Copyright (c) 2008-2011 Vrije Universiteit, The Netherlands All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the follo...

If you think the Android project interdroid-swan listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package interdroid.swan.engine;
/*from www . ja va  2s . com*/
import interdroid.swan.R;

import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import android.app.ListActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.content.LocalBroadcastManager;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class SensorViewerActivity extends ListActivity {

  private List<Bundle> mSensors = new ArrayList<Bundle>();
  private SensorAdapter mAdapter = new SensorAdapter();
  private BroadcastReceiver mUpdateReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
      // get the data stuff it in the base adapter
      Parcelable[] sensors = intent.getParcelableArrayExtra("sensors");
      mSensors.clear();
      for (Parcelable sensor : sensors) {
        mSensors.add((Bundle) sensor);
      }
      mAdapter.notifyDataSetChanged();
    }
  };

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(mAdapter);
  }

  @Override
  protected void onResume() {
    runOnUiThread(new Runnable() {
      public void run() {
        Toast.makeText(SensorViewerActivity.this,
            "updating with service", Toast.LENGTH_SHORT).show();
      }
    });
    LocalBroadcastManager.getInstance(this).registerReceiver(
        mUpdateReceiver,
        new IntentFilter(EvaluationEngineService.UPDATE_SENSORS));
    // let the service know that we want to get updates...
    startService(new Intent(EvaluationEngineService.UPDATE_SENSORS)
        .setClass(this, EvaluationEngineService.class));
    super.onResume();
  }

  @Override
  protected void onPause() {
    LocalBroadcastManager.getInstance(this).unregisterReceiver(
        mUpdateReceiver);
    super.onPause();
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.sensorviewer, menu);
    return true;
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.action_refresh:
      startService(new Intent(EvaluationEngineService.UPDATE_SENSORS)
          .setClass(this, EvaluationEngineService.class));
      break;
    case R.id.expression_viewer:
      this.finish();
      break;
    default:
      break;
    }
    return super.onOptionsItemSelected(item);
  }

  class SensorAdapter extends BaseAdapter {

    @Override
    public int getCount() {
      return mSensors.size();
    }

    @Override
    public Object getItem(int position) {
      return mSensors.get(position);
    }

    @Override
    public long getItemId(int position) {
      return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
      // check als je hier komt of niet, met system.out.println
      if (convertView == null) {
        convertView = LayoutInflater.from(SensorViewerActivity.this)
            .inflate(R.layout.sensor_viewer, null);
      }
      //Sensor name
      ((TextView) ((LinearLayout) convertView)
          .findViewById(R.id.sensorName)).setText(mSensors.get(
          position).getString("name"));
      
      //Number of Registered ID using this sensor
      ((TextView) ((LinearLayout) convertView)
          .findViewById(R.id.registeredIds)).setText(" ("
          + mSensors.get(position).getInt("registeredids") + ")");

      //Start time of sensor
        Date date = new Date(mSensors.get(position).getLong("starttime"));
        Format format = new SimpleDateFormat("HH:mm:ss dd/MM/yyyy");
      
      ((TextView) ((LinearLayout) convertView)
          .findViewById(R.id.startTime)).setText("" + format.format(date).toString());
      
      //Sensing rate
      ((TextView) ((LinearLayout) convertView)
          .findViewById(R.id.sensingRate)).setText(String.format(
          "%.2f", mSensors.get(position).getDouble("sensingRate"))
          + " Hz");
      
      //current milli ampere
      ((TextView) ((LinearLayout) convertView)
          .findViewById(R.id.currentMilliAmpere)).setText(mSensors.get(position).getFloat("currentMilliAmpere")
          + " mA");
      
      //current Watt
      ((TextView) ((LinearLayout) convertView)
          .findViewById(R.id.currentWatt)).setText((4 * mSensors.get(position).getFloat("currentMilliAmpere"))
          + " mW");
      
      //percentage per hour mA
      int batteryMah = 1780;
      ((TextView) ((LinearLayout) convertView)
          .findViewById(R.id.percentageHour)).setText(String.format("%.3f", 100 / (batteryMah / mSensors.get(position).getFloat("currentMilliAmpere")))
          + " %/hr");
      

      return convertView;
    }
  }
}




Java Source Code List

interdroid.swan.ExpressionListener.java
interdroid.swan.ExpressionManager.java
interdroid.swan.SensorConfigurationException.java
interdroid.swan.SensorInfo.java
interdroid.swan.SwanException.java
interdroid.swan.TriStateExpressionListener.java
interdroid.swan.ValueExpressionListener.java
interdroid.swan.crossdevice.Converter.java
interdroid.swan.crossdevice.CrossDeviceReceiver.java
interdroid.swan.crossdevice.Pusher.java
interdroid.swan.crossdevice.Registry.java
interdroid.swan.crossdevice.SwanGCMConstants.java
interdroid.swan.crossdevice.SwanLakeActivity.java
interdroid.swan.engine.EvaluationEngineReceiver.java
interdroid.swan.engine.EvaluationEngineService.java
interdroid.swan.engine.EvaluationManager.java
interdroid.swan.engine.ExpressionViewerActivity.java
interdroid.swan.engine.QueuedExpression.java
interdroid.swan.engine.SensorSetupFailedException.java
interdroid.swan.engine.SensorViewerActivity.java
interdroid.swan.engine.TextProgressBar.java
interdroid.swan.sensors.AbstractConfigurationActivity.java
interdroid.swan.sensors.AbstractCuckooSensor.java
interdroid.swan.sensors.AbstractMemorySensor.java
interdroid.swan.sensors.AbstractSensorBase.java
interdroid.swan.sensors.AbstractVdbSensor.java
interdroid.swan.sensors.MonitorThread.java
interdroid.swan.sensors.SensorInterface.java
interdroid.swan.sensors.TimeSensor.java
interdroid.swan.sensors.impl.BatterySensor.java
interdroid.swan.sensors.impl.BluetoothSensor.java
interdroid.swan.sensors.impl.CalendarSensor.java
interdroid.swan.sensors.impl.CallSensor.java
interdroid.swan.sensors.impl.GyroscopeSensor.java
interdroid.swan.sensors.impl.IntentSensor.java
interdroid.swan.sensors.impl.LightSensor.java
interdroid.swan.sensors.impl.LocationSensor.java
interdroid.swan.sensors.impl.LogCatSensor.java
interdroid.swan.sensors.impl.MagnetometerSensor.java
interdroid.swan.sensors.impl.MovementSensor.java
interdroid.swan.sensors.impl.PolarHeartRate.java
interdroid.swan.sensors.impl.PressureSensor.java
interdroid.swan.sensors.impl.ProximitySensor.java
interdroid.swan.sensors.impl.ScreenSensor.java
interdroid.swan.sensors.impl.SignalStrengthSensor.java
interdroid.swan.sensors.impl.SmartLocationSensor.java
interdroid.swan.sensors.impl.SoundSensor.java
interdroid.swan.sensors.impl.TemperatureSensor.java
interdroid.swan.sensors.impl.TwitterSensor.java
interdroid.swan.sensors.impl.WifiSensor.java
interdroid.swan.sensors.impl.package-info.java
interdroid.swan.swansong.BinaryLogicOperator.java
interdroid.swan.swansong.ComparatorResult.java
interdroid.swan.swansong.Comparator.java
interdroid.swan.swansong.ComparisonExpression.java
interdroid.swan.swansong.ConstantValueExpression.java
interdroid.swan.swansong.ExpressionFactory.java
interdroid.swan.swansong.ExpressionParseException.java
interdroid.swan.swansong.Expression.java
interdroid.swan.swansong.HistoryReductionMode.java
interdroid.swan.swansong.LogicExpression.java
interdroid.swan.swansong.LogicOperator.java
interdroid.swan.swansong.MathOperator.java
interdroid.swan.swansong.MathValueExpression.java
interdroid.swan.swansong.ParseableEnum.java
interdroid.swan.swansong.Parseable.java
interdroid.swan.swansong.Result.java
interdroid.swan.swansong.SensorValueExpression.java
interdroid.swan.swansong.TimestampedValue.java
interdroid.swan.swansong.TriStateExpression.java
interdroid.swan.swansong.TriState.java
interdroid.swan.swansong.UnaryLogicOperator.java
interdroid.swan.swansong.ValueExpression.java
interdroid.swan.ui.EnterConstantDialog.java
interdroid.swan.ui.ExpressionBuilderActivity.java
interdroid.swan.ui.LaunchService.java
interdroid.swan.ui.MergeExpressionDialog.java
interdroid.swan.ui.NewExpressionDialog.java
interdroid.swan.ui.NewMathExpressionDialog.java
interdroid.swan.ui.SelectComparatorDialog.java
interdroid.swan.ui.SelectExpressionDialog.java
interdroid.swan.ui.SelectOperatorDialog.java
interdroid.swan.ui.SelectSensorDialog.java
interdroid.swan.ui.SelectTypedValueDialog.java
interdroid.swan.ui.package-info.java
interdroid.swan.util.SeekBarPreference.java
interdroid.swan.util.TimePreference.java