0

I made SSH connection app which allow me to connect to server by button. I made class LoginData.java where I stored IP, username, password and port. In MainActivity.java I'm trying to set variables to LoginData.java and get from it to Menu.java but I get null. How can I fix that ?

There is LoginData.java

public class LoginData {

String ip ;
String username ;
String password ;
int port = 22;

public String getIp() {
    return ip;
}

public void setIp(String ip) {
    this.ip = ip;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

public int getPort() {
    return port;
}

public void setPort(int port) {
    this.port = port;
}


}

MainActivity.java

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.example.admin.sshconnect.connect.LoginData;

 public class MainActivity extends AppCompatActivity {

    EditText editTextIp ;
    EditText editTextUsername;
    EditText editTextPassword;
    EditText editTextPort;

    TextView textView;

    LoginData lg = new LoginData();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = (Button) findViewById(R.id.button_conenct);

        editTextIp = (EditText)findViewById(R.id.edit_text_ip);
        editTextUsername = (EditText)findViewById(R.id.edit_text_username);
        editTextPassword = (EditText)findViewById(R.id.edit_text_password);
        editTextPort = (EditText)findViewById(R.id.edit_text_port);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                lg.setIp(editTextIp.getText().toString());
                lg.setUsername(editTextUsername.getText().toString());
                lg.setPassword(editTextPassword.getText().toString());
                lg.setPort(Integer.parseInt(editTextPort.getText().toString()));

                Intent menu_activity = new Intent(getApplicationContext(), Menu.class);
                startActivity(menu_activity);
            }
        });

        Button btn2 = (Button)findViewById(R.id.button_check);

        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                textView = (TextView)findViewById(R.id.text_view);
                textView.setText(editTextIp.getText().toString() + "" + editTextUsername.getText().toString() + editTextPassword.getText().toString()
                        + editTextPort.getText().toString());
            }
        });


    }
}

Menu.java

import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import com.example.admin.sshconnect.connect.LoginData;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

import java.io.ByteArrayOutputStream;
import java.util.Properties;

public class Menu extends AppCompatActivity {

    LoginData lg = new LoginData();
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);

        textView = (TextView)findViewById(R.id.text_view);
        textView.setText(lg.getIp() + "" + lg.getUsername() + lg.getPassword() + lg.getPort());

        new AsyncTask<Integer, Void, Void>(){
            @Override
            protected Void doInBackground(Integer... params) {
                try {
                    executeRemoteCommand(lg.getUsername(), lg.getPassword(),lg.getIp(), lg.getPort());
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }
        }.execute(1);

    }

    public static String executeRemoteCommand(String username,String password,String hostname,int port)
            throws Exception {
        JSch jsch = new JSch();
        Session session = jsch.getSession(username, hostname, port);
        session.setPassword(password);

        // Avoid asking for key confirmation
        Properties prop = new Properties();
        prop.put("StrictHostKeyChecking", "no");
        session.setConfig(prop);

        session.connect();

        // SSH Channel
        ChannelExec channelssh = (ChannelExec)
                session.openChannel("exec");
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        channelssh.setOutputStream(baos);

        // Execute command
        channelssh.setCommand("reboot");
        channelssh.connect();
        channelssh.disconnect();

        return baos.toString();
    }
}
OneCricketeer
  • 179,855
  • 19
  • 132
  • 245
droho
  • 61
  • 10

0 Answers0