안녕하세요..
제 질문은 아래와 같습니다.
프로그램이 시작되었을 때, 현재 페이지의 전역변수로 준 IP주소의 값을 통해서, 소켓을 열어서 입출력 스트림을
생성을 하게됩니다. 그리고 난 뒤에 다른 기능은 보실 필요가 없고, next 버튼을 클릭시에, 버튼이 잘 동작을 합니다.
그런데, 아래의 클래스와 같이 동일하게 구성된 페이지가 3개가 더 있고 각각의 버튼을 실행을 했을 경우에 잘
동작이 되지만 연달아서, 실행이 되질 않아서 글을 올립니다.
총 4개의 액티비티에 아래와 같이 4개의 next버튼이 있습니다. 그리고 액티비티간 이동을 하면서 next버튼을
한번씩 다 눌러주어야 하는데 이상하게도 3개의 액티비티에서 3개의 버튼을 누르고 난 뒤에 나머지 1개의
액티비티에서 버튼을 누르는 순간 그 버튼이 아무런 동작을 하지 않게 됩니다. 그래서 나머지 1개의 버튼이 제데로 동
작되는지 시험하기 위해서는 다시한번 어플리케이션을 종료하고, 켜서 확인을 해야합니다.( 이때 또한 3개의 버튼만
동작이 되고, 나머지 1개는 동작이 되질 않습니다). 아래의 에러와 같이, 소켓에 대한 문제라고 생각하는데..
어떻게 해야 이 문제를 해결할수 있을지 모르겠습니다 ..ㅠㅠ 오늘안에 이걸 꼭 해결을 하지 못하면
저는 죽은목숨과 다름이 없는데.. 저에게 .. 구원의 동아줄을.. 부탁드립니다 ㅠ
소스가 좀 추가되는 부분은, 아래의 댓글부분에 이어서 붙여보겠습니다.
로그부분에서는 아래의 두 줄을 가리키고 있으며 그 아래는 에러에 대한 내용입니다.
socket=new Socket(ip,4251);
Toast.makeText(customer_access2.this, "IP가 맞지 않습니다.", Toast.LENGTH_SHORT).show();
E/AndroidRuntime: FATAL EXCEPTION: Thread-2512
Process: ex.nohuman, PID: 22267
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.<init>(Handler.java:200)
at android.os.Handler.<init>(Handler.java:114)
at android.widget.Toast$TN.<init>(Toast.java:367)
at android.widget.Toast.<init>(Toast.java:113)
at android.widget.Toast.makeText(Toast.java:271)
at ex.nohuman.customer_access2.run(customer_access2.java:149)
at java.lang.Thread.run(Thread.java:831)
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
public class customer_access extends ParentActivity implements Runnable{
Button previous, open;
ImageButton customer_service, mypage;
boolean isActivityRun = true;
Toolbar toolbar;
private Socket socket;
private DataInputStream dataInputStream;
private DataOutputStream dataOutputStream;
private byte[] buffer;
private Thread thread;
private String ip="192.168.11.6";
private Button transferButton;
private Button SmallButton1;
private Button SmallButton2;