При использовании in
и out
в классе MainActivity приложение закрывается.
Если использовать их напрямую в методе OnCreate ()
всё работает, но когда используется в потоках ничего не работает.
package com.example.clients;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView out;
TextView in;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
out = (TextView)findViewById(R.id.out);
in = (TextView)findViewById(R.id.In);
}
Connection mSocket = new Connection();
public void OnClickConnection(View view){
new Thread(new Runnable() {
@Override
public void run() {
mSocket.openConnect();
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
while(true){
out.setText(mSocket.message());
}}
}).start();
}
public void OnClickDisconnection(View view){
mSocket.closeConnect();
}
public void OnRecieve(View view){
mSocket.Recieve(in.getText().toString());
}
}
Класс Connection:
package com.example.clients;
import android.content.Context;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
import java.nio.charset.Charset;
public class Connection {
private String IpAdd = "25.31.107.195";
Toast toast;
private int port = 6988;
private Socket socket;
public Connection(){}
public void openConnect(){
closeConnect();
try{
socket = new Socket(IpAdd,port);
}catch(IOException e){}
}
public void closeConnect() {
if ((socket != null)&&(!socket.isClosed())){
try {
socket.close();
}catch(IOException e){}
}
}
public String message(){
String msg=null;
try {
BufferedReader in;
in = new BufferedReader(new InputStreamReader(socket.getInputStream(), Charset.forName("UTF-8")));
msg = in.readLine();
}catch(IOException e){}
return msg;
}
public void Recieve(String msg) {
byte[] value = msg.getBytes();
try {
socket.getOutputStream().write(value);
socket.getOutputStream().flush();
}catch(IOException e){}
}
}
Приложение должно принимать данные от сервера и отправлять их ему. Надеюсь проблему объяснил хорошо и понятно.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как сделать так чтобы фигуры тетриса опускались вниз с использованием libgdx Eclipse? Фигурки сами рендерятсяНо двигаться вниз не желают
Вопрос про вывод чисел КаталанаКод написан для решения вот этой задачи Правильная скобочная последовательность
имеется программа, цель которой собирать данные о процессоре, видеокарте, ЖД и дрЕсть блок switch:
(!) В чем проблема: Не применяется css staticfile на локальном сервере1) HTML5 код: