Bonsoir
Voila je fais appelle a vous car je n'arrive pas a trouver la solution enfaîte je code en ce moment un projet qui a pour but de rapatrier des mesures depuis un serveur.
Mon problème est que j'aimerais que mon code sois vraiment séparer entre chaque classe et que j'arrive a faire passer les variables entre les classes pour que celle ci devienne communne aux classes.
De plus ceci me permettra de pas tout coder dans le même fichier java !

Ceci dit ,je n'y arrive pas (j'arrive bien a obtenir mon flux json mais pas dans la classe que je veux ! ) donc en faite ma véritable question est comment faire pour faire en sorte que une variable prenne la valeur de la fonction de la classe et que celle ci sois "partagé" pour les autres classes?

je vous montre mon code (ici j'essais de faire passer la variable JsonParsing2 dans le oncreate et non dans la méthode onPostExecute de la classe BackgroundTask)(je fais la connection a mon serveur je lis les lignes et j'obtiens son flux json qui doit être appelé dans le oncreate).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
public class MainActivity extends AppCompatActivity {
    String JSON_STRING;
    String json_string;
    String json_Parsing;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        new BackgroundTask().execute();
        TextView textView = (TextView) findViewById(R.id.textView2);
 
 
        textView.setText(json_Parsing2);
 
 
    }
   public void getJSON(View view) {
 
        new BackgroundTask().execute();
   }
 
    public class BackgroundTask extends AsyncTask<Void, Void, String> {
        String json_url;
        String json_Parsing2=null;
        @Override
        protected void onPreExecute() {
            json_url = "http://192.168.0.16/projet/php/fichier.php";
        }
        @Override
        protected String doInBackground(Void... params) {
 
            try {
                URL url = new URL(json_url);
                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                StringBuilder stringBuilder = new StringBuilder();
                while ((JSON_STRING = bufferedReader.readLine()) != null) {
                    stringBuilder.append(JSON_STRING + "\n");
                }
 
                bufferedReader.close();
                inputStream.close();
 
                httpURLConnection.disconnect();
                json_Parsing2=stringBuilder.toString();
 
                return stringBuilder.toString();
 
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return json_Parsing2;
 
 
        }
 
        @Override
        protected void onProgressUpdate(Void... values) {
            super.onProgressUpdate(values);
 
        }
 
        @Override
        protected void onPostExecute(String result) {
            //TextView textView = (TextView) findViewById(R.id.textView2);
            //textView.setText(result);
            json_Parsing=result;
 
        }
 
    }
 
 
 
 
   /* public void parseJSON(View view) {
        if(json_string==null)
        {
            Toast.makeText(getApplicationContext(),"First get json",Toast.LENGTH_LONG).show();
 
 
        }
 
        else {
 
            Intent intent=new Intent(this,MainActivity.class);
            intent.putExtra("json_data",json_string);
            startActivity(intent);
        }
        }*/
    /*public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
 
 
 
            case R.id.warning:
                Intent intent = new Intent(MainActivity.this, popUp.class);
                startActivity(intent);
                return true;
            case R.id.localiser:
 
 
                return true;
 
            case R.id.station:
                return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //ajoute les entrées de menu_test à l'ActionBar
        getMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }*/
 
    }