Guest User

Untitled

a guest
Dec 2nd, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.75 KB | None | 0 0
  1. package com.nicola.monitor_10;
  2.  
  3. import android.app.IntentService;
  4. import android.content.Intent;
  5. import android.hardware.Sensor;
  6. import android.hardware.SensorEvent;
  7. import android.hardware.SensorEventListener;
  8. import android.hardware.SensorManager;
  9. import android.net.Uri;
  10. import android.util.Log;
  11.  
  12. import java.util.ArrayList;
  13. import java.util.List;
  14.  
  15. /**
  16.  * Created by nicola on 21/11/16.
  17.  */
  18.  
  19. public class DataService extends IntentService  {
  20.  
  21.         private DbManager       db;
  22.         private boolean         trigger;
  23.         private MyLightSensor   myLightSensor;
  24.         private MyMotionSensor  myMotionSensor;
  25.  
  26.         //costruttore
  27.         public DataService() {
  28.             super("DataService");
  29.             db = new DbManager(this);
  30.             trigger = true;
  31.         }
  32.  
  33.  
  34.         /**
  35.          * Corpo principale dell'intent dove si orchestrano le acquisizioni e il delay
  36.          */
  37.         @Override
  38.         protected void onHandleIntent(Intent i) {
  39.  
  40.             initSensori();//inizializzo il SensorManager e dei vari sensori
  41.             while(trigger)
  42.             {
  43.  
  44.                 myLightSensor.registerLightSensor();
  45.                 myMotionSensor.registerMotionSensor();
  46.                 pause(500);//mezzo secondo per permetere di registrare corretamente i sensori
  47.  
  48.                 this.salva(myLightSensor.getValue() + " lux", myMotionSensor.getValue() + "m/s^2");
  49.  
  50.                 myLightSensor.unregisterLightSensor();
  51.                 myMotionSensor.unregisterMotionSensor();
  52.  
  53.                 pause(300000);//aspetto 5 minuti
  54.             }
  55.  
  56.         }
  57.  
  58.  
  59.         /*
  60.          * Le classi che astraggono i sensori devono essere NECESSARIAMENTE inizializzate dopo l'handelIntent perchè prima non vi è alcun Context nel quale
  61.          * l'intent adopera, di conseguenza non sono disponibili i servizi dei sensori
  62.          */
  63.         private void initSensori() {
  64.             SensorManager mymanager = (SensorManager) this.getSystemService(SENSOR_SERVICE);
  65.             myLightSensor  = new MyLightSensor(mymanager);
  66.             myMotionSensor = new MyMotionSensor(mymanager);
  67.         }
  68.  
  69.         @Override
  70.         public void onDestroy() {
  71.             MessageHelper.log("Data_SERVICE", "Distruzione Service");
  72.             trigger=false;
  73.             super.onDestroy();
  74.         }
  75.  
  76.  
  77.         private void pause(int milllisec) {
  78.             try {
  79.                 Thread.sleep(milllisec);
  80.             }
  81.             catch (InterruptedException e)
  82.             {
  83.                 e.printStackTrace();
  84.             }
  85.         }
  86.  
  87.         public void salva(String light,String movement)
  88.         {
  89.             //TODO sostituire le tre stringhe con dati veri!
  90.             db.save(light,movement,0,false,false);
  91.         }
  92.  
  93.  
  94. }
Add Comment
Please, Sign In to add comment