один socket для всех activity

Ответить
orewka
Сообщения: 1
Зарегистрирован: 29 янв 2020, 19:12

один socket для всех activity

Сообщение orewka » 29 янв 2020, 19:16

Помогите пожалуйста, уже 3 день ломаю, написал сервис, чтобы в нем хранился socket для всего приложения а при вызове метода onStartCommand пишет что dataoutputstream null, что делать?

package com.example.myapplication;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

import androidx.annotation.Nullable;

import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;

public class MyService extends Service {
Socket socket;
DataOutputStream dataOutputStream;
@Override
public void onCreate() {
thread.start();
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
try {
dataOutputStream.writeChar('a');
dataOutputStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
return super.onStartCommand(intent, flags, startId);
}

@Override
public void onDestroy() {
try {
dataOutputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}

@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}

Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
socket = new Socket("10.0.2.2", 56);
dataOutputStream = new DataOutputStream(socket.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
}
});
}

Ответить