1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| public class recuperationJson extends AppCompatActivity implements getData.ReturnValue {
private getData data;
private JSONObject jObj = null;
private String json_string;
private String json_url = "http://192.168.0.16/projet/php/fichier.php";
final Handler handler = new Handler(); // Handler car une asynctask ne peut pas êtr eappelé par un autre thread que l'ui
Timer timer = new Timer();
private TextView Mpx, Al, Ar, Rds, Pilots, Frequence, Rf;
private int mpxInt, arInt, alInt, rdsInt, pilotsInt, frequenceInt, rfInt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
data = new getData(json_url);
data.setReturnListener(this);
data.execute((Void) null);
timer.schedule(MyTimerTask, 2000, 5000/*720000/*/);
Mpx = (TextView) findViewById(R.id.mpx);
Ar = (TextView) findViewById(R.id.ar);
Al = (TextView) findViewById(R.id.al);
Rds = (TextView) findViewById(R.id.rds);
Pilots = (TextView) findViewById(R.id.pilots);
Frequence = (TextView) findViewById(R.id.frequence);
Rf = (TextView) findViewById(R.id.rf);
}
@Override
public void renvoyerValeurString(String valeurARenvoyer) {
data = null;
//Ici je récupère directement mon json contenu dans la variable valeurARenvoyer
try {
// Json Object {}
/******************************************************************************/
//Insere les valeurs du json dans la classe valeur qui contient les get et set
String mpx, rds, al, ar, frequence, pilots, id, id_SIGFOX, timestamps, rf;
jObj = new JSONObject(valeurARenvoyer);
mpx = jObj.getString("MPX");//se place a l'endroit MPX du json et obtient le string apres les :
rds = jObj.getString("RDS");
rf = jObj.getString("RF");
frequence = jObj.getString("Frequence");
timestamps = jObj.getString("timestamp");
id = jObj.getString("id");
id_SIGFOX = jObj.getString("id_SIGFOX");
pilots = jObj.getString("PILOT");
al = jObj.getString("a_l");
ar = jObj.getString("a_r");
Valeur valeurs = new Valeur
(mpx, rds, al, ar, pilots, frequence, id, timestamps, id_SIGFOX, rf);
mpxInt = Integer.parseInt(valeurs.getMpx());
arInt = Integer.parseInt(valeurs.getAr());
alInt = Integer.parseInt(valeurs.getAl());
rdsInt = Integer.parseInt(valeurs.getRds());
rfInt = Integer.parseInt(valeurs.getRf());
frequenceInt = Integer.parseInt(valeurs.getFrequence());
pilotsInt = Integer.parseInt(valeurs.getPilots());
if (mpxInt <= 1 || mpxInt > 8) {
Mpx.setText(valeurs.getMpx());
Mpx.setText(valeurs.getMpx());
} else {
Mpx.setText(valeurs.getMpx());
Mpx.setTextColor(Color.parseColor("#DF0101"));//red
}
if (arInt < 5 || arInt > 50) {
Ar.setText(valeurs.getAr());
} else {
Ar.setText(valeurs.getAr());
Ar.setTextColor(Color.parseColor("#DF0101"));//red
}
if (alInt < 5 || alInt > 50) {
Al.setText(valeurs.getAl());
} else {
Al.setText(valeurs.getAl());
Al.setTextColor(Color.parseColor("#DF0101"));//red
}
if (rfInt < 5 || rfInt > 50) {
Rf.setText(valeurs.getRf());
} else {
Rf.setText(valeurs.getRf());
Rf.setTextColor(Color.parseColor("#DF0101"));//red
}
if (rdsInt < -40 || rdsInt > 50) {
Rds.setText(valeurs.getRds());
} else {
Rds.setText(valeurs.getRds());
Rds.setTextColor(Color.parseColor("#DF0101"));//red
}
if (pilotsInt < 5 || pilotsInt > 50) {
Pilots.setText(valeurs.getPilots());
} else {
Pilots.setText(valeurs.getPilots());
Pilots.setTextColor(Color.parseColor("#DF0101"));//red
}
if (frequenceInt < 5 || frequenceInt > 1035) {
Frequence.setText(valeurs.getFrequence());
} else {
Frequence.setText(valeurs.getFrequence());
Frequence.setTextColor(Color.parseColor("#DF0101"));//red
}
} catch (JSONException e) {
e.printStackTrace();
}
}
TimerTask MyTimerTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
data = new getData(json_url);
data.setReturnListener(recuperationJson.this);
// C'est cette asynctask qui gère toute la récup des données et l'affichage
data.execute((Void) null);
}
});
}
};
} |
Partager