1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. oetzi, 04.09.2011 #1
    oetzi

    oetzi Threadstarter Erfahrener Benutzer

    Hallo zusammen,

    ich arbeite mich gerade in die Anroid Programmierung ein und hänge gerade an Services. Leider bietet das Android Buch recht wenig Informationen über die genauen Abläufe, wer was wann wo aufruft. Darum durchblicke ich das ganze Service Konstrukt noch nicht wirklich, was natürlich die Fehlersuche start erschwert.

    Folgender Code scheint im Moment die Problemstelle zu sein. Das bindService() funktioniert wohl nicht. Es liefert immer false zurück.

    Code:
        @Override
        protected void onResume(){
            Log.d("DEBUG OUT", "ShowShoppingLists -> onResume");
            final Intent netzwerkIntent = new Intent(this, NetzwerkServiceImpl.class);
            boolean isConnected = bindService(netzwerkIntent, netzwerkServiceConnection, Context.BIND_AUTO_CREATE);
    //hier wird false ausgegeben
            Log.d("DEBUG OUT", "ShowShoppingLists -> onResume -> isConnected: "+ isConnected);        
            super.onResume();
        }
    Das hier ist meine ServiceConnection. Die onServiceConnected() Methode wird nie aufgerufen.
    Wann sollte diese Methode genau aufgerufen werden? Irgendwie automatisch von der onBind Methode oder?

    Code:
     private NetzwerkServiceImpl.NetzwerkBinderImpl netzwerkBinder;
        
        private ServiceConnection netzwerkServiceConnection = new ServiceConnection() {
            @Override
            public void onServiceConnected(ComponentName name, IBinder service) {
    //DIESE DEBUG ZEILE ERSCHEINT NICHT
                Log.d("DEBUG OUT", "ShowShoppingLists -> onServiceConnected");
                netzwerkBinder = (NetzwerkServiceImpl.NetzwerkBinderImpl)service;
                netzwerkBinder.tuIrgendwas(new Product(1, "Brot"));
            }        
            @Override
            public void onServiceDisconnected(ComponentName name) {
                Log.d("DEBUG OUT", "ShowShoppingLists -> onServiceDisconnected");
                
            }    
        };
    Hat jemand eine Idee, woran es liegen kann?

    Schönen Gruß,
    oetzi
     
  2. oetzi, 06.09.2011 #2
    oetzi

    oetzi Threadstarter Erfahrener Benutzer

    Keiner eine Idee...?

    Alternativ vielleicht einen Tipp für ein gutes(!) Tutorial zum Thema Services. Dann müsste ich es mir halt noch mal von vorne angucken.
     

Diese Seite empfehlen