마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

정말 모르겠습니다.. 한번만 살려주세요.. 살고싶습니다. [closed]

0 추천

 

안녕하세요..

제 질문은 아래와 같습니다.

 

프로그램이 시작되었을 때, 현재 페이지의 전역변수로 준 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;
   

 

질문을 종료한 이유: 에고..에고..에고..에고..에고..에고..에고..에고..에고..에고..에고..에고..에고..에고..
공산당 (1,960 포인트) 님이 2016년 11월 27일 질문
공산당님이 2016년 11월 28일 closed
...