Приложение вылетает, когда я нажимаю кнопку подключения к 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);
}
}
}
в чем может быть причина и как это решить?