Приложение вылетает при нажатии кнопки для подключения к Raspberry Pi - PullRequest
0 голосов
/ 30 мая 2018

Приложение вылетает, когда я нажимаю кнопку подключения к Raspberry Pi.Он печатает «Проверка инвентаря» в TextView, но сразу после этого вылетает и завершает программу на пи, так что я думаю, что проблема связана только с AsyncTask, но я не уверен.

вот мой код:

public class MainActivity extends AppCompatActivity {

    TextView results;

    public String response;

    private static final String TAG = "MainActivity";

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

        results = findViewById(R.id.countTextView);

        Button thingBtn = findViewById(R.id.thingBtn);


        thingBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                results.setText("Checking Inventory");
                new ConnectTask().execute();
            }
        });
    }

    public String Authentication = "we gucci";

    public class ConnectTask extends AsyncTask<String, Void, String>{
        @Override
        protected void onPreExecute() {
            Log.d(TAG, "AsyncTask starting");
            super.onPreExecute();
        }

        @Override
        protected String doInBackground(String... message) {
            try {
                Log.d(TAG, "Attempting to Connect to Socket");
                InetAddress serverAddress = InetAddress.getByName("192.168.1.11"); //must change later!!!
                Socket house = new Socket(serverAddress, 5060);
                Log.d(TAG, "Connected to Socket on (" + serverAddress + ", " + house.getPort());

                BufferedOutputStream bos =new BufferedOutputStream(house.getOutputStream());
                bos.write(Authentication.getBytes("UTF-8"));
                bos.flush();

                BufferedReader serverResponse = new BufferedReader(new InputStreamReader(house.getInputStream()));
                response = serverResponse.readLine();
                Log.d(TAG, "Server response: " + response);

                house.close();
                Log.d(TAG, "socket closed");

            }catch (IOException e) {
                System.exit(1);
            }
            return response;
        }

        @Override
        protected void onPostExecute(String response){
            Log.d(TAG, response);
            results.setText(response);   
        }
   }
}

в чем может быть причина и как это решить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...