Bonjour à tous,
Voilà j'ai un problème que je n'arrive pas à résoudre.
Théorie :
J'ai crée une classe NetworkService héritant de Service qui s'occupe de toutes les actions liées au réseau. Connection / Déconnection / Requête / etc..
J'aimerai pouvoir binder cette classe à toutes les activités de mon application, pour que chacune puisse faires des requêtes sur le serveur distant.
Pratique :
Première Activité
Deuxième Activité
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 private INetwork iNetwork; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.displayList(); this.bindService(new Intent(Welcome.this,NetworkService.class), mConnection, Context.BIND_AUTO_CREATE); } private ServiceConnection mConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName arg0, IBinder service) { Log.e("---->", "Entrer dans onServiceConnected"); iNetwork = INetwork.Stub.asInterface(service); } @Override public void onServiceDisconnected(ComponentName arg0) { Log.e("", "Interface Disconnected"); } };
Chaque fois que j'essaie de me servir dans ma deuxième activité, d'une fonction de mon service, mon application crash.
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 private INetwork iNetwork; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.bindService(new Intent(Video.this,NetworkService.class), mConnection, Context.BIND_AUTO_CREATE); TextView textview = new TextView(this); textview.setText("This is the Video tab"); setContentView(textview); } private ServiceConnection mConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName arg0, IBinder service) { Log.e("---->", "Entrer dans onServiceConnected"); iNetwork = INetwork.Stub.asInterface(service); } @Override public void onServiceDisconnected(ComponentName arg0) { Log.e("", "Interface Disconnected"); } };
Quelqu'un serait il pourquoi ? Peut être que je m'y prend mal même en théorie.
Je suis ouvert à toutes vos propositions.
Merci d'avance.
Partager