Search code examples
javaandroidxmppsmack

cannot resolve symbol 'connect'


what is the problem here ? why i get always cannot resolve symbol 'connect'. i got this code from the documentation and my depencies are alle correct.

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import org.jivesoftware.smack.AbstractXMPPConnection;
import org.jivesoftware.smack.tcp.XMPPTCPConnection;

public class MainActivity extends AppCompatActivity {
    AbstractXMPPConnection conn1 = new XMPPTCPConnection("username", "password" ,"jabber.org");
conn1.connect();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Solution

  • You can not do this:

    public class MainActivity extends AppCompatActivity {
        AbstractXMPPConnection conn1 = new XMPPTCPConnection("username", "password" ,"jabber.org");
    conn1.connect();
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    

    because conn1.connect() is not invoked in a valid scope...(should be done inside a method) instead do

    public class MainActivity extends AppCompatActivity {
        AbstractXMPPConnection conn1 = new XMPPTCPConnection("username", "password" ,"jabber.org");
    
         public void connectToSomething()   ... some exceptions here must be thrown{
    
              conn1.connect();
        }    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
        }
    }